From 5a834c2b861e91524eff055e87e86c689fa6eef5 Mon Sep 17 00:00:00 2001 From: codemanyak Date: Thu, 21 Mar 2024 03:08:36 +0100 Subject: [PATCH] Revision and extension of bugfix #1136 --- src/lu/fisch/structorizer/gui/changelog.txt | 1 + .../structorizer/parsers/JavaParser.java | 811 +++++++++--------- src/lu/fisch/structorizer/parsers/JavaSE8.egt | Bin 311670 -> 311734 bytes src/lu/fisch/structorizer/parsers/JavaSE8.grm | 3 +- 4 files changed, 405 insertions(+), 410 deletions(-) diff --git a/src/lu/fisch/structorizer/gui/changelog.txt b/src/lu/fisch/structorizer/gui/changelog.txt index f9ee62f3..215ab5e4 100644 --- a/src/lu/fisch/structorizer/gui/changelog.txt +++ b/src/lu/fisch/structorizer/gui/changelog.txt @@ -220,6 +220,7 @@ Current development version 3.32-19 (2024-03-21) - 18: Bugfix #1145 Java import crashed when source file contains two or more classes / interfaces / enumerators on top level <2> - 18: Bugfix #1146: Wrong/awkward Oberon export of Alternatives [K.-P. R.]2 +- 19: Bugfix #1136 revised ('?' now generally accepted as type parameter) <2> - 19: Issue #1148: Special indentation on exporting IF ELSE IF chains to C, C++, C#, Java, Javascript, modern BASIC, Perl, PHP <2> - 19: Bugfix #1149: Selection in Code Preview missed to update buttons <2> diff --git a/src/lu/fisch/structorizer/parsers/JavaParser.java b/src/lu/fisch/structorizer/parsers/JavaParser.java index 2b4b3b50..c9896ed6 100644 --- a/src/lu/fisch/structorizer/parsers/JavaParser.java +++ b/src/lu/fisch/structorizer/parsers/JavaParser.java @@ -70,6 +70,7 @@ * Kay Gürtzig 2024-03-18 Bugfix #1143: {@code } unduly required modifiers, * bugfix #1145: Crash with more than 1 class / interface on top level * Kay Gürtzig 2024-03-20 Bugfix #1150: RuleConstants adapted to new grammar version 0.9 + * Kay Gürtzig 2024-03-21 Bugfix #1136 revision (type parameter "?" is now accepted by the grammar) * ****************************************************************************************************** * @@ -564,399 +565,400 @@ private interface RuleConstants // final int PROD_WILDCARDBOUNDSOPT_SUPER = 72; // ::= super // final int PROD_WILDCARDBOUNDSOPT = 73; // ::= // final int PROD_TYPEPARAMETER_IDENTIFIER = 74; // ::= Identifier -// final int PROD_TYPEBOUNDOPT_EXTENDS = 75; // ::= extends -// final int PROD_TYPEBOUNDOPT_EXTENDS2 = 76; // ::= extends -// final int PROD_TYPEBOUNDOPT = 77; // ::= -// final int PROD_ADDITIONALBOUNDOPT_AMP = 78; // ::= '&' -// final int PROD_ADDITIONALBOUNDOPT = 79; // ::= -// final int PROD_COMPILATIONUNIT = 80; // ::= -// final int PROD_COMPILATIONUNIT2 = 81; // ::= -// final int PROD_COMPILATIONUNIT3 = 82; // ::= -// final int PROD_COMPILATIONUNIT4 = 83; // ::= -// final int PROD_COMPILATIONUNIT5 = 84; // ::= -// final int PROD_COMPILATIONUNIT6 = 85; // ::= -// final int PROD_COMPILATIONUNIT7 = 86; // ::= -// final int PROD_COMPILATIONUNIT8 = 87; // ::= -// final int PROD_IMPORTDECLARATIONS = 88; // ::= -// final int PROD_IMPORTDECLARATIONS2 = 89; // ::= -// final int PROD_TYPEDECLARATIONS = 90; // ::= -// final int PROD_TYPEDECLARATIONS2 = 91; // ::= - final int PROD_PACKAGEDECLARATION_PACKAGE_SEMI = 92; // ::= package ';' -// final int PROD_IMPORTDECLARATION = 93; // ::= -// final int PROD_IMPORTDECLARATION2 = 94; // ::= -// final int PROD_IMPORTDECLARATION3 = 95; // ::= -// final int PROD_IMPORTDECLARATION4 = 96; // ::= - final int PROD_SINGLETYPEIMPORTDECLARATION_IMPORT_SEMI = 97; // ::= import ';' - final int PROD_TYPEIMPORTONDEMANDDECLARATION_IMPORT_DOT_TIMES_SEMI = 98; // ::= import '.' '*' ';' - final int PROD_SINGLESTATICIMPORTDECLARATION_IMPORT_STATIC_SEMI = 99; // ::= import static ';' - final int PROD_STATICIMPORTONDEMANDDECLARATION_IMPORT_STATIC_DOT_TIMES_SEMI = 100; // ::= import static '.' '*' ';' -// final int PROD_TYPEDECLARATION = 101; // ::= -// final int PROD_TYPEDECLARATION2 = 102; // ::= -// final int PROD_TYPEDECLARATION_SEMI = 103; // ::= ';' -// final int PROD_MODIFIERS = 104; // ::= -// final int PROD_MODIFIERS2 = 105; // ::= -// final int PROD_MODIFIERSOPT = 106; // ::= -// final int PROD_MODIFIERSOPT2 = 107; // ::= -// final int PROD_MODIFIER_PUBLIC = 108; // ::= public -// final int PROD_MODIFIER_PROTECTED = 109; // ::= protected -// final int PROD_MODIFIER_PRIVATE = 110; // ::= private -// final int PROD_MODIFIER_STATIC = 111; // ::= static -// final int PROD_MODIFIER_ABSTRACT = 112; // ::= abstract -// final int PROD_MODIFIER_FINAL = 113; // ::= final -// final int PROD_MODIFIER_NATIVE = 114; // ::= native -// final int PROD_MODIFIER_SYNCHRONIZED = 115; // ::= synchronized -// final int PROD_MODIFIER_TRANSIENT = 116; // ::= transient -// final int PROD_MODIFIER_VOLATILE = 117; // ::= volatile -// final int PROD_MODIFIER_DEFAULT = 118; // ::= default -// final int PROD_MODIFIER_STRICTFP = 119; // ::= strictfp -// final int PROD_CLASSDECLARATION = 120; // ::= -// final int PROD_CLASSDECLARATION2 = 121; // ::= - final int PROD_NORMALCLASSDECLARATION = 122; // ::= -// final int PROD_NORMALCLASSDECLARATION2 = 123; // ::= - final int PROD_PURECLASSDECLARATION_CLASS_IDENTIFIER = 124; // ::= class Identifier - final int PROD_PURECLASSDECLARATION_CLASS_IDENTIFIER2 = 125; // ::= class Identifier - final int PROD_PURECLASSDECLARATION_CLASS_IDENTIFIER3 = 126; // ::= class Identifier - final int PROD_PURECLASSDECLARATION_CLASS_IDENTIFIER4 = 127; // ::= class Identifier -// final int PROD_TYPEPARAMETERSOPT_LT_GT = 128; // ::= '<' '>' -// final int PROD_TYPEPARAMETERSOPT = 129; // ::= -// final int PROD_TYPEPARAMETERS = 130; // ::= -// final int PROD_TYPEPARAMETERS_COMMA = 131; // ::= ',' -// final int PROD_SUPER_EXTENDS = 132; // ::= extends -// final int PROD_INTERFACES_IMPLEMENTS = 133; // ::= implements -// final int PROD_INTERFACETYPELIST = 134; // ::= -// final int PROD_INTERFACETYPELIST_COMMA = 135; // ::= ',' - final int PROD_ENUMDECLARATION_ENUM_IDENTIFIER = 136; // ::= enum Identifier - final int PROD_ENUMDECLARATION_ENUM_IDENTIFIER2 = 137; // ::= enum Identifier -// final int PROD_ENUMBODY_LBRACE_COMMA_RBRACE = 138; // ::= '{' ',' '}' -// final int PROD_ENUMBODY_LBRACE_RBRACE = 139; // ::= '{' '}' -// final int PROD_ENUMBODYDECLARATIONSOPT_SEMI = 140; // ::= ';' -// final int PROD_ENUMBODYDECLARATIONSOPT = 141; // ::= -// final int PROD_ENUMCONSTANTS = 142; // ::= - final int PROD_ENUMCONSTANTS_COMMA = 143; // ::= ',' - final int PROD_ENUMCONSTANT_IDENTIFIER_LPAREN_RPAREN = 144; // ::= Identifier '(' ')' - final int PROD_ENUMCONSTANT_IDENTIFIER = 145; // ::= Identifier -// final int PROD_CLASSBODYOPT = 146; // ::= -// final int PROD_CLASSBODYOPT2 = 147; // ::= - final int PROD_CLASSBODY_LBRACE_RBRACE = 148; // ::= '{' '}' -// final int PROD_CLASSBODY_LBRACE_RBRACE2 = 149; // ::= '{' '}' -// final int PROD_CLASSBODYDECLARATIONS = 150; // ::= - final int PROD_CLASSBODYDECLARATIONS2 = 151; // ::= -// final int PROD_CLASSBODYDECLARATION = 152; // ::= -// final int PROD_CLASSBODYDECLARATION2 = 153; // ::= -// final int PROD_CLASSBODYDECLARATION3 = 154; // ::= -// final int PROD_CLASSBODYDECLARATION4 = 155; // ::= -// final int PROD_CLASSMEMBERDECLARATION = 156; // ::= -// final int PROD_CLASSMEMBERDECLARATION2 = 157; // ::= -// final int PROD_CLASSMEMBERDECLARATION3 = 158; // ::= -// final int PROD_CLASSMEMBERDECLARATION4 = 159; // ::= -// final int PROD_CLASSMEMBERDECLARATION_SEMI = 160; // ::= ';' - final int PROD_FIELDDECLARATION_SEMI = 161; // ::= ';' - final int PROD_FIELDDECLARATION_SEMI2 = 162; // ::= ';' -// final int PROD_VARIABLEDECLARATORS = 163; // ::= - final int PROD_VARIABLEDECLARATORS_COMMA = 164; // ::= ',' -// final int PROD_VARIABLEDECLARATOR = 165; // ::= - final int PROD_VARIABLEDECLARATOR_EQ = 166; // ::= '=' -// final int PROD_VARIABLEDECLARATORID_IDENTIFIER = 167; // ::= Identifier -// final int PROD_VARIABLEDECLARATORID_IDENTIFIER2 = 168; // ::= Identifier -// final int PROD_VARIABLEINITIALIZER = 169; // ::= -// final int PROD_VARIABLEINITIALIZER2 = 170; // ::= - final int PROD_METHODDECLARATION = 171; // ::= - final int PROD_METHODHEADER = 172; // ::= - final int PROD_METHODHEADER2 = 173; // ::= -// final int PROD_METHODHEADER3 = 174; // ::= -// final int PROD_METHODHEADER4 = 175; // ::= - final int PROD_METHODHEADER_VOID = 176; // ::= void - final int PROD_METHODHEADER_VOID2 = 177; // ::= void -// final int PROD_METHODHEADER_VOID3 = 178; // ::= void -// final int PROD_METHODHEADER_VOID4 = 179; // ::= void - final int PROD_METHODDECLARATOR_IDENTIFIER_LPAREN_RPAREN = 180; // ::= Identifier '(' ')' -// final int PROD_METHODDECLARATOR_IDENTIFIER_LPAREN_RPAREN2 = 181; // ::= Identifier '(' ')' - final int PROD_METHODDECLARATOR_IDENTIFIER_LPAREN_RPAREN3 = 182; // ::= Identifier '(' ')' - final int PROD_METHODDECLARATOR_IDENTIFIER_LPAREN_RPAREN4 = 183; // ::= Identifier '(' ')' -// final int PROD_FORMALPARAMETERLIST = 184; // ::= - final int PROD_FORMALPARAMETERLIST_COMMA = 185; // ::= ',' -// final int PROD_FORMALPARAMETER = 186; // ::= - final int PROD_FORMALPARAMETER_FINAL = 187; // ::= final -// final int PROD_FORMALPARAMETER2 = 188; // ::= -// final int PROD_FORMALPARAMETER3 = 189; // ::= - final int PROD_LASTFORMALPARAMETER_ELLIPSIS = 190; // ::= Ellipsis -// final int PROD_RECEIVERPARAMETER_THIS = 191; // ::= this -// final int PROD_QUALPREFIXOPT_IDENTIFIER_DOT = 192; // ::= Identifier '.' -// final int PROD_QUALPREFIXOPT = 193; // ::= -// final int PROD_THROWS_THROWS = 194; // ::= throws -// final int PROD_CLASSTYPELIST = 195; // ::= -// final int PROD_CLASSTYPELIST_COMMA = 196; // ::= ',' -// final int PROD_METHODBODY = 197; // ::= -// final int PROD_METHODBODY_SEMI = 198; // ::= ';' -// final int PROD_INSTANCEINITIALIZER = 199; // ::= - final int PROD_STATICINITIALIZER_STATIC = 200; // ::= static - final int PROD_CONSTRUCTORDECLARATION = 201; // ::= - final int PROD_CONSTRUCTORDECLARATION2 = 202; // ::= - final int PROD_CONSTRUCTORDECLARATION3 = 203; // ::= - final int PROD_CONSTRUCTORDECLARATION4 = 204; // ::= - final int PROD_CONSTRUCTORDECLARATOR_LPAREN_RPAREN = 205; // ::= '(' ')' - final int PROD_CONSTRUCTORDECLARATOR_LPAREN_RPAREN2 = 206; // ::= '(' ')' -// final int PROD_CONSTRUCTORBODY_LBRACE_RBRACE = 207; // ::= '{' '}' -// final int PROD_CONSTRUCTORBODY_LBRACE_RBRACE2 = 208; // ::= '{' '}' -// final int PROD_CONSTRUCTORBODY_LBRACE_RBRACE3 = 209; // ::= '{' '}' -// final int PROD_CONSTRUCTORBODY_LBRACE_RBRACE4 = 210; // ::= '{' '}' - final int PROD_EXPLICITCONSTRUCTORINVOCATION_THIS_LPAREN_RPAREN_SEMI = 211; // ::= this '(' ')' ';' - final int PROD_EXPLICITCONSTRUCTORINVOCATION_THIS_LPAREN_RPAREN_SEMI2 = 212; // ::= this '(' ')' ';' - final int PROD_EXPLICITCONSTRUCTORINVOCATION_SUPER_LPAREN_RPAREN_SEMI = 213; // ::= super '(' ')' ';' - final int PROD_EXPLICITCONSTRUCTORINVOCATION_SUPER_LPAREN_RPAREN_SEMI2 = 214; // ::= super '(' ')' ';' - final int PROD_INTERFACEDECLARATION_INTERFACE_IDENTIFIER = 215; // ::= interface Identifier - final int PROD_INTERFACEDECLARATION_INTERFACE_IDENTIFIER2 = 216; // ::= interface Identifier - final int PROD_INTERFACEDECLARATION_INTERFACE_IDENTIFIER3 = 217; // ::= interface Identifier - final int PROD_INTERFACEDECLARATION_INTERFACE_IDENTIFIER4 = 218; // ::= interface Identifier -// final int PROD_EXTENDSINTERFACES_EXTENDS = 219; // ::= extends -// final int PROD_EXTENDSINTERFACES_COMMA = 220; // ::= ',' -// final int PROD_INTERFACEBODY_LBRACE_RBRACE = 221; // ::= '{' '}' -// final int PROD_INTERFACEBODY_LBRACE_RBRACE2 = 222; // ::= '{' '}' -// final int PROD_INTERFACEMEMBERDECLARATIONS = 223; // ::= -// final int PROD_INTERFACEMEMBERDECLARATIONS2 = 224; // ::= -// final int PROD_INTERFACEMEMBERDECLARATION = 225; // ::= -// final int PROD_INTERFACEMEMBERDECLARATION2 = 226; // ::= -// final int PROD_INTERFACEMEMBERDECLARATION3 = 227; // ::= -// final int PROD_INTERFACEMEMBERDECLARATION4 = 228; // ::= -// final int PROD_CONSTANTDECLARATION = 229; // ::= -// final int PROD_ARRAYINITIALIZER_LBRACE_COMMA_RBRACE = 230; // ::= '{' ',' '}' - final int PROD_ARRAYINITIALIZER_LBRACE_RBRACE = 231; // ::= '{' '}' -// final int PROD_ARRAYINITIALIZER_LBRACE_COMMA_RBRACE2 = 232; // ::= '{' ',' '}' -// final int PROD_ARRAYINITIALIZER_LBRACE_RBRACE2 = 233; // ::= '{' '}' -// final int PROD_VARIABLEINITIALIZERS = 234; // ::= - final int PROD_VARIABLEINITIALIZERS_COMMA = 235; // ::= ',' -// final int PROD_BLOCK_LBRACE_RBRACE = 236; // ::= '{' '}' -// final int PROD_BLOCK_LBRACE_RBRACE2 = 237; // ::= '{' '}' -// final int PROD_BLOCKSTATEMENTS = 238; // ::= - final int PROD_BLOCKSTATEMENTS2 = 239; // ::= -// final int PROD_BLOCKSTATEMENT = 240; // ::= -// final int PROD_BLOCKSTATEMENT2 = 241; // ::= -// final int PROD_BLOCKSTATEMENT3 = 242; // ::= -// final int PROD_LOCALVARIABLEDECLARATIONSTATEMENT_SEMI = 243; // ::= ';' - final int PROD_LOCALVARIABLEDECLARATION_FINAL = 244; // ::= final - final int PROD_LOCALVARIABLEDECLARATION = 245; // ::= - final int PROD_LOCALCLASSDECLARATION = 246; // ::= -// final int PROD_LOCALCLASSDECLARATION2 = 247; // ::= -// final int PROD_LOCALCLASSMODIFIERS_ABSTRACT = 248; // ::= abstract -// final int PROD_LOCALCLASSMODIFIERS_FINAL = 249; // ::= final -// final int PROD_STATEMENT = 250; // ::= -// final int PROD_STATEMENT2 = 251; // ::= -// final int PROD_STATEMENT3 = 252; // ::= -// final int PROD_STATEMENT4 = 253; // ::= -// final int PROD_STATEMENT5 = 254; // ::= -// final int PROD_STATEMENT6 = 255; // ::= -// final int PROD_STATEMENTNOSHORTIF = 256; // ::= -// final int PROD_STATEMENTNOSHORTIF2 = 257; // ::= -// final int PROD_STATEMENTNOSHORTIF3 = 258; // ::= -// final int PROD_STATEMENTNOSHORTIF4 = 259; // ::= -// final int PROD_STATEMENTNOSHORTIF5 = 260; // ::= -// final int PROD_STATEMENTWITHOUTTRAILINGSUBSTATEMENT = 261; // ::= -// final int PROD_STATEMENTWITHOUTTRAILINGSUBSTATEMENT2 = 262; // ::= -// final int PROD_STATEMENTWITHOUTTRAILINGSUBSTATEMENT3 = 263; // ::= -// final int PROD_STATEMENTWITHOUTTRAILINGSUBSTATEMENT4 = 264; // ::= -// final int PROD_STATEMENTWITHOUTTRAILINGSUBSTATEMENT5 = 265; // ::= -// final int PROD_STATEMENTWITHOUTTRAILINGSUBSTATEMENT6 = 266; // ::= -// final int PROD_STATEMENTWITHOUTTRAILINGSUBSTATEMENT7 = 267; // ::= -// final int PROD_STATEMENTWITHOUTTRAILINGSUBSTATEMENT8 = 268; // ::= -// final int PROD_STATEMENTWITHOUTTRAILINGSUBSTATEMENT9 = 269; // ::= -// final int PROD_STATEMENTWITHOUTTRAILINGSUBSTATEMENT10 = 270; // ::= -// final int PROD_STATEMENTWITHOUTTRAILINGSUBSTATEMENT11 = 271; // ::= -// final int PROD_STATEMENTWITHOUTTRAILINGSUBSTATEMENT12 = 272; // ::= -// final int PROD_EMPTYSTATEMENT_SEMI = 273; // ::= ';' - final int PROD_LABELEDSTATEMENT_IDENTIFIER_COLON = 274; // ::= Identifier ':' - final int PROD_LABELEDSTATEMENTNOSHORTIF_IDENTIFIER_COLON = 275; // ::= Identifier ':' - final int PROD_EXPRESSIONSTATEMENT_SEMI = 276; // ::= ';' -// final int PROD_STATEMENTEXPRESSION = 277; // ::= -// final int PROD_STATEMENTEXPRESSION2 = 278; // ::= -// final int PROD_STATEMENTEXPRESSION3 = 279; // ::= -// final int PROD_STATEMENTEXPRESSION4 = 280; // ::= -// final int PROD_STATEMENTEXPRESSION5 = 281; // ::= -// final int PROD_STATEMENTEXPRESSION6 = 282; // ::= -// final int PROD_STATEMENTEXPRESSION7 = 283; // ::= - final int PROD_IFTHENSTATEMENT_IF_LPAREN_RPAREN = 284; // ::= if '(' ')' - final int PROD_IFTHENELSESTATEMENT_IF_LPAREN_RPAREN_ELSE = 285; // ::= if '(' ')' else - final int PROD_IFTHENELSESTATEMENTNOSHORTIF_IF_LPAREN_RPAREN_ELSE = 286; // ::= if '(' ')' else - final int PROD_SWITCHSTATEMENT_SWITCH_LPAREN_RPAREN = 287; // ::= switch '(' ')' - final int PROD_SWITCHBLOCK_LBRACE_RBRACE = 288; // ::= '{' '}' -// final int PROD_SWITCHBLOCK_LBRACE_RBRACE2 = 289; // ::= '{' '}' - final int PROD_SWITCHBLOCK_LBRACE_RBRACE3 = 290; // ::= '{' '}' - final int PROD_SWITCHBLOCK_LBRACE_RBRACE4 = 291; // ::= '{' '}' -// final int PROD_SWITCHBLOCKSTATEMENTGROUPS = 292; // ::= - final int PROD_SWITCHBLOCKSTATEMENTGROUPS2 = 293; // ::= -// final int PROD_SWITCHBLOCKSTATEMENTGROUP = 294; // ::= -// final int PROD_SWITCHLABELS = 295; // ::= - final int PROD_SWITCHLABELS2 = 296; // ::= -// final int PROD_SWITCHLABEL_CASE_COLON = 297; // ::= case ':' - final int PROD_SWITCHLABEL_DEFAULT_COLON = 298; // ::= default ':' - final int PROD_WHILESTATEMENT_WHILE_LPAREN_RPAREN = 299; // ::= while '(' ')' - final int PROD_WHILESTATEMENTNOSHORTIF_WHILE_LPAREN_RPAREN = 300; // ::= while '(' ')' - final int PROD_DOSTATEMENT_DO_WHILE_LPAREN_RPAREN_SEMI = 301; // ::= do while '(' ')' ';' -// final int PROD_FORSTATEMENT = 302; // ::= -// final int PROD_FORSTATEMENT2 = 303; // ::= - final int PROD_BASICFORSTATEMENT_FOR_LPAREN_SEMI_SEMI_RPAREN = 304; // ::= for '(' ';' ';' ')' -// final int PROD_EXPRESSIONOPT = 305; // ::= -// final int PROD_EXPRESSIONOPT2 = 306; // ::= -// final int PROD_FORSTATEMENTNOSHORTIF = 307; // ::= -// final int PROD_FORSTATEMENTNOSHORTIF2 = 308; // ::= - final int PROD_BASICFORSTATEMENTNOSHORTIF_FOR_LPAREN_SEMI_SEMI_RPAREN = 309; // ::= for '(' ';' ';' ')' -// final int PROD_FORINITOPT = 310; // ::= -// final int PROD_FORINITOPT2 = 311; // ::= -// final int PROD_FORINITOPT3 = 312; // ::= -// final int PROD_FORUPDATEOPT = 313; // ::= -// final int PROD_FORUPDATEOPT2 = 314; // ::= - final int PROD_ENHANCEDFORSTATEMENT_FOR_LPAREN_FINAL_COLON_RPAREN = 315; // ::= for '(' final ':' ')' - final int PROD_ENHANCEDFORSTATEMENT_FOR_LPAREN_COLON_RPAREN = 316; // ::= for '(' ':' ')' - final int PROD_ENHANCEDFORSTATEMENTNOSHORTIF_FOR_LPAREN_FINAL_COLON_RPAREN = 317; // ::= for '(' final ':' ')' - final int PROD_ENHANCEDFORSTATEMENTNOSHORTIF_FOR_LPAREN_COLON_RPAREN = 318; // ::= for '(' ':' ')' -// final int PROD_STATEMENTEXPRESSIONLIST = 319; // ::= -// final int PROD_STATEMENTEXPRESSIONLIST_COMMA = 320; // ::= ',' - final int PROD_BREAKSTATEMENT_BREAK_IDENTIFIER_SEMI = 321; // ::= break Identifier ';' - final int PROD_BREAKSTATEMENT_BREAK_SEMI = 322; // ::= break ';' - final int PROD_CONTINUESTATEMENT_CONTINUE_IDENTIFIER_SEMI = 323; // ::= continue Identifier ';' - final int PROD_CONTINUESTATEMENT_CONTINUE_SEMI = 324; // ::= continue ';' - final int PROD_RETURNSTATEMENT_RETURN_SEMI = 325; // ::= return ';' - final int PROD_RETURNSTATEMENT_RETURN_SEMI2 = 326; // ::= return ';' - final int PROD_THROWSTATEMENT_THROW_SEMI = 327; // ::= throw ';' - final int PROD_SYNCHRONIZEDSTATEMENT_SYNCHRONIZED_LPAREN_RPAREN = 328; // ::= synchronized '(' ')' - final int PROD_TRYSTATEMENT_TRY = 329; // ::= try - final int PROD_TRYSTATEMENT_TRY2 = 330; // ::= try - final int PROD_TRYSTATEMENT_TRY3 = 331; // ::= try - final int PROD_TRYSTATEMENT_TRY4 = 332; // ::= try - final int PROD_TRYSTATEMENT_TRY5 = 333; // ::= try - final int PROD_TRYSTATEMENT_TRY6 = 334; // ::= try - final int PROD_TRYSTATEMENT_TRY7 = 335; // ::= try -// final int PROD_CATCHES = 336; // ::= - final int PROD_CATCHES2 = 337; // ::= -// final int PROD_CATCHCLAUSE_CATCH_LPAREN_RPAREN = 338; // ::= catch '(' ')' - final int PROD_CATCHFORMALPARAMETER_FINAL = 339; // ::= final -// final int PROD_CATCHFORMALPARAMETER = 340; // ::= -// final int PROD_CATCHTYPE = 341; // ::= - final int PROD_CATCHTYPE_PIPE = 342; // ::= '|' -// final int PROD_FINALLY_FINALLY = 343; // ::= finally - final int PROD_ASSERTSTATEMENT_ASSERT = 344; // ::= assert -// final int PROD_ASSERTMESSAGEOPT_COLON = 345; // ::= ':' -// final int PROD_ASSERTMESSAGEOPT = 346; // ::= -// final int PROD_RESOURCESPECIFICATION_LPAREN_RPAREN = 347; // ::= '(' ')' -// final int PROD_RESOURCESPECIFICATION_LPAREN_SEMI_RPAREN = 348; // ::= '(' ';' ')' -// final int PROD_RESOURCES = 349; // ::= - final int PROD_RESOURCES_SEMI = 350; // ::= ';' -// final int PROD_RESOURCE_EQ = 351; // ::= '=' - final int PROD_RESOURCE_FINAL_EQ = 352; // ::= final '=' -// final int PROD_PRIMARY = 353; // ::= -// final int PROD_PRIMARY2 = 354; // ::= -// final int PROD_PRIMARYNONEWARRAY = 355; // ::= -// final int PROD_PRIMARYNONEWARRAY_THIS = 356; // ::= this - final int PROD_PRIMARYNONEWARRAY_LPAREN_RPAREN = 357; // ::= '(' ')' -// final int PROD_PRIMARYNONEWARRAY2 = 358; // ::= -// final int PROD_PRIMARYNONEWARRAY3 = 359; // ::= -// final int PROD_PRIMARYNONEWARRAY4 = 360; // ::= -// final int PROD_PRIMARYNONEWARRAY5 = 361; // ::= -// final int PROD_PRIMARYNONEWARRAY6 = 362; // ::= - final int PROD_CLASSINSTANCECREATIONEXPRESSION_NEW_LPAREN_RPAREN = 363; // ::= new '(' ')' - final int PROD_CLASSINSTANCECREATIONEXPRESSION_NEW_LPAREN_RPAREN2 = 364; // ::= new '(' ')' - final int PROD_CLASSINSTANCECREATIONEXPRESSION_NEW_LPAREN_RPAREN3 = 365; // ::= new '(' ')' - final int PROD_CLASSINSTANCECREATIONEXPRESSION_NEW_LPAREN_RPAREN4 = 366; // ::= new '(' ')' -// final int PROD_ARGUMENTLIST = 367; // ::= - final int PROD_ARGUMENTLIST_COMMA = 368; // ::= ',' - final int PROD_ARRAYCREATIONEXPRESSION_NEW = 369; // ::= new - final int PROD_ARRAYCREATIONEXPRESSION_NEW2 = 370; // ::= new - final int PROD_ARRAYCREATIONEXPRESSION_NEW3 = 371; // ::= new - final int PROD_ARRAYCREATIONEXPRESSION_NEW4 = 372; // ::= new - final int PROD_ARRAYCREATIONEXPRESSION_NEW5 = 373; // ::= new - final int PROD_ARRAYCREATIONEXPRESSION_NEW6 = 374; // ::= new -// final int PROD_DIMEXPRS = 375; // ::= -// final int PROD_DIMEXPRS2 = 376; // ::= -// final int PROD_DIMEXPR_LBRACKET_RBRACKET = 377; // ::= '[' ']' -// final int PROD_DIMS_LBRACKET_RBRACKET = 378; // ::= '[' ']' -// final int PROD_DIMS_LBRACKET_RBRACKET2 = 379; // ::= '[' ']' - final int PROD_FIELDACCESS_DOT_IDENTIFIER = 380; // ::= '.' Identifier - final int PROD_FIELDACCESS_SUPER_DOT_IDENTIFIER = 381; // ::= super '.' Identifier - final int PROD_METHODINVOCATION_LPAREN_RPAREN = 382; // ::= '(' ')' - final int PROD_METHODINVOCATION_LPAREN_RPAREN2 = 383; // ::= '(' ')' - final int PROD_METHODINVOCATION_DOT_IDENTIFIER_LPAREN_RPAREN = 384; // ::= '.' Identifier '(' ')' - final int PROD_METHODINVOCATION_DOT_IDENTIFIER_LPAREN_RPAREN2 = 385; // ::= '.' Identifier '(' ')' - final int PROD_METHODINVOCATION_SUPER_DOT_IDENTIFIER_LPAREN_RPAREN = 386; // ::= super '.' Identifier '(' ')' - final int PROD_METHODINVOCATION_SUPER_DOT_IDENTIFIER_LPAREN_RPAREN2 = 387; // ::= super '.' Identifier '(' ')' - final int PROD_PROCESSINGTYPECONVERSION_INT_LPAREN_RPAREN = 388; // ::= int '(' ')' - final int PROD_PROCESSINGTYPECONVERSION_BYTE_LPAREN_RPAREN = 389; // ::= byte '(' ')' - final int PROD_PROCESSINGTYPECONVERSION_CHAR_LPAREN_RPAREN = 390; // ::= char '(' ')' - final int PROD_PROCESSINGTYPECONVERSION_FLOAT_LPAREN_RPAREN = 391; // ::= float '(' ')' - final int PROD_PROCESSINGTYPECONVERSION_BOOLEAN_LPAREN_RPAREN = 392; // ::= boolean '(' ')' - final int PROD_ARRAYACCESS_LBRACKET_RBRACKET = 393; // ::= '[' ']' - final int PROD_ARRAYACCESS_LBRACKET_RBRACKET2 = 394; // ::= '[' ']' -// final int PROD_POSTFIXEXPRESSION = 395; // ::= -// final int PROD_POSTFIXEXPRESSION2 = 396; // ::= -// final int PROD_POSTFIXEXPRESSION3 = 397; // ::= -// final int PROD_POSTFIXEXPRESSION4 = 398; // ::= - final int PROD_POSTINCREMENTEXPRESSION_PLUSPLUS = 399; // ::= '++' - final int PROD_POSTDECREMENTEXPRESSION_MINUSMINUS = 400; // ::= '--' -// final int PROD_UNARYEXPRESSION = 401; // ::= -// final int PROD_UNARYEXPRESSION2 = 402; // ::= - final int PROD_UNARYEXPRESSION_PLUS = 403; // ::= '+' - final int PROD_UNARYEXPRESSION_MINUS = 404; // ::= '-' -// final int PROD_UNARYEXPRESSION3 = 405; // ::= - final int PROD_PREINCREMENTEXPRESSION_PLUSPLUS = 406; // ::= '++' - final int PROD_PREDECREMENTEXPRESSION_MINUSMINUS = 407; // ::= '--' -// final int PROD_UNARYEXPRESSIONNOTPLUSMINUS = 408; // ::= - final int PROD_UNARYEXPRESSIONNOTPLUSMINUS_TILDE = 409; // ::= '~' - final int PROD_UNARYEXPRESSIONNOTPLUSMINUS_EXCLAM = 410; // ::= '!' -// final int PROD_UNARYEXPRESSIONNOTPLUSMINUS2 = 411; // ::= - final int PROD_CASTEXPRESSION_LPAREN_RPAREN = 412; // ::= '(' ')' - final int PROD_CASTEXPRESSION_LPAREN_RPAREN2 = 413; // ::= '(' ')' - final int PROD_CASTEXPRESSION_LPAREN_RPAREN3 = 414; // ::= '(' ')' - final int PROD_CASTEXPRESSION_LPAREN_RPAREN4 = 415; // ::= '(' ')' -// final int PROD_MULTIPLICATIVEEXPRESSION = 416; // ::= - final int PROD_MULTIPLICATIVEEXPRESSION_TIMES = 417; // ::= '*' - final int PROD_MULTIPLICATIVEEXPRESSION_DIV = 418; // ::= '/' - final int PROD_MULTIPLICATIVEEXPRESSION_PERCENT = 419; // ::= '%' -// final int PROD_ADDITIVEEXPRESSION = 420; // ::= - final int PROD_ADDITIVEEXPRESSION_PLUS = 421; // ::= '+' - final int PROD_ADDITIVEEXPRESSION_MINUS = 422; // ::= '-' -// final int PROD_SHIFTEXPRESSION = 423; // ::= - final int PROD_SHIFTEXPRESSION_LTLT = 424; // ::= '<<' - final int PROD_SHIFTEXPRESSION_GTGT = 425; // ::= '>>' - final int PROD_SHIFTEXPRESSION_GTGTGT = 426; // ::= '>>>' -// final int PROD_RELATIONALEXPRESSION = 427; // ::= - final int PROD_RELATIONALEXPRESSION_LT = 428; // ::= '<' - final int PROD_RELATIONALEXPRESSION_GT = 429; // ::= '>' - final int PROD_RELATIONALEXPRESSION_LTEQ = 430; // ::= '<=' - final int PROD_RELATIONALEXPRESSION_GTEQ = 431; // ::= '>=' - final int PROD_RELATIONALEXPRESSION_INSTANCEOF = 432; // ::= instanceof -// final int PROD_EQUALITYEXPRESSION = 433; // ::= - final int PROD_EQUALITYEXPRESSION_EQEQ = 434; // ::= '==' - final int PROD_EQUALITYEXPRESSION_EXCLAMEQ = 435; // ::= '!=' -// final int PROD_ANDEXPRESSION = 436; // ::= - final int PROD_ANDEXPRESSION_AMP = 437; // ::= '&' -// final int PROD_EXCLUSIVEOREXPRESSION = 438; // ::= - final int PROD_EXCLUSIVEOREXPRESSION_CARET = 439; // ::= '^' -// final int PROD_INCLUSIVEOREXPRESSION = 440; // ::= - final int PROD_INCLUSIVEOREXPRESSION_PIPE = 441; // ::= '|' -// final int PROD_CONDITIONALANDEXPRESSION = 442; // ::= - final int PROD_CONDITIONALANDEXPRESSION_AMPAMP = 443; // ::= '&&' -// final int PROD_CONDITIONALOREXPRESSION = 444; // ::= - final int PROD_CONDITIONALOREXPRESSION_PIPEPIPE = 445; // ::= '||' -// final int PROD_CONDITIONALEXPRESSION = 446; // ::= - final int PROD_CONDITIONALEXPRESSION_QUESTION_COLON = 447; // ::= '?' ':' -// final int PROD_ASSIGNMENTEXPRESSION = 448; // ::= -// final int PROD_ASSIGNMENTEXPRESSION2 = 449; // ::= - final int PROD_ASSIGNMENT = 450; // ::= -// final int PROD_LEFTHANDSIDE = 451; // ::= -// final int PROD_LEFTHANDSIDE2 = 452; // ::= -// final int PROD_LEFTHANDSIDE3 = 453; // ::= - final int PROD_ASSIGNMENTOPERATOR_EQ = 454; // ::= '=' -// final int PROD_ASSIGNMENTOPERATOR_TIMESEQ = 455; // ::= '*=' -// final int PROD_ASSIGNMENTOPERATOR_DIVEQ = 456; // ::= '/=' -// final int PROD_ASSIGNMENTOPERATOR_PERCENTEQ = 457; // ::= '%=' - final int PROD_ASSIGNMENTOPERATOR_PLUSEQ = 458; // ::= '+=' - final int PROD_ASSIGNMENTOPERATOR_MINUSEQ = 459; // ::= '-=' -// final int PROD_ASSIGNMENTOPERATOR_LTLTEQ = 460; // ::= '<<=' -// final int PROD_ASSIGNMENTOPERATOR_GTGTEQ = 461; // ::= '>>=' -// final int PROD_ASSIGNMENTOPERATOR_GTGTGTEQ = 462; // ::= '>>>=' -// final int PROD_ASSIGNMENTOPERATOR_AMPEQ = 463; // ::= '&=' -// final int PROD_ASSIGNMENTOPERATOR_CARETEQ = 464; // ::= '^=' -// final int PROD_ASSIGNMENTOPERATOR_PIPEEQ = 465; // ::= '|=' -// final int PROD_EXPRESSION = 466; // ::= -// final int PROD_CONSTANTEXPRESSION = 467; // ::= +// final int PROD_TYPEPARAMETER_QUESTION = 75; // ::= '?' +// final int PROD_TYPEBOUNDOPT_EXTENDS = 76; // ::= extends +// final int PROD_TYPEBOUNDOPT_EXTENDS2 = 77; // ::= extends +// final int PROD_TYPEBOUNDOPT = 78; // ::= +// final int PROD_ADDITIONALBOUNDOPT_AMP = 79; // ::= '&' +// final int PROD_ADDITIONALBOUNDOPT = 80; // ::= +// final int PROD_COMPILATIONUNIT = 81; // ::= +// final int PROD_COMPILATIONUNIT2 = 82; // ::= +// final int PROD_COMPILATIONUNIT3 = 83; // ::= +// final int PROD_COMPILATIONUNIT4 = 84; // ::= +// final int PROD_COMPILATIONUNIT5 = 85; // ::= +// final int PROD_COMPILATIONUNIT6 = 86; // ::= +// final int PROD_COMPILATIONUNIT7 = 87; // ::= +// final int PROD_COMPILATIONUNIT8 = 88; // ::= +// final int PROD_IMPORTDECLARATIONS = 89; // ::= +// final int PROD_IMPORTDECLARATIONS2 = 90; // ::= +// final int PROD_TYPEDECLARATIONS = 91; // ::= +// final int PROD_TYPEDECLARATIONS2 = 92; // ::= + final int PROD_PACKAGEDECLARATION_PACKAGE_SEMI = 93; // ::= package ';' +// final int PROD_IMPORTDECLARATION = 94; // ::= +// final int PROD_IMPORTDECLARATION2 = 95; // ::= +// final int PROD_IMPORTDECLARATION3 = 96; // ::= +// final int PROD_IMPORTDECLARATION4 = 97; // ::= + final int PROD_SINGLETYPEIMPORTDECLARATION_IMPORT_SEMI = 98; // ::= import ';' + final int PROD_TYPEIMPORTONDEMANDDECLARATION_IMPORT_DOT_TIMES_SEMI = 99; // ::= import '.' '*' ';' + final int PROD_SINGLESTATICIMPORTDECLARATION_IMPORT_STATIC_SEMI = 100; // ::= import static ';' + final int PROD_STATICIMPORTONDEMANDDECLARATION_IMPORT_STATIC_DOT_TIMES_SEMI = 101; // ::= import static '.' '*' ';' +// final int PROD_TYPEDECLARATION = 102; // ::= +// final int PROD_TYPEDECLARATION2 = 103; // ::= +// final int PROD_TYPEDECLARATION_SEMI = 104; // ::= ';' +// final int PROD_MODIFIERS = 105; // ::= +// final int PROD_MODIFIERS2 = 106; // ::= +// final int PROD_MODIFIERSOPT = 107; // ::= +// final int PROD_MODIFIERSOPT2 = 108; // ::= +// final int PROD_MODIFIER_PUBLIC = 109; // ::= public +// final int PROD_MODIFIER_PROTECTED = 110; // ::= protected +// final int PROD_MODIFIER_PRIVATE = 111; // ::= private +// final int PROD_MODIFIER_STATIC = 112; // ::= static +// final int PROD_MODIFIER_ABSTRACT = 113; // ::= abstract +// final int PROD_MODIFIER_FINAL = 114; // ::= final +// final int PROD_MODIFIER_NATIVE = 115; // ::= native +// final int PROD_MODIFIER_SYNCHRONIZED = 116; // ::= synchronized +// final int PROD_MODIFIER_TRANSIENT = 117; // ::= transient +// final int PROD_MODIFIER_VOLATILE = 118; // ::= volatile +// final int PROD_MODIFIER_DEFAULT = 119; // ::= default +// final int PROD_MODIFIER_STRICTFP = 120; // ::= strictfp +// final int PROD_CLASSDECLARATION = 121; // ::= +// final int PROD_CLASSDECLARATION2 = 122; // ::= + final int PROD_NORMALCLASSDECLARATION = 123; // ::= +// final int PROD_NORMALCLASSDECLARATION2 = 124; // ::= + final int PROD_PURECLASSDECLARATION_CLASS_IDENTIFIER = 125; // ::= class Identifier + final int PROD_PURECLASSDECLARATION_CLASS_IDENTIFIER2 = 126; // ::= class Identifier + final int PROD_PURECLASSDECLARATION_CLASS_IDENTIFIER3 = 127; // ::= class Identifier + final int PROD_PURECLASSDECLARATION_CLASS_IDENTIFIER4 = 128; // ::= class Identifier +// final int PROD_TYPEPARAMETERSOPT_LT_GT = 129; // ::= '<' '>' +// final int PROD_TYPEPARAMETERSOPT = 130; // ::= +// final int PROD_TYPEPARAMETERS = 131; // ::= +// final int PROD_TYPEPARAMETERS_COMMA = 132; // ::= ',' +// final int PROD_SUPER_EXTENDS = 133; // ::= extends +// final int PROD_INTERFACES_IMPLEMENTS = 134; // ::= implements +// final int PROD_INTERFACETYPELIST = 135; // ::= +// final int PROD_INTERFACETYPELIST_COMMA = 136; // ::= ',' + final int PROD_ENUMDECLARATION_ENUM_IDENTIFIER = 137; // ::= enum Identifier + final int PROD_ENUMDECLARATION_ENUM_IDENTIFIER2 = 138; // ::= enum Identifier +// final int PROD_ENUMBODY_LBRACE_COMMA_RBRACE = 139; // ::= '{' ',' '}' +// final int PROD_ENUMBODY_LBRACE_RBRACE = 140; // ::= '{' '}' +// final int PROD_ENUMBODYDECLARATIONSOPT_SEMI = 141; // ::= ';' +// final int PROD_ENUMBODYDECLARATIONSOPT = 142; // ::= +// final int PROD_ENUMCONSTANTS = 143; // ::= + final int PROD_ENUMCONSTANTS_COMMA = 144; // ::= ',' + final int PROD_ENUMCONSTANT_IDENTIFIER_LPAREN_RPAREN = 145; // ::= Identifier '(' ')' + final int PROD_ENUMCONSTANT_IDENTIFIER = 146; // ::= Identifier +// final int PROD_CLASSBODYOPT = 147; // ::= +// final int PROD_CLASSBODYOPT2 = 148; // ::= + final int PROD_CLASSBODY_LBRACE_RBRACE = 149; // ::= '{' '}' +// final int PROD_CLASSBODY_LBRACE_RBRACE2 = 150; // ::= '{' '}' +// final int PROD_CLASSBODYDECLARATIONS = 151; // ::= + final int PROD_CLASSBODYDECLARATIONS2 = 152; // ::= +// final int PROD_CLASSBODYDECLARATION = 153; // ::= +// final int PROD_CLASSBODYDECLARATION2 = 154; // ::= +// final int PROD_CLASSBODYDECLARATION3 = 155; // ::= +// final int PROD_CLASSBODYDECLARATION4 = 156; // ::= +// final int PROD_CLASSMEMBERDECLARATION = 157; // ::= +// final int PROD_CLASSMEMBERDECLARATION2 = 158; // ::= +// final int PROD_CLASSMEMBERDECLARATION3 = 159; // ::= +// final int PROD_CLASSMEMBERDECLARATION4 = 160; // ::= +// final int PROD_CLASSMEMBERDECLARATION_SEMI = 161; // ::= ';' + final int PROD_FIELDDECLARATION_SEMI = 162; // ::= ';' + final int PROD_FIELDDECLARATION_SEMI2 = 163; // ::= ';' +// final int PROD_VARIABLEDECLARATORS = 164; // ::= + final int PROD_VARIABLEDECLARATORS_COMMA = 165; // ::= ',' +// final int PROD_VARIABLEDECLARATOR = 166; // ::= + final int PROD_VARIABLEDECLARATOR_EQ = 167; // ::= '=' +// final int PROD_VARIABLEDECLARATORID_IDENTIFIER = 168; // ::= Identifier +// final int PROD_VARIABLEDECLARATORID_IDENTIFIER2 = 169; // ::= Identifier +// final int PROD_VARIABLEINITIALIZER = 170; // ::= +// final int PROD_VARIABLEINITIALIZER2 = 171; // ::= + final int PROD_METHODDECLARATION = 172; // ::= + final int PROD_METHODHEADER = 173; // ::= + final int PROD_METHODHEADER2 = 174; // ::= +// final int PROD_METHODHEADER3 = 175; // ::= +// final int PROD_METHODHEADER4 = 176; // ::= + final int PROD_METHODHEADER_VOID = 177; // ::= void + final int PROD_METHODHEADER_VOID2 = 178; // ::= void +// final int PROD_METHODHEADER_VOID3 = 179; // ::= void +// final int PROD_METHODHEADER_VOID4 = 180; // ::= void + final int PROD_METHODDECLARATOR_IDENTIFIER_LPAREN_RPAREN = 181; // ::= Identifier '(' ')' +// final int PROD_METHODDECLARATOR_IDENTIFIER_LPAREN_RPAREN2 = 182; // ::= Identifier '(' ')' + final int PROD_METHODDECLARATOR_IDENTIFIER_LPAREN_RPAREN3 = 183; // ::= Identifier '(' ')' + final int PROD_METHODDECLARATOR_IDENTIFIER_LPAREN_RPAREN4 = 184; // ::= Identifier '(' ')' +// final int PROD_FORMALPARAMETERLIST = 185; // ::= + final int PROD_FORMALPARAMETERLIST_COMMA = 186; // ::= ',' +// final int PROD_FORMALPARAMETER = 187; // ::= + final int PROD_FORMALPARAMETER_FINAL = 188; // ::= final +// final int PROD_FORMALPARAMETER2 = 189; // ::= +// final int PROD_FORMALPARAMETER3 = 190; // ::= + final int PROD_LASTFORMALPARAMETER_ELLIPSIS = 191; // ::= Ellipsis +// final int PROD_RECEIVERPARAMETER_THIS = 192; // ::= this +// final int PROD_QUALPREFIXOPT_IDENTIFIER_DOT = 193; // ::= Identifier '.' +// final int PROD_QUALPREFIXOPT = 194; // ::= +// final int PROD_THROWS_THROWS = 195; // ::= throws +// final int PROD_CLASSTYPELIST = 196; // ::= +// final int PROD_CLASSTYPELIST_COMMA = 197; // ::= ',' +// final int PROD_METHODBODY = 198; // ::= +// final int PROD_METHODBODY_SEMI = 199; // ::= ';' +// final int PROD_INSTANCEINITIALIZER = 200; // ::= + final int PROD_STATICINITIALIZER_STATIC = 201; // ::= static + final int PROD_CONSTRUCTORDECLARATION = 202; // ::= + final int PROD_CONSTRUCTORDECLARATION2 = 203; // ::= + final int PROD_CONSTRUCTORDECLARATION3 = 204; // ::= + final int PROD_CONSTRUCTORDECLARATION4 = 205; // ::= + final int PROD_CONSTRUCTORDECLARATOR_LPAREN_RPAREN = 206; // ::= '(' ')' + final int PROD_CONSTRUCTORDECLARATOR_LPAREN_RPAREN2 = 207; // ::= '(' ')' +// final int PROD_CONSTRUCTORBODY_LBRACE_RBRACE = 208; // ::= '{' '}' +// final int PROD_CONSTRUCTORBODY_LBRACE_RBRACE2 = 209; // ::= '{' '}' +// final int PROD_CONSTRUCTORBODY_LBRACE_RBRACE3 = 210; // ::= '{' '}' +// final int PROD_CONSTRUCTORBODY_LBRACE_RBRACE4 = 211; // ::= '{' '}' + final int PROD_EXPLICITCONSTRUCTORINVOCATION_THIS_LPAREN_RPAREN_SEMI = 212; // ::= this '(' ')' ';' + final int PROD_EXPLICITCONSTRUCTORINVOCATION_THIS_LPAREN_RPAREN_SEMI2 = 213; // ::= this '(' ')' ';' + final int PROD_EXPLICITCONSTRUCTORINVOCATION_SUPER_LPAREN_RPAREN_SEMI = 214; // ::= super '(' ')' ';' + final int PROD_EXPLICITCONSTRUCTORINVOCATION_SUPER_LPAREN_RPAREN_SEMI2 = 215; // ::= super '(' ')' ';' + final int PROD_INTERFACEDECLARATION_INTERFACE_IDENTIFIER = 216; // ::= interface Identifier + final int PROD_INTERFACEDECLARATION_INTERFACE_IDENTIFIER2 = 217; // ::= interface Identifier + final int PROD_INTERFACEDECLARATION_INTERFACE_IDENTIFIER3 = 218; // ::= interface Identifier + final int PROD_INTERFACEDECLARATION_INTERFACE_IDENTIFIER4 = 219; // ::= interface Identifier +// final int PROD_EXTENDSINTERFACES_EXTENDS = 220; // ::= extends +// final int PROD_EXTENDSINTERFACES_COMMA = 221; // ::= ',' +// final int PROD_INTERFACEBODY_LBRACE_RBRACE = 222; // ::= '{' '}' +// final int PROD_INTERFACEBODY_LBRACE_RBRACE2 = 223; // ::= '{' '}' +// final int PROD_INTERFACEMEMBERDECLARATIONS = 224; // ::= +// final int PROD_INTERFACEMEMBERDECLARATIONS2 = 225; // ::= +// final int PROD_INTERFACEMEMBERDECLARATION = 226; // ::= +// final int PROD_INTERFACEMEMBERDECLARATION2 = 227; // ::= +// final int PROD_INTERFACEMEMBERDECLARATION3 = 228; // ::= +// final int PROD_INTERFACEMEMBERDECLARATION4 = 229; // ::= +// final int PROD_CONSTANTDECLARATION = 230; // ::= +// final int PROD_ARRAYINITIALIZER_LBRACE_COMMA_RBRACE = 231; // ::= '{' ',' '}' + final int PROD_ARRAYINITIALIZER_LBRACE_RBRACE = 232; // ::= '{' '}' +// final int PROD_ARRAYINITIALIZER_LBRACE_COMMA_RBRACE2 = 233; // ::= '{' ',' '}' +// final int PROD_ARRAYINITIALIZER_LBRACE_RBRACE2 = 234; // ::= '{' '}' +// final int PROD_VARIABLEINITIALIZERS = 235; // ::= + final int PROD_VARIABLEINITIALIZERS_COMMA = 236; // ::= ',' +// final int PROD_BLOCK_LBRACE_RBRACE = 237; // ::= '{' '}' +// final int PROD_BLOCK_LBRACE_RBRACE2 = 238; // ::= '{' '}' +// final int PROD_BLOCKSTATEMENTS = 239; // ::= + final int PROD_BLOCKSTATEMENTS2 = 240; // ::= +// final int PROD_BLOCKSTATEMENT = 241; // ::= +// final int PROD_BLOCKSTATEMENT2 = 242; // ::= +// final int PROD_BLOCKSTATEMENT3 = 243; // ::= +// final int PROD_LOCALVARIABLEDECLARATIONSTATEMENT_SEMI = 244; // ::= ';' + final int PROD_LOCALVARIABLEDECLARATION_FINAL = 245; // ::= final + final int PROD_LOCALVARIABLEDECLARATION = 246; // ::= + final int PROD_LOCALCLASSDECLARATION = 247; // ::= +// final int PROD_LOCALCLASSDECLARATION2 = 248; // ::= +// final int PROD_LOCALCLASSMODIFIERS_ABSTRACT = 249; // ::= abstract +// final int PROD_LOCALCLASSMODIFIERS_FINAL = 250; // ::= final +// final int PROD_STATEMENT = 251; // ::= +// final int PROD_STATEMENT2 = 252; // ::= +// final int PROD_STATEMENT3 = 253; // ::= +// final int PROD_STATEMENT4 = 254; // ::= +// final int PROD_STATEMENT5 = 255; // ::= +// final int PROD_STATEMENT6 = 256; // ::= +// final int PROD_STATEMENTNOSHORTIF = 257; // ::= +// final int PROD_STATEMENTNOSHORTIF2 = 258; // ::= +// final int PROD_STATEMENTNOSHORTIF3 = 259; // ::= +// final int PROD_STATEMENTNOSHORTIF4 = 260; // ::= +// final int PROD_STATEMENTNOSHORTIF5 = 261; // ::= +// final int PROD_STATEMENTWITHOUTTRAILINGSUBSTATEMENT = 262; // ::= +// final int PROD_STATEMENTWITHOUTTRAILINGSUBSTATEMENT2 = 263; // ::= +// final int PROD_STATEMENTWITHOUTTRAILINGSUBSTATEMENT3 = 264; // ::= +// final int PROD_STATEMENTWITHOUTTRAILINGSUBSTATEMENT4 = 265; // ::= +// final int PROD_STATEMENTWITHOUTTRAILINGSUBSTATEMENT5 = 266; // ::= +// final int PROD_STATEMENTWITHOUTTRAILINGSUBSTATEMENT6 = 267; // ::= +// final int PROD_STATEMENTWITHOUTTRAILINGSUBSTATEMENT7 = 268; // ::= +// final int PROD_STATEMENTWITHOUTTRAILINGSUBSTATEMENT8 = 269; // ::= +// final int PROD_STATEMENTWITHOUTTRAILINGSUBSTATEMENT9 = 270; // ::= +// final int PROD_STATEMENTWITHOUTTRAILINGSUBSTATEMENT10 = 271; // ::= +// final int PROD_STATEMENTWITHOUTTRAILINGSUBSTATEMENT11 = 272; // ::= +// final int PROD_STATEMENTWITHOUTTRAILINGSUBSTATEMENT12 = 273; // ::= +// final int PROD_EMPTYSTATEMENT_SEMI = 274; // ::= ';' + final int PROD_LABELEDSTATEMENT_IDENTIFIER_COLON = 275; // ::= Identifier ':' + final int PROD_LABELEDSTATEMENTNOSHORTIF_IDENTIFIER_COLON = 276; // ::= Identifier ':' + final int PROD_EXPRESSIONSTATEMENT_SEMI = 277; // ::= ';' +// final int PROD_STATEMENTEXPRESSION = 278; // ::= +// final int PROD_STATEMENTEXPRESSION2 = 279; // ::= +// final int PROD_STATEMENTEXPRESSION3 = 280; // ::= +// final int PROD_STATEMENTEXPRESSION4 = 281; // ::= +// final int PROD_STATEMENTEXPRESSION5 = 282; // ::= +// final int PROD_STATEMENTEXPRESSION6 = 283; // ::= +// final int PROD_STATEMENTEXPRESSION7 = 284; // ::= + final int PROD_IFTHENSTATEMENT_IF_LPAREN_RPAREN = 285; // ::= if '(' ')' + final int PROD_IFTHENELSESTATEMENT_IF_LPAREN_RPAREN_ELSE = 286; // ::= if '(' ')' else + final int PROD_IFTHENELSESTATEMENTNOSHORTIF_IF_LPAREN_RPAREN_ELSE = 287; // ::= if '(' ')' else + final int PROD_SWITCHSTATEMENT_SWITCH_LPAREN_RPAREN = 288; // ::= switch '(' ')' + final int PROD_SWITCHBLOCK_LBRACE_RBRACE = 289; // ::= '{' '}' +// final int PROD_SWITCHBLOCK_LBRACE_RBRACE2 = 290; // ::= '{' '}' + final int PROD_SWITCHBLOCK_LBRACE_RBRACE3 = 291; // ::= '{' '}' + final int PROD_SWITCHBLOCK_LBRACE_RBRACE4 = 292; // ::= '{' '}' +// final int PROD_SWITCHBLOCKSTATEMENTGROUPS = 293; // ::= + final int PROD_SWITCHBLOCKSTATEMENTGROUPS2 = 294; // ::= +// final int PROD_SWITCHBLOCKSTATEMENTGROUP = 295; // ::= +// final int PROD_SWITCHLABELS = 296; // ::= + final int PROD_SWITCHLABELS2 = 297; // ::= +// final int PROD_SWITCHLABEL_CASE_COLON = 298; // ::= case ':' + final int PROD_SWITCHLABEL_DEFAULT_COLON = 299; // ::= default ':' + final int PROD_WHILESTATEMENT_WHILE_LPAREN_RPAREN = 300; // ::= while '(' ')' + final int PROD_WHILESTATEMENTNOSHORTIF_WHILE_LPAREN_RPAREN = 301; // ::= while '(' ')' + final int PROD_DOSTATEMENT_DO_WHILE_LPAREN_RPAREN_SEMI = 302; // ::= do while '(' ')' ';' +// final int PROD_FORSTATEMENT = 303; // ::= +// final int PROD_FORSTATEMENT2 = 304; // ::= + final int PROD_BASICFORSTATEMENT_FOR_LPAREN_SEMI_SEMI_RPAREN = 305; // ::= for '(' ';' ';' ')' +// final int PROD_EXPRESSIONOPT = 306; // ::= +// final int PROD_EXPRESSIONOPT2 = 307; // ::= +// final int PROD_FORSTATEMENTNOSHORTIF = 308; // ::= +// final int PROD_FORSTATEMENTNOSHORTIF2 = 309; // ::= + final int PROD_BASICFORSTATEMENTNOSHORTIF_FOR_LPAREN_SEMI_SEMI_RPAREN = 310; // ::= for '(' ';' ';' ')' +// final int PROD_FORINITOPT = 311; // ::= +// final int PROD_FORINITOPT2 = 312; // ::= +// final int PROD_FORINITOPT3 = 313; // ::= +// final int PROD_FORUPDATEOPT = 314; // ::= +// final int PROD_FORUPDATEOPT2 = 315; // ::= + final int PROD_ENHANCEDFORSTATEMENT_FOR_LPAREN_FINAL_COLON_RPAREN = 316; // ::= for '(' final ':' ')' + final int PROD_ENHANCEDFORSTATEMENT_FOR_LPAREN_COLON_RPAREN = 317; // ::= for '(' ':' ')' + final int PROD_ENHANCEDFORSTATEMENTNOSHORTIF_FOR_LPAREN_FINAL_COLON_RPAREN = 318; // ::= for '(' final ':' ')' + final int PROD_ENHANCEDFORSTATEMENTNOSHORTIF_FOR_LPAREN_COLON_RPAREN = 319; // ::= for '(' ':' ')' +// final int PROD_STATEMENTEXPRESSIONLIST = 320; // ::= +// final int PROD_STATEMENTEXPRESSIONLIST_COMMA = 321; // ::= ',' + final int PROD_BREAKSTATEMENT_BREAK_IDENTIFIER_SEMI = 322; // ::= break Identifier ';' + final int PROD_BREAKSTATEMENT_BREAK_SEMI = 323; // ::= break ';' + final int PROD_CONTINUESTATEMENT_CONTINUE_IDENTIFIER_SEMI = 324; // ::= continue Identifier ';' + final int PROD_CONTINUESTATEMENT_CONTINUE_SEMI = 325; // ::= continue ';' + final int PROD_RETURNSTATEMENT_RETURN_SEMI = 326; // ::= return ';' + final int PROD_RETURNSTATEMENT_RETURN_SEMI2 = 327; // ::= return ';' + final int PROD_THROWSTATEMENT_THROW_SEMI = 328; // ::= throw ';' + final int PROD_SYNCHRONIZEDSTATEMENT_SYNCHRONIZED_LPAREN_RPAREN = 329; // ::= synchronized '(' ')' + final int PROD_TRYSTATEMENT_TRY = 330; // ::= try + final int PROD_TRYSTATEMENT_TRY2 = 331; // ::= try + final int PROD_TRYSTATEMENT_TRY3 = 332; // ::= try + final int PROD_TRYSTATEMENT_TRY4 = 333; // ::= try + final int PROD_TRYSTATEMENT_TRY5 = 334; // ::= try + final int PROD_TRYSTATEMENT_TRY6 = 335; // ::= try + final int PROD_TRYSTATEMENT_TRY7 = 336; // ::= try +// final int PROD_CATCHES = 337; // ::= + final int PROD_CATCHES2 = 338; // ::= +// final int PROD_CATCHCLAUSE_CATCH_LPAREN_RPAREN = 339; // ::= catch '(' ')' + final int PROD_CATCHFORMALPARAMETER_FINAL = 340; // ::= final +// final int PROD_CATCHFORMALPARAMETER = 341; // ::= +// final int PROD_CATCHTYPE = 342; // ::= + final int PROD_CATCHTYPE_PIPE = 343; // ::= '|' +// final int PROD_FINALLY_FINALLY = 344; // ::= finally + final int PROD_ASSERTSTATEMENT_ASSERT = 345; // ::= assert +// final int PROD_ASSERTMESSAGEOPT_COLON = 346; // ::= ':' +// final int PROD_ASSERTMESSAGEOPT = 347; // ::= +// final int PROD_RESOURCESPECIFICATION_LPAREN_RPAREN = 348; // ::= '(' ')' +// final int PROD_RESOURCESPECIFICATION_LPAREN_SEMI_RPAREN = 349; // ::= '(' ';' ')' +// final int PROD_RESOURCES = 350; // ::= + final int PROD_RESOURCES_SEMI = 351; // ::= ';' +// final int PROD_RESOURCE_EQ = 352; // ::= '=' + final int PROD_RESOURCE_FINAL_EQ = 353; // ::= final '=' +// final int PROD_PRIMARY = 354; // ::= +// final int PROD_PRIMARY2 = 355; // ::= +// final int PROD_PRIMARYNONEWARRAY = 356; // ::= +// final int PROD_PRIMARYNONEWARRAY_THIS = 357; // ::= this + final int PROD_PRIMARYNONEWARRAY_LPAREN_RPAREN = 358; // ::= '(' ')' +// final int PROD_PRIMARYNONEWARRAY2 = 359; // ::= +// final int PROD_PRIMARYNONEWARRAY3 = 360; // ::= +// final int PROD_PRIMARYNONEWARRAY4 = 361; // ::= +// final int PROD_PRIMARYNONEWARRAY5 = 362; // ::= +// final int PROD_PRIMARYNONEWARRAY6 = 363; // ::= + final int PROD_CLASSINSTANCECREATIONEXPRESSION_NEW_LPAREN_RPAREN = 364; // ::= new '(' ')' + final int PROD_CLASSINSTANCECREATIONEXPRESSION_NEW_LPAREN_RPAREN2 = 365; // ::= new '(' ')' + final int PROD_CLASSINSTANCECREATIONEXPRESSION_NEW_LPAREN_RPAREN3 = 366; // ::= new '(' ')' + final int PROD_CLASSINSTANCECREATIONEXPRESSION_NEW_LPAREN_RPAREN4 = 367; // ::= new '(' ')' +// final int PROD_ARGUMENTLIST = 368; // ::= + final int PROD_ARGUMENTLIST_COMMA = 369; // ::= ',' + final int PROD_ARRAYCREATIONEXPRESSION_NEW = 370; // ::= new + final int PROD_ARRAYCREATIONEXPRESSION_NEW2 = 371; // ::= new + final int PROD_ARRAYCREATIONEXPRESSION_NEW3 = 372; // ::= new + final int PROD_ARRAYCREATIONEXPRESSION_NEW4 = 373; // ::= new + final int PROD_ARRAYCREATIONEXPRESSION_NEW5 = 374; // ::= new + final int PROD_ARRAYCREATIONEXPRESSION_NEW6 = 375; // ::= new +// final int PROD_DIMEXPRS = 376; // ::= +// final int PROD_DIMEXPRS2 = 377; // ::= +// final int PROD_DIMEXPR_LBRACKET_RBRACKET = 378; // ::= '[' ']' +// final int PROD_DIMS_LBRACKET_RBRACKET = 379; // ::= '[' ']' +// final int PROD_DIMS_LBRACKET_RBRACKET2 = 380; // ::= '[' ']' + final int PROD_FIELDACCESS_DOT_IDENTIFIER = 381; // ::= '.' Identifier + final int PROD_FIELDACCESS_SUPER_DOT_IDENTIFIER = 382; // ::= super '.' Identifier + final int PROD_METHODINVOCATION_LPAREN_RPAREN = 383; // ::= '(' ')' + final int PROD_METHODINVOCATION_LPAREN_RPAREN2 = 384; // ::= '(' ')' + final int PROD_METHODINVOCATION_DOT_IDENTIFIER_LPAREN_RPAREN = 385; // ::= '.' Identifier '(' ')' + final int PROD_METHODINVOCATION_DOT_IDENTIFIER_LPAREN_RPAREN2 = 386; // ::= '.' Identifier '(' ')' + final int PROD_METHODINVOCATION_SUPER_DOT_IDENTIFIER_LPAREN_RPAREN = 387; // ::= super '.' Identifier '(' ')' + final int PROD_METHODINVOCATION_SUPER_DOT_IDENTIFIER_LPAREN_RPAREN2 = 388; // ::= super '.' Identifier '(' ')' + final int PROD_PROCESSINGTYPECONVERSION_INT_LPAREN_RPAREN = 389; // ::= int '(' ')' + final int PROD_PROCESSINGTYPECONVERSION_BYTE_LPAREN_RPAREN = 390; // ::= byte '(' ')' + final int PROD_PROCESSINGTYPECONVERSION_CHAR_LPAREN_RPAREN = 391; // ::= char '(' ')' + final int PROD_PROCESSINGTYPECONVERSION_FLOAT_LPAREN_RPAREN = 392; // ::= float '(' ')' + final int PROD_PROCESSINGTYPECONVERSION_BOOLEAN_LPAREN_RPAREN = 393; // ::= boolean '(' ')' + final int PROD_ARRAYACCESS_LBRACKET_RBRACKET = 394; // ::= '[' ']' + final int PROD_ARRAYACCESS_LBRACKET_RBRACKET2 = 395; // ::= '[' ']' +// final int PROD_POSTFIXEXPRESSION = 396; // ::= +// final int PROD_POSTFIXEXPRESSION2 = 397; // ::= +// final int PROD_POSTFIXEXPRESSION3 = 398; // ::= +// final int PROD_POSTFIXEXPRESSION4 = 399; // ::= + final int PROD_POSTINCREMENTEXPRESSION_PLUSPLUS = 400; // ::= '++' + final int PROD_POSTDECREMENTEXPRESSION_MINUSMINUS = 401; // ::= '--' +// final int PROD_UNARYEXPRESSION = 402; // ::= +// final int PROD_UNARYEXPRESSION2 = 403; // ::= + final int PROD_UNARYEXPRESSION_PLUS = 404; // ::= '+' + final int PROD_UNARYEXPRESSION_MINUS = 405; // ::= '-' +// final int PROD_UNARYEXPRESSION3 = 406; // ::= + final int PROD_PREINCREMENTEXPRESSION_PLUSPLUS = 407; // ::= '++' + final int PROD_PREDECREMENTEXPRESSION_MINUSMINUS = 408; // ::= '--' +// final int PROD_UNARYEXPRESSIONNOTPLUSMINUS = 409; // ::= + final int PROD_UNARYEXPRESSIONNOTPLUSMINUS_TILDE = 410; // ::= '~' + final int PROD_UNARYEXPRESSIONNOTPLUSMINUS_EXCLAM = 411; // ::= '!' +// final int PROD_UNARYEXPRESSIONNOTPLUSMINUS2 = 412; // ::= + final int PROD_CASTEXPRESSION_LPAREN_RPAREN = 413; // ::= '(' ')' + final int PROD_CASTEXPRESSION_LPAREN_RPAREN2 = 414; // ::= '(' ')' + final int PROD_CASTEXPRESSION_LPAREN_RPAREN3 = 415; // ::= '(' ')' + final int PROD_CASTEXPRESSION_LPAREN_RPAREN4 = 416; // ::= '(' ')' +// final int PROD_MULTIPLICATIVEEXPRESSION = 417; // ::= + final int PROD_MULTIPLICATIVEEXPRESSION_TIMES = 418; // ::= '*' + final int PROD_MULTIPLICATIVEEXPRESSION_DIV = 419; // ::= '/' + final int PROD_MULTIPLICATIVEEXPRESSION_PERCENT = 420; // ::= '%' +// final int PROD_ADDITIVEEXPRESSION = 421; // ::= + final int PROD_ADDITIVEEXPRESSION_PLUS = 422; // ::= '+' + final int PROD_ADDITIVEEXPRESSION_MINUS = 423; // ::= '-' +// final int PROD_SHIFTEXPRESSION = 424; // ::= + final int PROD_SHIFTEXPRESSION_LTLT = 425; // ::= '<<' + final int PROD_SHIFTEXPRESSION_GTGT = 426; // ::= '>>' + final int PROD_SHIFTEXPRESSION_GTGTGT = 427; // ::= '>>>' +// final int PROD_RELATIONALEXPRESSION = 428; // ::= + final int PROD_RELATIONALEXPRESSION_LT = 429; // ::= '<' + final int PROD_RELATIONALEXPRESSION_GT = 430; // ::= '>' + final int PROD_RELATIONALEXPRESSION_LTEQ = 431; // ::= '<=' + final int PROD_RELATIONALEXPRESSION_GTEQ = 432; // ::= '>=' + final int PROD_RELATIONALEXPRESSION_INSTANCEOF = 433; // ::= instanceof +// final int PROD_EQUALITYEXPRESSION = 434; // ::= + final int PROD_EQUALITYEXPRESSION_EQEQ = 435; // ::= '==' + final int PROD_EQUALITYEXPRESSION_EXCLAMEQ = 436; // ::= '!=' +// final int PROD_ANDEXPRESSION = 437; // ::= + final int PROD_ANDEXPRESSION_AMP = 438; // ::= '&' +// final int PROD_EXCLUSIVEOREXPRESSION = 439; // ::= + final int PROD_EXCLUSIVEOREXPRESSION_CARET = 440; // ::= '^' +// final int PROD_INCLUSIVEOREXPRESSION = 441; // ::= + final int PROD_INCLUSIVEOREXPRESSION_PIPE = 442; // ::= '|' +// final int PROD_CONDITIONALANDEXPRESSION = 443; // ::= + final int PROD_CONDITIONALANDEXPRESSION_AMPAMP = 444; // ::= '&&' +// final int PROD_CONDITIONALOREXPRESSION = 445; // ::= + final int PROD_CONDITIONALOREXPRESSION_PIPEPIPE = 446; // ::= '||' +// final int PROD_CONDITIONALEXPRESSION = 447; // ::= + final int PROD_CONDITIONALEXPRESSION_QUESTION_COLON = 448; // ::= '?' ':' +// final int PROD_ASSIGNMENTEXPRESSION = 449; // ::= +// final int PROD_ASSIGNMENTEXPRESSION2 = 450; // ::= + final int PROD_ASSIGNMENT = 451; // ::= +// final int PROD_LEFTHANDSIDE = 452; // ::= +// final int PROD_LEFTHANDSIDE2 = 453; // ::= +// final int PROD_LEFTHANDSIDE3 = 454; // ::= + final int PROD_ASSIGNMENTOPERATOR_EQ = 455; // ::= '=' +// final int PROD_ASSIGNMENTOPERATOR_TIMESEQ = 456; // ::= '*=' +// final int PROD_ASSIGNMENTOPERATOR_DIVEQ = 457; // ::= '/=' +// final int PROD_ASSIGNMENTOPERATOR_PERCENTEQ = 458; // ::= '%=' + final int PROD_ASSIGNMENTOPERATOR_PLUSEQ = 459; // ::= '+=' + final int PROD_ASSIGNMENTOPERATOR_MINUSEQ = 460; // ::= '-=' +// final int PROD_ASSIGNMENTOPERATOR_LTLTEQ = 461; // ::= '<<=' +// final int PROD_ASSIGNMENTOPERATOR_GTGTEQ = 462; // ::= '>>=' +// final int PROD_ASSIGNMENTOPERATOR_GTGTGTEQ = 463; // ::= '>>>=' +// final int PROD_ASSIGNMENTOPERATOR_AMPEQ = 464; // ::= '&=' +// final int PROD_ASSIGNMENTOPERATOR_CARETEQ = 465; // ::= '^=' +// final int PROD_ASSIGNMENTOPERATOR_PIPEEQ = 466; // ::= '|=' +// final int PROD_EXPRESSION = 467; // ::= +// final int PROD_CONSTANTEXPRESSION = 468; // ::= }; //----------------------------- Comment configuration ----------------------------- @@ -1066,8 +1068,8 @@ private interface RuleConstants // START KGU#1122 2024-03-12: Bugfix #1136 Temporary replacements for certain angular brackets /** A String array with temporary substitutes for '<' (at [0]), ',' (at [1]), '>' (at [2]), - * '[' (at [3]), and ']' (at [4]) within type castings */ - static final String[] ANG_BRACK_SUBST = {"íí", "îî", "ìì", "úú", "ùù"}; + * '[' (at [3]), ']' (at [4]), and '?' (at [5]) within type castings */ + static final String[] ANG_BRACK_SUBST = {"íí", "îî", "ìì", "úú", "ùù", "ûû"}; // END KGU#1122 2024-03-12 /** @@ -1181,7 +1183,7 @@ protected File prepareTextfile(String _textToParse, String _encoding) throws Par castMatcher.reset(strLine); arrayDeclMatcher.reset(strLine); if (castMatcher.matches() || arrayDeclMatcher.matches() - || strLine.contains(">>") || strLine.contains("?>") || strLine.contains("<>")) { + || strLine.contains(">>") || strLine.contains("<>")) { boolean replaced = false; StringList tokens = Element.splitLexically(strLine, true); // Initially decompose all ">>" tokens into ">", ">" ... @@ -1197,23 +1199,13 @@ protected File prepareTextfile(String _textToParse, String _encoding) throws Par replaced = true; } // END KGU#1122 2024-03-18 - // ... and remove all token sequences "<", "?", ">" and "<", ">". + // ... and remove all token sequences "<", ">". posAngBr = -1; while ((posAngBr = tokens.indexOf(">", posAngBr+1)) >= 0) { int pos = posAngBr - 1; while (pos > 0 && tokens.get(pos).isBlank()) pos--; - if (pos > 0 && tokens.get(pos).equals("?")) { - // Look for preceding "<" in order to verify "<", "?", ">" - while (--pos >= 0 && tokens.get(pos).isBlank()); - if (pos >= 0 && tokens.get(pos).equals("<")) { - // Found token sequence "<", "?", ">", so efface it - tokens.remove(pos, posAngBr+1); - replaced = true; - posAngBr = pos; - } - } // START KGU#1122 2024-03-18: Bugfix #1136 - else if (pos > 0 && tokens.get(pos).equals("<")) { + if (pos > 0 && tokens.get(pos).equals("<")) { // Found token sequence "<", ">", which can only be an empty type param list tokens.remove(pos, posAngBr+1); replaced = true; @@ -1324,7 +1316,7 @@ else if (!isCast && angCount == 0) { } } else if (!Function.testIdentifier(token, false, "$") - && !(token.length() == 1 && "[],.".contains(token))) { + && !(token.length() == 1 && "[],.?".contains(token))) { break; } posPar0--; @@ -1338,6 +1330,7 @@ && isTypeSpecificationList(tokens.subSequence(posId, posAngBr+1))) { tokens.replaceAllBetween(",", ANG_BRACK_SUBST[1], true, posPar0+1, posPar1); tokens.replaceAllBetween("[", ANG_BRACK_SUBST[3], true, posPar0+1, posPar1); tokens.replaceAllBetween("]", ANG_BRACK_SUBST[4], true, posPar0+1, posPar1); + tokens.replaceAllBetween("?", ANG_BRACK_SUBST[5], true, posPar0+1, posPar1); // Ensure the operator symbols will be restored after the parsing this.replacedIds.putIfAbsent(tokens.concatenate("", posId, posAngBr+1), origSequence); replaced = true; diff --git a/src/lu/fisch/structorizer/parsers/JavaSE8.egt b/src/lu/fisch/structorizer/parsers/JavaSE8.egt index 608f592e79d0b54b114d6a71725073b0cddfb477..ce3d8c0ce4c07ffccee9d27d7a11b162c559e644 100644 GIT binary patch delta 52969 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 delta 53630 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 diff --git a/src/lu/fisch/structorizer/parsers/JavaSE8.grm b/src/lu/fisch/structorizer/parsers/JavaSE8.grm index f8826d69..541bdbce 100644 --- a/src/lu/fisch/structorizer/parsers/JavaSE8.grm +++ b/src/lu/fisch/structorizer/parsers/JavaSE8.grm @@ -62,7 +62,7 @@ ! V 0.8 2024-03-18 Kay Gürtzig Identifier syntax extended to {All Latin} (as Java accepts them in fact), ! introduced (#1142), enum without enabled (#1143) ! V 0.9 2024-03-20 Kay Gürtzig Missing empty rule for added (#1150), -! tab added to {String Char} (#1151) +! tab added to {String Char} (#1151), '?' enabled as (#1136) ! ----------------------------------------------------------------------- "Name" = 'Java SE 8' @@ -292,6 +292,7 @@ Comment Line = '//' ::= Identifier + | '?' ::= 'extends'