javacc-7.0.3.examples.JavaGrammars.cpp.gen.JavaParser.cc Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of javacc Show documentation
Show all versions of javacc Show documentation
JavaCC is a parser/scanner generator for Java.
/* JavaParser.cc */
#include "JavaParser.h"
#include "TokenMgrError.h"
#include "SimpleNode.h"
namespace java {
namespace parser {
unsigned int jj_la1_0[] = {
0x0,0x0,0x20102000,0x0,0x2000,0x20002000,0x20002000,0x8000000,0x0,0xa2196000,0x20002000,0x20002000,0xa2094000,0x20002000,0x20002000,0x2000,0x2000,0x20002000,0x20002000,0x8000000,0xa2196000,0xa2094000,0x20000000,0x20000000,0x0,0x0,0x0,0x92094000,0x92094000,0x0,0x20002000,0x20002000,0x0,0x0,0x0,0x0,0xa2094000,0x20000000,0x0,0x0,0x0,0xb359c000,0x92094000,0x0,0x82094000,0x0,0x82094000,0x82094000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x92094000,0x0,0x0,0x92094000,0x10000000,0x0,0x0,0x0,0x0,0x10000000,0x0,0x0,0x10000000,0x10000000,0x92094000,0x0,0x0,0x0,0x0,0x0,0x0,0x9349c000,0xb359c000,0x9359c000,0x20000000,0x0,0x0,0x0,0x92094000,0x820000,0xb359c000,0x820000,0x4000000,0xb2094000,0x92094000,0x92094000,0x92094000,0x0,0x0,0x0,0x92094000,0x40000,0x40000000,};
unsigned int jj_la1_1[] = {
0x1000,0x10,0x8080,0x0,0x8080,0x8000,0x8000,0x0,0x8,0x3226e3c0,0x4e000,0x4e000,0x2206e140,0x24e200,0x24e200,0x8000,0x8000,0x4e000,0x4e000,0x0,0x3226e3c0,0x2206e140,0x2204e000,0x2204e000,0x0,0x0,0x0,0x944a0d40,0x944a0d40,0x0,0x24e200,0x24e200,0x1000000,0x0,0x0,0x0,0x20140,0x0,0xe000,0xe000,0x1000000,0xdcfb0dc5,0x944a0d40,0x40000,0x20140,0x0,0x20140,0x10020140,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x20,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x944a0d40,0x0,0x0,0x944a0d40,0x84480c00,0x0,0x0,0x0,0x0,0x84480c00,0x0,0x0,0x84000800,0x4000000,0x944a0d40,0x0,0x0,0x0,0x400,0x0,0x0,0xdcfb0d45,0xdcfb0dc5,0xdcfb0dc5,0x0,0x0,0x0,0x0,0x944a0d40,0x0,0xdcfb0dc5,0x0,0x0,0x944a0d40,0x944a0d40,0x944a0d40,0x944a0d40,0x0,0x0,0x0,0x944a0d40,0x0,0x0,};
unsigned int jj_la1_2[] = {
0x0,0x0,0x10000,0x40000,0x10000,0x0,0x0,0x0,0x0,0x1080,0x0,0x0,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x80,0x80,0x0,0x0,0x20000,0x80000,0x4000,0xc014e8,0xc014e8,0x20000,0x0,0x0,0x0,0x11000,0x4000,0x20000,0x80,0x0,0x0,0x0,0x0,0x114e8,0x4e8,0x0,0x80,0x4000,0x0,0x80,0x20000,0x80000,0x80000,0x1000000,0x40000000,0x80000000,0x0,0x0,0x0,0x24000000,0x24000000,0x0,0x18300000,0x18300000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xc004e8,0xc00000,0xc00000,0x4e8,0xc004e8,0x400,0x0,0x0,0x400,0x468,0x80,0x44400,0x68,0x0,0xc004e8,0x20000,0x1000,0x4400,0x0,0x4000,0x4000,0x114e8,0x114e8,0x114e8,0x0,0x20000,0x80000,0x80000,0x4e8,0x0,0x114e8,0x0,0x0,0x4e8,0xc004e8,0x4e8,0x4e8,0x20000,0x80,0x80,0xc004e8,0x0,0x0,};
unsigned int jj_la1_3[] = {
0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xf,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xffe000,0xffe000,0x0,0x0,0x0,0x80,0x100,0x40,0x0,0x0,0x0,0x0,0x0,0x1c00,0x1c00,0xc,0xc,0x230,0x230,0xc,0xf,0x0,0x0,0x0,0x0,0x0,0x3,0x3,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0x3,0x3,0x0,0x0,0xffe003,0xffe003,0x3,0x0,0x3,0x0,0x0,0x3,0xf,0x3,0x3,0x0,0x0,0x0,0xf,0x0,0x0,};
/** Constructor with user supplied TokenManager. */
void JavaParser::CompilationUnit() {/*@bgen(jjtree) CompilationUnit */
SimpleNode *jjtn000 = new SimpleNode(JJTCOMPILATIONUNIT);
bool jjtc000 = true;
jjtree.openNodeScope(jjtn000);
try {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case PACKAGE:{
PackageDeclaration();
break;
}
default:
jj_la1[0] = jj_gen;
;
}
while (!hasError) {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case IMPORT:{
;
break;
}
default:
jj_la1[1] = jj_gen;
goto end_label_1;
}
ImportDeclaration();
}
end_label_1: ;
while (!hasError) {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case ABSTRACT:
case CLASS:
case FINAL:
case INTERFACE:
case PUBLIC:
case SEMICOLON:{
;
break;
}
default:
jj_la1[2] = jj_gen;
goto end_label_2;
}
TypeDeclaration();
}
end_label_2: ;
jj_consume_token(0);
} catch ( ...) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
}
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
}
}
void JavaParser::PackageDeclaration() {/*@bgen(jjtree) PackageDeclaration */
SimpleNode *jjtn000 = new SimpleNode(JJTPACKAGEDECLARATION);
bool jjtc000 = true;
jjtree.openNodeScope(jjtn000);
try {
jj_consume_token(PACKAGE);
Name();
jj_consume_token(SEMICOLON);
} catch ( ...) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
}
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
}
}
void JavaParser::ImportDeclaration() {/*@bgen(jjtree) ImportDeclaration */
SimpleNode *jjtn000 = new SimpleNode(JJTIMPORTDECLARATION);
bool jjtc000 = true;
jjtree.openNodeScope(jjtn000);
try {
jj_consume_token(IMPORT);
Name();
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case DOT:{
jj_consume_token(DOT);
jj_consume_token(STAR);
break;
}
default:
jj_la1[3] = jj_gen;
;
}
jj_consume_token(SEMICOLON);
} catch ( ...) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
}
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
}
}
void JavaParser::TypeDeclaration() {/*@bgen(jjtree) TypeDeclaration */
SimpleNode *jjtn000 = new SimpleNode(JJTTYPEDECLARATION);
bool jjtc000 = true;
jjtree.openNodeScope(jjtn000);
try {
if (jj_2_1(2147483647)) {
ClassDeclaration();
} else {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case ABSTRACT:
case INTERFACE:
case PUBLIC:{
InterfaceDeclaration();
break;
}
case SEMICOLON:{
jj_consume_token(SEMICOLON);
break;
}
default:
jj_la1[4] = jj_gen;
jj_consume_token(-1);
errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
}
}
} catch ( ...) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
}
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
}
}
void JavaParser::ClassDeclaration() {/*@bgen(jjtree) ClassDeclaration */
SimpleNode *jjtn000 = new SimpleNode(JJTCLASSDECLARATION);
bool jjtc000 = true;
jjtree.openNodeScope(jjtn000);
try {
while (!hasError) {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case ABSTRACT:
case FINAL:
case PUBLIC:{
;
break;
}
default:
jj_la1[5] = jj_gen;
goto end_label_3;
}
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case ABSTRACT:{
jj_consume_token(ABSTRACT);
break;
}
case FINAL:{
jj_consume_token(FINAL);
break;
}
case PUBLIC:{
jj_consume_token(PUBLIC);
break;
}
default:
jj_la1[6] = jj_gen;
jj_consume_token(-1);
errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
}
}
end_label_3: ;
UnmodifiedClassDeclaration();
} catch ( ...) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
}
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
}
}
void JavaParser::UnmodifiedClassDeclaration() {/*@bgen(jjtree) UnmodifiedClassDeclaration */
SimpleNode *jjtn000 = new SimpleNode(JJTUNMODIFIEDCLASSDECLARATION);
bool jjtc000 = true;
jjtree.openNodeScope(jjtn000);
try {
jj_consume_token(CLASS);
jj_consume_token(IDENTIFIER);
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case EXTENDS:{
jj_consume_token(EXTENDS);
Name();
break;
}
default:
jj_la1[7] = jj_gen;
;
}
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case IMPLEMENTS:{
jj_consume_token(IMPLEMENTS);
NameList();
break;
}
default:
jj_la1[8] = jj_gen;
;
}
ClassBody();
} catch ( ...) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
}
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
}
}
void JavaParser::ClassBody() {/*@bgen(jjtree) ClassBody */
SimpleNode *jjtn000 = new SimpleNode(JJTCLASSBODY);
bool jjtc000 = true;
jjtree.openNodeScope(jjtn000);
try {
jj_consume_token(LBRACE);
while (!hasError) {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case ABSTRACT:
case BOOLEAN:
case BYTE:
case CHAR:
case CLASS:
case DOUBLE:
case FINAL:
case FLOAT:
case INT:
case INTERFACE:
case LONG:
case NATIVE:
case PRIVATE:
case PROTECTED:
case PUBLIC:
case SHORT:
case STATIC:
case SYNCHRONIZED:
case TRANSIENT:
case VOID:
case VOLATILE:
case IDENTIFIER:
case LBRACE:{
;
break;
}
default:
jj_la1[9] = jj_gen;
goto end_label_4;
}
ClassBodyDeclaration();
}
end_label_4: ;
jj_consume_token(RBRACE);
} catch ( ...) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
}
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
}
}
void JavaParser::NestedClassDeclaration() {/*@bgen(jjtree) NestedClassDeclaration */
SimpleNode *jjtn000 = new SimpleNode(JJTNESTEDCLASSDECLARATION);
bool jjtc000 = true;
jjtree.openNodeScope(jjtn000);
try {
while (!hasError) {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case ABSTRACT:
case FINAL:
case PRIVATE:
case PROTECTED:
case PUBLIC:
case STATIC:{
;
break;
}
default:
jj_la1[10] = jj_gen;
goto end_label_5;
}
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case STATIC:{
jj_consume_token(STATIC);
break;
}
case ABSTRACT:{
jj_consume_token(ABSTRACT);
break;
}
case FINAL:{
jj_consume_token(FINAL);
break;
}
case PUBLIC:{
jj_consume_token(PUBLIC);
break;
}
case PROTECTED:{
jj_consume_token(PROTECTED);
break;
}
case PRIVATE:{
jj_consume_token(PRIVATE);
break;
}
default:
jj_la1[11] = jj_gen;
jj_consume_token(-1);
errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
}
}
end_label_5: ;
UnmodifiedClassDeclaration();
} catch ( ...) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
}
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
}
}
void JavaParser::ClassBodyDeclaration() {/*@bgen(jjtree) ClassBodyDeclaration */
SimpleNode *jjtn000 = new SimpleNode(JJTCLASSBODYDECLARATION);
bool jjtc000 = true;
jjtree.openNodeScope(jjtn000);
try {
if (jj_2_2(2)) {
Initializer();
} else if (jj_2_3(2147483647)) {
NestedClassDeclaration();
} else if (jj_2_4(2147483647)) {
NestedInterfaceDeclaration();
} else if (jj_2_5(2147483647)) {
ConstructorDeclaration();
} else if (jj_2_6(2147483647)) {
MethodDeclaration();
} else {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case BOOLEAN:
case BYTE:
case CHAR:
case DOUBLE:
case FINAL:
case FLOAT:
case INT:
case LONG:
case PRIVATE:
case PROTECTED:
case PUBLIC:
case SHORT:
case STATIC:
case TRANSIENT:
case VOLATILE:
case IDENTIFIER:{
FieldDeclaration();
break;
}
default:
jj_la1[12] = jj_gen;
jj_consume_token(-1);
errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
}
}
} catch ( ...) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
}
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
}
}
void JavaParser::MethodDeclarationLookahead() {/*@bgen(jjtree) MethodDeclarationLookahead */
SimpleNode *jjtn000 = new SimpleNode(JJTMETHODDECLARATIONLOOKAHEAD);
bool jjtc000 = true;
jjtree.openNodeScope(jjtn000);
try {
while (!hasError) {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case ABSTRACT:
case FINAL:
case NATIVE:
case PRIVATE:
case PROTECTED:
case PUBLIC:
case STATIC:
case SYNCHRONIZED:{
;
break;
}
default:
jj_la1[13] = jj_gen;
goto end_label_6;
}
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case PUBLIC:{
jj_consume_token(PUBLIC);
break;
}
case PROTECTED:{
jj_consume_token(PROTECTED);
break;
}
case PRIVATE:{
jj_consume_token(PRIVATE);
break;
}
case STATIC:{
jj_consume_token(STATIC);
break;
}
case ABSTRACT:{
jj_consume_token(ABSTRACT);
break;
}
case FINAL:{
jj_consume_token(FINAL);
break;
}
case NATIVE:{
jj_consume_token(NATIVE);
break;
}
case SYNCHRONIZED:{
jj_consume_token(SYNCHRONIZED);
break;
}
default:
jj_la1[14] = jj_gen;
jj_consume_token(-1);
errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
}
}
end_label_6: ;
ResultType();
jj_consume_token(IDENTIFIER);
jj_consume_token(LPAREN);
} catch ( ...) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
}
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
}
}
void JavaParser::InterfaceDeclaration() {/*@bgen(jjtree) InterfaceDeclaration */
SimpleNode *jjtn000 = new SimpleNode(JJTINTERFACEDECLARATION);
bool jjtc000 = true;
jjtree.openNodeScope(jjtn000);
try {
while (!hasError) {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case ABSTRACT:
case PUBLIC:{
;
break;
}
default:
jj_la1[15] = jj_gen;
goto end_label_7;
}
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case ABSTRACT:{
jj_consume_token(ABSTRACT);
break;
}
case PUBLIC:{
jj_consume_token(PUBLIC);
break;
}
default:
jj_la1[16] = jj_gen;
jj_consume_token(-1);
errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
}
}
end_label_7: ;
UnmodifiedInterfaceDeclaration();
} catch ( ...) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
}
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
}
}
void JavaParser::NestedInterfaceDeclaration() {/*@bgen(jjtree) NestedInterfaceDeclaration */
SimpleNode *jjtn000 = new SimpleNode(JJTNESTEDINTERFACEDECLARATION);
bool jjtc000 = true;
jjtree.openNodeScope(jjtn000);
try {
while (!hasError) {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case ABSTRACT:
case FINAL:
case PRIVATE:
case PROTECTED:
case PUBLIC:
case STATIC:{
;
break;
}
default:
jj_la1[17] = jj_gen;
goto end_label_8;
}
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case STATIC:{
jj_consume_token(STATIC);
break;
}
case ABSTRACT:{
jj_consume_token(ABSTRACT);
break;
}
case FINAL:{
jj_consume_token(FINAL);
break;
}
case PUBLIC:{
jj_consume_token(PUBLIC);
break;
}
case PROTECTED:{
jj_consume_token(PROTECTED);
break;
}
case PRIVATE:{
jj_consume_token(PRIVATE);
break;
}
default:
jj_la1[18] = jj_gen;
jj_consume_token(-1);
errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
}
}
end_label_8: ;
UnmodifiedInterfaceDeclaration();
} catch ( ...) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
}
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
}
}
void JavaParser::UnmodifiedInterfaceDeclaration() {/*@bgen(jjtree) UnmodifiedInterfaceDeclaration */
SimpleNode *jjtn000 = new SimpleNode(JJTUNMODIFIEDINTERFACEDECLARATION);
bool jjtc000 = true;
jjtree.openNodeScope(jjtn000);
try {
jj_consume_token(INTERFACE);
jj_consume_token(IDENTIFIER);
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case EXTENDS:{
jj_consume_token(EXTENDS);
NameList();
break;
}
default:
jj_la1[19] = jj_gen;
;
}
jj_consume_token(LBRACE);
while (!hasError) {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case ABSTRACT:
case BOOLEAN:
case BYTE:
case CHAR:
case CLASS:
case DOUBLE:
case FINAL:
case FLOAT:
case INT:
case INTERFACE:
case LONG:
case NATIVE:
case PRIVATE:
case PROTECTED:
case PUBLIC:
case SHORT:
case STATIC:
case SYNCHRONIZED:
case TRANSIENT:
case VOID:
case VOLATILE:
case IDENTIFIER:{
;
break;
}
default:
jj_la1[20] = jj_gen;
goto end_label_9;
}
InterfaceMemberDeclaration();
}
end_label_9: ;
jj_consume_token(RBRACE);
} catch ( ...) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
}
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
}
}
void JavaParser::InterfaceMemberDeclaration() {/*@bgen(jjtree) InterfaceMemberDeclaration */
SimpleNode *jjtn000 = new SimpleNode(JJTINTERFACEMEMBERDECLARATION);
bool jjtc000 = true;
jjtree.openNodeScope(jjtn000);
try {
if (jj_2_7(2147483647)) {
NestedClassDeclaration();
} else if (jj_2_8(2147483647)) {
NestedInterfaceDeclaration();
} else if (jj_2_9(2147483647)) {
MethodDeclaration();
} else {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case BOOLEAN:
case BYTE:
case CHAR:
case DOUBLE:
case FINAL:
case FLOAT:
case INT:
case LONG:
case PRIVATE:
case PROTECTED:
case PUBLIC:
case SHORT:
case STATIC:
case TRANSIENT:
case VOLATILE:
case IDENTIFIER:{
FieldDeclaration();
break;
}
default:
jj_la1[21] = jj_gen;
jj_consume_token(-1);
errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
}
}
} catch ( ...) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
}
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
}
}
void JavaParser::FieldDeclaration() {/*@bgen(jjtree) FieldDeclaration */
SimpleNode *jjtn000 = new SimpleNode(JJTFIELDDECLARATION);
bool jjtc000 = true;
jjtree.openNodeScope(jjtn000);
try {
while (!hasError) {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case FINAL:
case PRIVATE:
case PROTECTED:
case PUBLIC:
case STATIC:
case TRANSIENT:
case VOLATILE:{
;
break;
}
default:
jj_la1[22] = jj_gen;
goto end_label_10;
}
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case PUBLIC:{
jj_consume_token(PUBLIC);
break;
}
case PROTECTED:{
jj_consume_token(PROTECTED);
break;
}
case PRIVATE:{
jj_consume_token(PRIVATE);
break;
}
case STATIC:{
jj_consume_token(STATIC);
break;
}
case FINAL:{
jj_consume_token(FINAL);
break;
}
case TRANSIENT:{
jj_consume_token(TRANSIENT);
break;
}
case VOLATILE:{
jj_consume_token(VOLATILE);
break;
}
default:
jj_la1[23] = jj_gen;
jj_consume_token(-1);
errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
}
}
end_label_10: ;
Type();
VariableDeclarator();
while (!hasError) {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case COMMA:{
;
break;
}
default:
jj_la1[24] = jj_gen;
goto end_label_11;
}
jj_consume_token(COMMA);
VariableDeclarator();
}
end_label_11: ;
jj_consume_token(SEMICOLON);
} catch ( ...) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
}
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
}
}
void JavaParser::VariableDeclarator() {/*@bgen(jjtree) VariableDeclarator */
SimpleNode *jjtn000 = new SimpleNode(JJTVARIABLEDECLARATOR);
bool jjtc000 = true;
jjtree.openNodeScope(jjtn000);
try {
VariableDeclaratorId();
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case ASSIGN:{
jj_consume_token(ASSIGN);
VariableInitializer();
break;
}
default:
jj_la1[25] = jj_gen;
;
}
} catch ( ...) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
}
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
}
}
void JavaParser::VariableDeclaratorId() {/*@bgen(jjtree) VariableDeclaratorId */
SimpleNode *jjtn000 = new SimpleNode(JJTVARIABLEDECLARATORID);
bool jjtc000 = true;
jjtree.openNodeScope(jjtn000);
try {
jj_consume_token(IDENTIFIER);
while (!hasError) {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case LBRACKET:{
;
break;
}
default:
jj_la1[26] = jj_gen;
goto end_label_12;
}
jj_consume_token(LBRACKET);
jj_consume_token(RBRACKET);
}
end_label_12: ;
} catch ( ...) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
}
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
}
}
void JavaParser::VariableInitializer() {/*@bgen(jjtree) VariableInitializer */
SimpleNode *jjtn000 = new SimpleNode(JJTVARIABLEINITIALIZER);
bool jjtc000 = true;
jjtree.openNodeScope(jjtn000);
try {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case LBRACE:{
ArrayInitializer();
break;
}
case BOOLEAN:
case BYTE:
case CHAR:
case DOUBLE:
case FALSE:
case FLOAT:
case INT:
case LONG:
case NEW:
case NULLL:
case SHORT:
case SUPER:
case THIS:
case TRUE:
case VOID:
case INTEGER_LITERAL:
case FLOATING_POINT_LITERAL:
case CHARACTER_LITERAL:
case STRING_LITERAL:
case IDENTIFIER:
case LPAREN:
case BANG:
case TILDE:
case INCR:
case DECR:
case PLUS:
case MINUS:{
Expression();
break;
}
default:
jj_la1[27] = jj_gen;
jj_consume_token(-1);
errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
}
} catch ( ...) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
}
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
}
}
void JavaParser::ArrayInitializer() {/*@bgen(jjtree) ArrayInitializer */
SimpleNode *jjtn000 = new SimpleNode(JJTARRAYINITIALIZER);
bool jjtc000 = true;
jjtree.openNodeScope(jjtn000);
try {
jj_consume_token(LBRACE);
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case BOOLEAN:
case BYTE:
case CHAR:
case DOUBLE:
case FALSE:
case FLOAT:
case INT:
case LONG:
case NEW:
case NULLL:
case SHORT:
case SUPER:
case THIS:
case TRUE:
case VOID:
case INTEGER_LITERAL:
case FLOATING_POINT_LITERAL:
case CHARACTER_LITERAL:
case STRING_LITERAL:
case IDENTIFIER:
case LPAREN:
case LBRACE:
case BANG:
case TILDE:
case INCR:
case DECR:
case PLUS:
case MINUS:{
VariableInitializer();
while (!hasError) {
if (jj_2_10(2)) {
;
} else {
goto end_label_13;
}
jj_consume_token(COMMA);
VariableInitializer();
}
end_label_13: ;
break;
}
default:
jj_la1[28] = jj_gen;
;
}
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case COMMA:{
jj_consume_token(COMMA);
break;
}
default:
jj_la1[29] = jj_gen;
;
}
jj_consume_token(RBRACE);
} catch ( ...) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
}
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
}
}
void JavaParser::MethodDeclaration() {/*@bgen(jjtree) MethodDeclaration */
SimpleNode *jjtn000 = new SimpleNode(JJTMETHODDECLARATION);
bool jjtc000 = true;
jjtree.openNodeScope(jjtn000);
try {
while (!hasError) {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case ABSTRACT:
case FINAL:
case NATIVE:
case PRIVATE:
case PROTECTED:
case PUBLIC:
case STATIC:
case SYNCHRONIZED:{
;
break;
}
default:
jj_la1[30] = jj_gen;
goto end_label_14;
}
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case PUBLIC:{
jj_consume_token(PUBLIC);
break;
}
case PROTECTED:{
jj_consume_token(PROTECTED);
break;
}
case PRIVATE:{
jj_consume_token(PRIVATE);
break;
}
case STATIC:{
jj_consume_token(STATIC);
break;
}
case ABSTRACT:{
jj_consume_token(ABSTRACT);
break;
}
case FINAL:{
jj_consume_token(FINAL);
break;
}
case NATIVE:{
jj_consume_token(NATIVE);
break;
}
case SYNCHRONIZED:{
jj_consume_token(SYNCHRONIZED);
break;
}
default:
jj_la1[31] = jj_gen;
jj_consume_token(-1);
errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
}
}
end_label_14: ;
ResultType();
MethodDeclarator();
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case THROWS:{
jj_consume_token(THROWS);
NameList();
break;
}
default:
jj_la1[32] = jj_gen;
;
}
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case LBRACE:{
Block();
break;
}
case SEMICOLON:{
jj_consume_token(SEMICOLON);
break;
}
default:
jj_la1[33] = jj_gen;
jj_consume_token(-1);
errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
}
} catch ( ...) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
}
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
}
}
void JavaParser::MethodDeclarator() {/*@bgen(jjtree) MethodDeclarator */
SimpleNode *jjtn000 = new SimpleNode(JJTMETHODDECLARATOR);
bool jjtc000 = true;
jjtree.openNodeScope(jjtn000);
try {
jj_consume_token(IDENTIFIER);
FormalParameters();
while (!hasError) {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case LBRACKET:{
;
break;
}
default:
jj_la1[34] = jj_gen;
goto end_label_15;
}
jj_consume_token(LBRACKET);
jj_consume_token(RBRACKET);
}
end_label_15: ;
} catch ( ...) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
}
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
}
}
void JavaParser::FormalParameters() {/*@bgen(jjtree) FormalParameters */
SimpleNode *jjtn000 = new SimpleNode(JJTFORMALPARAMETERS);
bool jjtc000 = true;
jjtree.openNodeScope(jjtn000);
try {
jj_consume_token(LPAREN);
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case BOOLEAN:
case BYTE:
case CHAR:
case DOUBLE:
case FINAL:
case FLOAT:
case INT:
case LONG:
case SHORT:
case IDENTIFIER:{
FormalParameter();
while (!hasError) {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case COMMA:{
;
break;
}
default:
jj_la1[35] = jj_gen;
goto end_label_16;
}
jj_consume_token(COMMA);
FormalParameter();
}
end_label_16: ;
break;
}
default:
jj_la1[36] = jj_gen;
;
}
jj_consume_token(RPAREN);
} catch ( ...) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
}
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
}
}
void JavaParser::FormalParameter() {/*@bgen(jjtree) FormalParameter */
SimpleNode *jjtn000 = new SimpleNode(JJTFORMALPARAMETER);
bool jjtc000 = true;
jjtree.openNodeScope(jjtn000);
try {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case FINAL:{
jj_consume_token(FINAL);
break;
}
default:
jj_la1[37] = jj_gen;
;
}
Type();
VariableDeclaratorId();
} catch ( ...) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
}
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
}
}
void JavaParser::ConstructorDeclaration() {/*@bgen(jjtree) ConstructorDeclaration */
SimpleNode *jjtn000 = new SimpleNode(JJTCONSTRUCTORDECLARATION);
bool jjtc000 = true;
jjtree.openNodeScope(jjtn000);
try {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case PRIVATE:
case PROTECTED:
case PUBLIC:{
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case PUBLIC:{
jj_consume_token(PUBLIC);
break;
}
case PROTECTED:{
jj_consume_token(PROTECTED);
break;
}
case PRIVATE:{
jj_consume_token(PRIVATE);
break;
}
default:
jj_la1[38] = jj_gen;
jj_consume_token(-1);
errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
}
break;
}
default:
jj_la1[39] = jj_gen;
;
}
jj_consume_token(IDENTIFIER);
FormalParameters();
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case THROWS:{
jj_consume_token(THROWS);
NameList();
break;
}
default:
jj_la1[40] = jj_gen;
;
}
jj_consume_token(LBRACE);
if (jj_2_11(2147483647)) {
ExplicitConstructorInvocation();
} else {
;
}
while (!hasError) {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case BOOLEAN:
case BREAK:
case BYTE:
case CHAR:
case CLASS:
case CONTINUE:
case DO:
case DOUBLE:
case FALSE:
case FINAL:
case FLOAT:
case FOR:
case IF:
case INT:
case INTERFACE:
case LONG:
case NEW:
case NULLL:
case RETURN:
case SHORT:
case SUPER:
case SWITCH:
case SYNCHRONIZED:
case THIS:
case THROW:
case TRUE:
case TRY:
case VOID:
case WHILE:
case INTEGER_LITERAL:
case FLOATING_POINT_LITERAL:
case CHARACTER_LITERAL:
case STRING_LITERAL:
case IDENTIFIER:
case LPAREN:
case LBRACE:
case SEMICOLON:
case INCR:
case DECR:{
;
break;
}
default:
jj_la1[41] = jj_gen;
goto end_label_17;
}
BlockStatement();
}
end_label_17: ;
jj_consume_token(RBRACE);
} catch ( ...) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
}
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
}
}
void JavaParser::ExplicitConstructorInvocation() {/*@bgen(jjtree) ExplicitConstructorInvocation */
SimpleNode *jjtn000 = new SimpleNode(JJTEXPLICITCONSTRUCTORINVOCATION);
bool jjtc000 = true;
jjtree.openNodeScope(jjtn000);
try {
if (jj_2_13(2147483647)) {
jj_consume_token(THIS);
Arguments();
jj_consume_token(SEMICOLON);
} else {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case BOOLEAN:
case BYTE:
case CHAR:
case DOUBLE:
case FALSE:
case FLOAT:
case INT:
case LONG:
case NEW:
case NULLL:
case SHORT:
case SUPER:
case THIS:
case TRUE:
case VOID:
case INTEGER_LITERAL:
case FLOATING_POINT_LITERAL:
case CHARACTER_LITERAL:
case STRING_LITERAL:
case IDENTIFIER:
case LPAREN:{
if (jj_2_12(2)) {
PrimaryExpression();
jj_consume_token(DOT);
} else {
;
}
jj_consume_token(SUPER);
Arguments();
jj_consume_token(SEMICOLON);
break;
}
default:
jj_la1[42] = jj_gen;
jj_consume_token(-1);
errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
}
}
} catch ( ...) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
}
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
}
}
void JavaParser::Initializer() {/*@bgen(jjtree) Initializer */
SimpleNode *jjtn000 = new SimpleNode(JJTINITIALIZER);
bool jjtc000 = true;
jjtree.openNodeScope(jjtn000);
try {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case STATIC:{
jj_consume_token(STATIC);
break;
}
default:
jj_la1[43] = jj_gen;
;
}
Block();
} catch ( ...) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
}
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
}
}
void JavaParser::Type() {/*@bgen(jjtree) Type */
SimpleNode *jjtn000 = new SimpleNode(JJTTYPE);
bool jjtc000 = true;
jjtree.openNodeScope(jjtn000);
try {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case BOOLEAN:
case BYTE:
case CHAR:
case DOUBLE:
case FLOAT:
case INT:
case LONG:
case SHORT:{
PrimitiveType();
break;
}
case IDENTIFIER:{
Name();
break;
}
default:
jj_la1[44] = jj_gen;
jj_consume_token(-1);
errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
}
while (!hasError) {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case LBRACKET:{
;
break;
}
default:
jj_la1[45] = jj_gen;
goto end_label_18;
}
jj_consume_token(LBRACKET);
jj_consume_token(RBRACKET);
}
end_label_18: ;
} catch ( ...) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
}
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
}
}
void JavaParser::PrimitiveType() {/*@bgen(jjtree) PrimitiveType */
SimpleNode *jjtn000 = new SimpleNode(JJTPRIMITIVETYPE);
bool jjtc000 = true;
jjtree.openNodeScope(jjtn000);
try {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case BOOLEAN:{
jj_consume_token(BOOLEAN);
break;
}
case CHAR:{
jj_consume_token(CHAR);
break;
}
case BYTE:{
jj_consume_token(BYTE);
break;
}
case SHORT:{
jj_consume_token(SHORT);
break;
}
case INT:{
jj_consume_token(INT);
break;
}
case LONG:{
jj_consume_token(LONG);
break;
}
case FLOAT:{
jj_consume_token(FLOAT);
break;
}
case DOUBLE:{
jj_consume_token(DOUBLE);
break;
}
default:
jj_la1[46] = jj_gen;
jj_consume_token(-1);
errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
}
} catch ( ...) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
}
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
}
}
void JavaParser::ResultType() {/*@bgen(jjtree) ResultType */
SimpleNode *jjtn000 = new SimpleNode(JJTRESULTTYPE);
bool jjtc000 = true;
jjtree.openNodeScope(jjtn000);
try {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case VOID:{
jj_consume_token(VOID);
break;
}
case BOOLEAN:
case BYTE:
case CHAR:
case DOUBLE:
case FLOAT:
case INT:
case LONG:
case SHORT:
case IDENTIFIER:{
Type();
break;
}
default:
jj_la1[47] = jj_gen;
jj_consume_token(-1);
errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
}
} catch ( ...) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
}
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
}
}
void JavaParser::Name() {/*@bgen(jjtree) Name */
SimpleNode *jjtn000 = new SimpleNode(JJTNAME);
bool jjtc000 = true;
jjtree.openNodeScope(jjtn000);
try {
jj_consume_token(IDENTIFIER);
while (!hasError) {
if (jj_2_14(2)) {
;
} else {
goto end_label_19;
}
jj_consume_token(DOT);
jj_consume_token(IDENTIFIER);
}
end_label_19: ;
} catch ( ...) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
}
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
}
}
void JavaParser::NameList() {/*@bgen(jjtree) NameList */
SimpleNode *jjtn000 = new SimpleNode(JJTNAMELIST);
bool jjtc000 = true;
jjtree.openNodeScope(jjtn000);
try {
Name();
while (!hasError) {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case COMMA:{
;
break;
}
default:
jj_la1[48] = jj_gen;
goto end_label_20;
}
jj_consume_token(COMMA);
Name();
}
end_label_20: ;
} catch ( ...) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
}
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
}
}
void JavaParser::Expression() {/*@bgen(jjtree) Expression */
SimpleNode *jjtn000 = new SimpleNode(JJTEXPRESSION);
bool jjtc000 = true;
jjtree.openNodeScope(jjtn000);
try {
ConditionalExpression();
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case ASSIGN:
case PLUSASSIGN:
case MINUSASSIGN:
case STARASSIGN:
case SLASHASSIGN:
case ANDASSIGN:
case ORASSIGN:
case XORASSIGN:
case REMASSIGN:
case LSHIFTASSIGN:
case RSIGNEDSHIFTASSIGN:
case RUNSIGNEDSHIFTASSIGN:{
AssignmentOperator();
Expression();
break;
}
default:
jj_la1[49] = jj_gen;
;
}
} catch ( ...) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
}
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
}
}
void JavaParser::AssignmentOperator() {/*@bgen(jjtree) AssignmentOperator */
SimpleNode *jjtn000 = new SimpleNode(JJTASSIGNMENTOPERATOR);
bool jjtc000 = true;
jjtree.openNodeScope(jjtn000);
try {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case ASSIGN:{
jj_consume_token(ASSIGN);
break;
}
case STARASSIGN:{
jj_consume_token(STARASSIGN);
break;
}
case SLASHASSIGN:{
jj_consume_token(SLASHASSIGN);
break;
}
case REMASSIGN:{
jj_consume_token(REMASSIGN);
break;
}
case PLUSASSIGN:{
jj_consume_token(PLUSASSIGN);
break;
}
case MINUSASSIGN:{
jj_consume_token(MINUSASSIGN);
break;
}
case LSHIFTASSIGN:{
jj_consume_token(LSHIFTASSIGN);
break;
}
case RSIGNEDSHIFTASSIGN:{
jj_consume_token(RSIGNEDSHIFTASSIGN);
break;
}
case RUNSIGNEDSHIFTASSIGN:{
jj_consume_token(RUNSIGNEDSHIFTASSIGN);
break;
}
case ANDASSIGN:{
jj_consume_token(ANDASSIGN);
break;
}
case XORASSIGN:{
jj_consume_token(XORASSIGN);
break;
}
case ORASSIGN:{
jj_consume_token(ORASSIGN);
break;
}
default:
jj_la1[50] = jj_gen;
jj_consume_token(-1);
errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
}
} catch ( ...) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
}
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
}
}
void JavaParser::ConditionalExpression() {/*@bgen(jjtree) ConditionalExpression */
SimpleNode *jjtn000 = new SimpleNode(JJTCONDITIONALEXPRESSION);
bool jjtc000 = true;
jjtree.openNodeScope(jjtn000);
try {
ConditionalOrExpression();
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case HOOK:{
jj_consume_token(HOOK);
Expression();
jj_consume_token(COLON);
ConditionalExpression();
break;
}
default:
jj_la1[51] = jj_gen;
;
}
} catch ( ...) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
}
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
}
}
void JavaParser::ConditionalOrExpression() {/*@bgen(jjtree) ConditionalOrExpression */
SimpleNode *jjtn000 = new SimpleNode(JJTCONDITIONALOREXPRESSION);
bool jjtc000 = true;
jjtree.openNodeScope(jjtn000);
try {
ConditionalAndExpression();
while (!hasError) {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case SC_OR:{
;
break;
}
default:
jj_la1[52] = jj_gen;
goto end_label_21;
}
jj_consume_token(SC_OR);
ConditionalAndExpression();
}
end_label_21: ;
} catch ( ...) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
}
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
}
}
void JavaParser::ConditionalAndExpression() {/*@bgen(jjtree) ConditionalAndExpression */
SimpleNode *jjtn000 = new SimpleNode(JJTCONDITIONALANDEXPRESSION);
bool jjtc000 = true;
jjtree.openNodeScope(jjtn000);
try {
InclusiveOrExpression();
while (!hasError) {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case SC_AND:{
;
break;
}
default:
jj_la1[53] = jj_gen;
goto end_label_22;
}
jj_consume_token(SC_AND);
InclusiveOrExpression();
}
end_label_22: ;
} catch ( ...) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
}
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
}
}
void JavaParser::InclusiveOrExpression() {/*@bgen(jjtree) InclusiveOrExpression */
SimpleNode *jjtn000 = new SimpleNode(JJTINCLUSIVEOREXPRESSION);
bool jjtc000 = true;
jjtree.openNodeScope(jjtn000);
try {
ExclusiveOrExpression();
while (!hasError) {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case BIT_OR:{
;
break;
}
default:
jj_la1[54] = jj_gen;
goto end_label_23;
}
jj_consume_token(BIT_OR);
ExclusiveOrExpression();
}
end_label_23: ;
} catch ( ...) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
}
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
}
}
void JavaParser::ExclusiveOrExpression() {/*@bgen(jjtree) ExclusiveOrExpression */
SimpleNode *jjtn000 = new SimpleNode(JJTEXCLUSIVEOREXPRESSION);
bool jjtc000 = true;
jjtree.openNodeScope(jjtn000);
try {
AndExpression();
while (!hasError) {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case XOR:{
;
break;
}
default:
jj_la1[55] = jj_gen;
goto end_label_24;
}
jj_consume_token(XOR);
AndExpression();
}
end_label_24: ;
} catch ( ...) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
}
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
}
}
void JavaParser::AndExpression() {/*@bgen(jjtree) AndExpression */
SimpleNode *jjtn000 = new SimpleNode(JJTANDEXPRESSION);
bool jjtc000 = true;
jjtree.openNodeScope(jjtn000);
try {
EqualityExpression();
while (!hasError) {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case BIT_AND:{
;
break;
}
default:
jj_la1[56] = jj_gen;
goto end_label_25;
}
jj_consume_token(BIT_AND);
EqualityExpression();
}
end_label_25: ;
} catch ( ...) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
}
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
}
}
void JavaParser::EqualityExpression() {/*@bgen(jjtree) EqualityExpression */
SimpleNode *jjtn000 = new SimpleNode(JJTEQUALITYEXPRESSION);
bool jjtc000 = true;
jjtree.openNodeScope(jjtn000);
try {
InstanceOfExpression();
while (!hasError) {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case EQ:
case NE:{
;
break;
}
default:
jj_la1[57] = jj_gen;
goto end_label_26;
}
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case EQ:{
jj_consume_token(EQ);
break;
}
case NE:{
jj_consume_token(NE);
break;
}
default:
jj_la1[58] = jj_gen;
jj_consume_token(-1);
errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
}
InstanceOfExpression();
}
end_label_26: ;
} catch ( ...) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
}
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
}
}
void JavaParser::InstanceOfExpression() {/*@bgen(jjtree) InstanceOfExpression */
SimpleNode *jjtn000 = new SimpleNode(JJTINSTANCEOFEXPRESSION);
bool jjtc000 = true;
jjtree.openNodeScope(jjtn000);
try {
RelationalExpression();
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case INSTANCEOF:{
jj_consume_token(INSTANCEOF);
Type();
break;
}
default:
jj_la1[59] = jj_gen;
;
}
} catch ( ...) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
}
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
}
}
void JavaParser::RelationalExpression() {/*@bgen(jjtree) RelationalExpression */
SimpleNode *jjtn000 = new SimpleNode(JJTRELATIONALEXPRESSION);
bool jjtc000 = true;
jjtree.openNodeScope(jjtn000);
try {
ShiftExpression();
while (!hasError) {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case GT:
case LT:
case LE:
case GE:{
;
break;
}
default:
jj_la1[60] = jj_gen;
goto end_label_27;
}
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case LT:{
jj_consume_token(LT);
break;
}
case GT:{
jj_consume_token(GT);
break;
}
case LE:{
jj_consume_token(LE);
break;
}
case GE:{
jj_consume_token(GE);
break;
}
default:
jj_la1[61] = jj_gen;
jj_consume_token(-1);
errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
}
ShiftExpression();
}
end_label_27: ;
} catch ( ...) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
}
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
}
}
void JavaParser::ShiftExpression() {/*@bgen(jjtree) ShiftExpression */
SimpleNode *jjtn000 = new SimpleNode(JJTSHIFTEXPRESSION);
bool jjtc000 = true;
jjtree.openNodeScope(jjtn000);
try {
AdditiveExpression();
while (!hasError) {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case LSHIFT:
case RSIGNEDSHIFT:
case RUNSIGNEDSHIFT:{
;
break;
}
default:
jj_la1[62] = jj_gen;
goto end_label_28;
}
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case LSHIFT:{
jj_consume_token(LSHIFT);
break;
}
case RSIGNEDSHIFT:{
jj_consume_token(RSIGNEDSHIFT);
break;
}
case RUNSIGNEDSHIFT:{
jj_consume_token(RUNSIGNEDSHIFT);
break;
}
default:
jj_la1[63] = jj_gen;
jj_consume_token(-1);
errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
}
AdditiveExpression();
}
end_label_28: ;
} catch ( ...) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
}
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
}
}
void JavaParser::AdditiveExpression() {/*@bgen(jjtree) AdditiveExpression */
SimpleNode *jjtn000 = new SimpleNode(JJTADDITIVEEXPRESSION);
bool jjtc000 = true;
jjtree.openNodeScope(jjtn000);
try {
MultiplicativeExpression();
while (!hasError) {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case PLUS:
case MINUS:{
;
break;
}
default:
jj_la1[64] = jj_gen;
goto end_label_29;
}
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case PLUS:{
jj_consume_token(PLUS);
break;
}
case MINUS:{
jj_consume_token(MINUS);
break;
}
default:
jj_la1[65] = jj_gen;
jj_consume_token(-1);
errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
}
MultiplicativeExpression();
}
end_label_29: ;
} catch ( ...) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
}
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
}
}
void JavaParser::MultiplicativeExpression() {/*@bgen(jjtree) MultiplicativeExpression */
SimpleNode *jjtn000 = new SimpleNode(JJTMULTIPLICATIVEEXPRESSION);
bool jjtc000 = true;
jjtree.openNodeScope(jjtn000);
try {
UnaryExpression();
while (!hasError) {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case STAR:
case SLASH:
case REM:{
;
break;
}
default:
jj_la1[66] = jj_gen;
goto end_label_30;
}
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case STAR:{
jj_consume_token(STAR);
break;
}
case SLASH:{
jj_consume_token(SLASH);
break;
}
case REM:{
jj_consume_token(REM);
break;
}
default:
jj_la1[67] = jj_gen;
jj_consume_token(-1);
errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
}
UnaryExpression();
}
end_label_30: ;
} catch ( ...) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
}
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
}
}
void JavaParser::UnaryExpression() {/*@bgen(jjtree) UnaryExpression */
SimpleNode *jjtn000 = new SimpleNode(JJTUNARYEXPRESSION);
bool jjtc000 = true;
jjtree.openNodeScope(jjtn000);
try {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case PLUS:
case MINUS:{
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case PLUS:{
jj_consume_token(PLUS);
break;
}
case MINUS:{
jj_consume_token(MINUS);
break;
}
default:
jj_la1[68] = jj_gen;
jj_consume_token(-1);
errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
}
UnaryExpression();
break;
}
case INCR:{
PreIncrementExpression();
break;
}
case DECR:{
PreDecrementExpression();
break;
}
case BOOLEAN:
case BYTE:
case CHAR:
case DOUBLE:
case FALSE:
case FLOAT:
case INT:
case LONG:
case NEW:
case NULLL:
case SHORT:
case SUPER:
case THIS:
case TRUE:
case VOID:
case INTEGER_LITERAL:
case FLOATING_POINT_LITERAL:
case CHARACTER_LITERAL:
case STRING_LITERAL:
case IDENTIFIER:
case LPAREN:
case BANG:
case TILDE:{
UnaryExpressionNotPlusMinus();
break;
}
default:
jj_la1[69] = jj_gen;
jj_consume_token(-1);
errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
}
} catch ( ...) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
}
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
}
}
void JavaParser::PreIncrementExpression() {/*@bgen(jjtree) PreIncrementExpression */
SimpleNode *jjtn000 = new SimpleNode(JJTPREINCREMENTEXPRESSION);
bool jjtc000 = true;
jjtree.openNodeScope(jjtn000);
try {
jj_consume_token(INCR);
PrimaryExpression();
} catch ( ...) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
}
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
}
}
void JavaParser::PreDecrementExpression() {/*@bgen(jjtree) PreDecrementExpression */
SimpleNode *jjtn000 = new SimpleNode(JJTPREDECREMENTEXPRESSION);
bool jjtc000 = true;
jjtree.openNodeScope(jjtn000);
try {
jj_consume_token(DECR);
PrimaryExpression();
} catch ( ...) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
}
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
}
}
void JavaParser::UnaryExpressionNotPlusMinus() {/*@bgen(jjtree) UnaryExpressionNotPlusMinus */
SimpleNode *jjtn000 = new SimpleNode(JJTUNARYEXPRESSIONNOTPLUSMINUS);
bool jjtc000 = true;
jjtree.openNodeScope(jjtn000);
try {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case BANG:
case TILDE:{
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case TILDE:{
jj_consume_token(TILDE);
break;
}
case BANG:{
jj_consume_token(BANG);
break;
}
default:
jj_la1[70] = jj_gen;
jj_consume_token(-1);
errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
}
UnaryExpression();
break;
}
default:
jj_la1[71] = jj_gen;
if (jj_2_15(2147483647)) {
CastExpression();
} else {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case BOOLEAN:
case BYTE:
case CHAR:
case DOUBLE:
case FALSE:
case FLOAT:
case INT:
case LONG:
case NEW:
case NULLL:
case SHORT:
case SUPER:
case THIS:
case TRUE:
case VOID:
case INTEGER_LITERAL:
case FLOATING_POINT_LITERAL:
case CHARACTER_LITERAL:
case STRING_LITERAL:
case IDENTIFIER:
case LPAREN:{
PostfixExpression();
break;
}
default:
jj_la1[72] = jj_gen;
jj_consume_token(-1);
errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
}
}
}
} catch ( ...) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
}
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
}
}
void JavaParser::CastLookahead() {/*@bgen(jjtree) CastLookahead */
SimpleNode *jjtn000 = new SimpleNode(JJTCASTLOOKAHEAD);
bool jjtc000 = true;
jjtree.openNodeScope(jjtn000);
try {
if (jj_2_16(2)) {
jj_consume_token(LPAREN);
PrimitiveType();
} else if (jj_2_17(2147483647)) {
jj_consume_token(LPAREN);
Name();
jj_consume_token(LBRACKET);
jj_consume_token(RBRACKET);
} else {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case LPAREN:{
jj_consume_token(LPAREN);
Name();
jj_consume_token(RPAREN);
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case TILDE:{
jj_consume_token(TILDE);
break;
}
case BANG:{
jj_consume_token(BANG);
break;
}
case LPAREN:{
jj_consume_token(LPAREN);
break;
}
case IDENTIFIER:{
jj_consume_token(IDENTIFIER);
break;
}
case THIS:{
jj_consume_token(THIS);
break;
}
case SUPER:{
jj_consume_token(SUPER);
break;
}
case NEW:{
jj_consume_token(NEW);
break;
}
case FALSE:
case NULLL:
case TRUE:
case INTEGER_LITERAL:
case FLOATING_POINT_LITERAL:
case CHARACTER_LITERAL:
case STRING_LITERAL:{
Literal();
break;
}
default:
jj_la1[73] = jj_gen;
jj_consume_token(-1);
errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
}
break;
}
default:
jj_la1[74] = jj_gen;
jj_consume_token(-1);
errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
}
}
} catch ( ...) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
}
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
}
}
void JavaParser::PostfixExpression() {/*@bgen(jjtree) PostfixExpression */
SimpleNode *jjtn000 = new SimpleNode(JJTPOSTFIXEXPRESSION);
bool jjtc000 = true;
jjtree.openNodeScope(jjtn000);
try {
PrimaryExpression();
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case INCR:
case DECR:{
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case INCR:{
jj_consume_token(INCR);
break;
}
case DECR:{
jj_consume_token(DECR);
break;
}
default:
jj_la1[75] = jj_gen;
jj_consume_token(-1);
errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
}
break;
}
default:
jj_la1[76] = jj_gen;
;
}
} catch ( ...) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
}
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
}
}
void JavaParser::CastExpression() {/*@bgen(jjtree) CastExpression */
SimpleNode *jjtn000 = new SimpleNode(JJTCASTEXPRESSION);
bool jjtc000 = true;
jjtree.openNodeScope(jjtn000);
try {
if (jj_2_18(2147483647)) {
jj_consume_token(LPAREN);
Type();
jj_consume_token(RPAREN);
UnaryExpression();
} else {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case LPAREN:{
jj_consume_token(LPAREN);
Type();
jj_consume_token(RPAREN);
UnaryExpressionNotPlusMinus();
break;
}
default:
jj_la1[77] = jj_gen;
jj_consume_token(-1);
errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
}
}
} catch ( ...) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
}
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
}
}
void JavaParser::PrimaryExpression() {/*@bgen(jjtree) PrimaryExpression */
SimpleNode *jjtn000 = new SimpleNode(JJTPRIMARYEXPRESSION);
bool jjtc000 = true;
jjtree.openNodeScope(jjtn000);
try {
PrimaryPrefix();
while (!hasError) {
if (jj_2_19(2)) {
;
} else {
goto end_label_31;
}
PrimarySuffix();
}
end_label_31: ;
} catch ( ...) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
}
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
}
}
void JavaParser::PrimaryPrefix() {/*@bgen(jjtree) PrimaryPrefix */
SimpleNode *jjtn000 = new SimpleNode(JJTPRIMARYPREFIX);
bool jjtc000 = true;
jjtree.openNodeScope(jjtn000);
try {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case FALSE:
case NULLL:
case TRUE:
case INTEGER_LITERAL:
case FLOATING_POINT_LITERAL:
case CHARACTER_LITERAL:
case STRING_LITERAL:{
Literal();
break;
}
case THIS:{
jj_consume_token(THIS);
break;
}
case SUPER:{
jj_consume_token(SUPER);
jj_consume_token(DOT);
jj_consume_token(IDENTIFIER);
break;
}
case LPAREN:{
jj_consume_token(LPAREN);
Expression();
jj_consume_token(RPAREN);
break;
}
case NEW:{
AllocationExpression();
break;
}
default:
jj_la1[78] = jj_gen;
if (jj_2_20(2147483647)) {
ResultType();
jj_consume_token(DOT);
jj_consume_token(CLASS);
} else {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case IDENTIFIER:{
Name();
break;
}
default:
jj_la1[79] = jj_gen;
jj_consume_token(-1);
errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
}
}
}
} catch ( ...) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
}
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
}
}
void JavaParser::PrimarySuffix() {/*@bgen(jjtree) PrimarySuffix */
SimpleNode *jjtn000 = new SimpleNode(JJTPRIMARYSUFFIX);
bool jjtc000 = true;
jjtree.openNodeScope(jjtn000);
try {
if (jj_2_21(2)) {
jj_consume_token(DOT);
jj_consume_token(THIS);
} else if (jj_2_22(2)) {
jj_consume_token(DOT);
AllocationExpression();
} else {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case LBRACKET:{
jj_consume_token(LBRACKET);
Expression();
jj_consume_token(RBRACKET);
break;
}
case DOT:{
jj_consume_token(DOT);
jj_consume_token(IDENTIFIER);
break;
}
case LPAREN:{
Arguments();
break;
}
default:
jj_la1[80] = jj_gen;
jj_consume_token(-1);
errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
}
}
} catch ( ...) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
}
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
}
}
void JavaParser::Literal() {/*@bgen(jjtree) Literal */
SimpleNode *jjtn000 = new SimpleNode(JJTLITERAL);
bool jjtc000 = true;
jjtree.openNodeScope(jjtn000);
try {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case INTEGER_LITERAL:{
jj_consume_token(INTEGER_LITERAL);
break;
}
case FLOATING_POINT_LITERAL:{
jj_consume_token(FLOATING_POINT_LITERAL);
break;
}
case CHARACTER_LITERAL:{
jj_consume_token(CHARACTER_LITERAL);
break;
}
case STRING_LITERAL:{
jj_consume_token(STRING_LITERAL);
break;
}
case FALSE:
case TRUE:{
BooleanLiteral();
break;
}
case NULLL:{
NullLiteral();
break;
}
default:
jj_la1[81] = jj_gen;
jj_consume_token(-1);
errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
}
} catch ( ...) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
}
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
}
}
void JavaParser::BooleanLiteral() {/*@bgen(jjtree) BooleanLiteral */
SimpleNode *jjtn000 = new SimpleNode(JJTBOOLEANLITERAL);
bool jjtc000 = true;
jjtree.openNodeScope(jjtn000);
try {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case TRUE:{
jj_consume_token(TRUE);
break;
}
case FALSE:{
jj_consume_token(FALSE);
break;
}
default:
jj_la1[82] = jj_gen;
jj_consume_token(-1);
errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
}
} catch ( ...) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
}
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
}
}
void JavaParser::NullLiteral() {/*@bgen(jjtree) NullLiteral */
SimpleNode *jjtn000 = new SimpleNode(JJTNULLLITERAL);
bool jjtc000 = true;
jjtree.openNodeScope(jjtn000);
try {
jj_consume_token(NULLL);
} catch ( ...) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
}
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
}
}
void JavaParser::Arguments() {/*@bgen(jjtree) Arguments */
SimpleNode *jjtn000 = new SimpleNode(JJTARGUMENTS);
bool jjtc000 = true;
jjtree.openNodeScope(jjtn000);
try {
jj_consume_token(LPAREN);
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case BOOLEAN:
case BYTE:
case CHAR:
case DOUBLE:
case FALSE:
case FLOAT:
case INT:
case LONG:
case NEW:
case NULLL:
case SHORT:
case SUPER:
case THIS:
case TRUE:
case VOID:
case INTEGER_LITERAL:
case FLOATING_POINT_LITERAL:
case CHARACTER_LITERAL:
case STRING_LITERAL:
case IDENTIFIER:
case LPAREN:
case BANG:
case TILDE:
case INCR:
case DECR:
case PLUS:
case MINUS:{
ArgumentList();
break;
}
default:
jj_la1[83] = jj_gen;
;
}
jj_consume_token(RPAREN);
} catch ( ...) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
}
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
}
}
void JavaParser::ArgumentList() {/*@bgen(jjtree) ArgumentList */
SimpleNode *jjtn000 = new SimpleNode(JJTARGUMENTLIST);
bool jjtc000 = true;
jjtree.openNodeScope(jjtn000);
try {
Expression();
while (!hasError) {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case COMMA:{
;
break;
}
default:
jj_la1[84] = jj_gen;
goto end_label_32;
}
jj_consume_token(COMMA);
Expression();
}
end_label_32: ;
} catch ( ...) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
}
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
}
}
void JavaParser::AllocationExpression() {/*@bgen(jjtree) AllocationExpression */
SimpleNode *jjtn000 = new SimpleNode(JJTALLOCATIONEXPRESSION);
bool jjtc000 = true;
jjtree.openNodeScope(jjtn000);
try {
if (jj_2_23(2)) {
jj_consume_token(NEW);
PrimitiveType();
ArrayDimsAndInits();
} else {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case NEW:{
jj_consume_token(NEW);
Name();
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case LBRACKET:{
ArrayDimsAndInits();
break;
}
case LPAREN:{
Arguments();
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case LBRACE:{
ClassBody();
break;
}
default:
jj_la1[85] = jj_gen;
;
}
break;
}
default:
jj_la1[86] = jj_gen;
jj_consume_token(-1);
errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
}
break;
}
default:
jj_la1[87] = jj_gen;
jj_consume_token(-1);
errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
}
}
} catch ( ...) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
}
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
}
}
void JavaParser::ArrayDimsAndInits() {/*@bgen(jjtree) ArrayDimsAndInits */
SimpleNode *jjtn000 = new SimpleNode(JJTARRAYDIMSANDINITS);
bool jjtc000 = true;
jjtree.openNodeScope(jjtn000);
try {
if (jj_2_26(2)) {
while (!hasError) {
jj_consume_token(LBRACKET);
Expression();
jj_consume_token(RBRACKET);
if (jj_2_24(2)) {
;
} else {
goto end_label_33;
}
}
end_label_33: ;
while (!hasError) {
if (jj_2_25(2)) {
;
} else {
goto end_label_34;
}
jj_consume_token(LBRACKET);
jj_consume_token(RBRACKET);
}
end_label_34: ;
} else {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case LBRACKET:{
while (!hasError) {
jj_consume_token(LBRACKET);
jj_consume_token(RBRACKET);
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case LBRACKET:{
;
break;
}
default:
jj_la1[88] = jj_gen;
goto end_label_35;
}
}
end_label_35: ;
ArrayInitializer();
break;
}
default:
jj_la1[89] = jj_gen;
jj_consume_token(-1);
errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
}
}
} catch ( ...) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
}
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
}
}
void JavaParser::Statement() {/*@bgen(jjtree) Statement */
SimpleNode *jjtn000 = new SimpleNode(JJTSTATEMENT);
bool jjtc000 = true;
jjtree.openNodeScope(jjtn000);
try {
if (jj_2_27(2)) {
LabeledStatement();
} else {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case LBRACE:{
Block();
break;
}
case SEMICOLON:{
EmptyStatement();
break;
}
case BOOLEAN:
case BYTE:
case CHAR:
case DOUBLE:
case FALSE:
case FLOAT:
case INT:
case LONG:
case NEW:
case NULLL:
case SHORT:
case SUPER:
case THIS:
case TRUE:
case VOID:
case INTEGER_LITERAL:
case FLOATING_POINT_LITERAL:
case CHARACTER_LITERAL:
case STRING_LITERAL:
case IDENTIFIER:
case LPAREN:
case INCR:
case DECR:{
StatementExpression();
jj_consume_token(SEMICOLON);
break;
}
case SWITCH:{
SwitchStatement();
break;
}
case IF:{
IfStatement();
break;
}
case WHILE:{
WhileStatement();
break;
}
case DO:{
DoStatement();
break;
}
case FOR:{
ForStatement();
break;
}
case BREAK:{
BreakStatement();
break;
}
case CONTINUE:{
ContinueStatement();
break;
}
case RETURN:{
ReturnStatement();
break;
}
case THROW:{
ThrowStatement();
break;
}
case SYNCHRONIZED:{
SynchronizedStatement();
break;
}
case TRY:{
TryStatement();
break;
}
default:
jj_la1[90] = jj_gen;
jj_consume_token(-1);
errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
}
}
} catch ( ...) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
}
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
}
}
void JavaParser::LabeledStatement() {/*@bgen(jjtree) LabeledStatement */
SimpleNode *jjtn000 = new SimpleNode(JJTLABELEDSTATEMENT);
bool jjtc000 = true;
jjtree.openNodeScope(jjtn000);
try {
jj_consume_token(IDENTIFIER);
jj_consume_token(COLON);
Statement();
} catch ( ...) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
}
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
}
}
void JavaParser::Block() {/*@bgen(jjtree) Block */
SimpleNode *jjtn000 = new SimpleNode(JJTBLOCK);
bool jjtc000 = true;
jjtree.openNodeScope(jjtn000);
try {
jj_consume_token(LBRACE);
while (!hasError) {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case BOOLEAN:
case BREAK:
case BYTE:
case CHAR:
case CLASS:
case CONTINUE:
case DO:
case DOUBLE:
case FALSE:
case FINAL:
case FLOAT:
case FOR:
case IF:
case INT:
case INTERFACE:
case LONG:
case NEW:
case NULLL:
case RETURN:
case SHORT:
case SUPER:
case SWITCH:
case SYNCHRONIZED:
case THIS:
case THROW:
case TRUE:
case TRY:
case VOID:
case WHILE:
case INTEGER_LITERAL:
case FLOATING_POINT_LITERAL:
case CHARACTER_LITERAL:
case STRING_LITERAL:
case IDENTIFIER:
case LPAREN:
case LBRACE:
case SEMICOLON:
case INCR:
case DECR:{
;
break;
}
default:
jj_la1[91] = jj_gen;
goto end_label_36;
}
BlockStatement();
}
end_label_36: ;
jj_consume_token(RBRACE);
} catch ( ...) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
}
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
}
}
void JavaParser::BlockStatement() {/*@bgen(jjtree) BlockStatement */
SimpleNode *jjtn000 = new SimpleNode(JJTBLOCKSTATEMENT);
bool jjtc000 = true;
jjtree.openNodeScope(jjtn000);
try {
if (jj_2_28(2147483647)) {
LocalVariableDeclaration();
jj_consume_token(SEMICOLON);
} else {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case BOOLEAN:
case BREAK:
case BYTE:
case CHAR:
case CONTINUE:
case DO:
case DOUBLE:
case FALSE:
case FLOAT:
case FOR:
case IF:
case INT:
case LONG:
case NEW:
case NULLL:
case RETURN:
case SHORT:
case SUPER:
case SWITCH:
case SYNCHRONIZED:
case THIS:
case THROW:
case TRUE:
case TRY:
case VOID:
case WHILE:
case INTEGER_LITERAL:
case FLOATING_POINT_LITERAL:
case CHARACTER_LITERAL:
case STRING_LITERAL:
case IDENTIFIER:
case LPAREN:
case LBRACE:
case SEMICOLON:
case INCR:
case DECR:{
Statement();
break;
}
case CLASS:{
UnmodifiedClassDeclaration();
break;
}
case INTERFACE:{
UnmodifiedInterfaceDeclaration();
break;
}
default:
jj_la1[92] = jj_gen;
jj_consume_token(-1);
errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
}
}
} catch ( ...) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
}
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
}
}
void JavaParser::LocalVariableDeclaration() {/*@bgen(jjtree) LocalVariableDeclaration */
SimpleNode *jjtn000 = new SimpleNode(JJTLOCALVARIABLEDECLARATION);
bool jjtc000 = true;
jjtree.openNodeScope(jjtn000);
try {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case FINAL:{
jj_consume_token(FINAL);
break;
}
default:
jj_la1[93] = jj_gen;
;
}
Type();
VariableDeclarator();
while (!hasError) {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case COMMA:{
;
break;
}
default:
jj_la1[94] = jj_gen;
goto end_label_37;
}
jj_consume_token(COMMA);
VariableDeclarator();
}
end_label_37: ;
} catch ( ...) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
}
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
}
}
void JavaParser::EmptyStatement() {/*@bgen(jjtree) EmptyStatement */
SimpleNode *jjtn000 = new SimpleNode(JJTEMPTYSTATEMENT);
bool jjtc000 = true;
jjtree.openNodeScope(jjtn000);
try {
jj_consume_token(SEMICOLON);
} catch ( ...) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
}
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
}
}
void JavaParser::StatementExpression() {/*@bgen(jjtree) StatementExpression */
SimpleNode *jjtn000 = new SimpleNode(JJTSTATEMENTEXPRESSION);
bool jjtc000 = true;
jjtree.openNodeScope(jjtn000);
try {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case INCR:{
PreIncrementExpression();
break;
}
case DECR:{
PreDecrementExpression();
break;
}
case BOOLEAN:
case BYTE:
case CHAR:
case DOUBLE:
case FALSE:
case FLOAT:
case INT:
case LONG:
case NEW:
case NULLL:
case SHORT:
case SUPER:
case THIS:
case TRUE:
case VOID:
case INTEGER_LITERAL:
case FLOATING_POINT_LITERAL:
case CHARACTER_LITERAL:
case STRING_LITERAL:
case IDENTIFIER:
case LPAREN:{
PrimaryExpression();
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case ASSIGN:
case INCR:
case DECR:
case PLUSASSIGN:
case MINUSASSIGN:
case STARASSIGN:
case SLASHASSIGN:
case ANDASSIGN:
case ORASSIGN:
case XORASSIGN:
case REMASSIGN:
case LSHIFTASSIGN:
case RSIGNEDSHIFTASSIGN:
case RUNSIGNEDSHIFTASSIGN:{
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case INCR:{
jj_consume_token(INCR);
break;
}
case DECR:{
jj_consume_token(DECR);
break;
}
case ASSIGN:
case PLUSASSIGN:
case MINUSASSIGN:
case STARASSIGN:
case SLASHASSIGN:
case ANDASSIGN:
case ORASSIGN:
case XORASSIGN:
case REMASSIGN:
case LSHIFTASSIGN:
case RSIGNEDSHIFTASSIGN:
case RUNSIGNEDSHIFTASSIGN:{
AssignmentOperator();
Expression();
break;
}
default:
jj_la1[95] = jj_gen;
jj_consume_token(-1);
errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
}
break;
}
default:
jj_la1[96] = jj_gen;
;
}
break;
}
default:
jj_la1[97] = jj_gen;
jj_consume_token(-1);
errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
}
} catch ( ...) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
}
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
}
}
void JavaParser::SwitchStatement() {/*@bgen(jjtree) SwitchStatement */
SimpleNode *jjtn000 = new SimpleNode(JJTSWITCHSTATEMENT);
bool jjtc000 = true;
jjtree.openNodeScope(jjtn000);
try {
jj_consume_token(SWITCH);
jj_consume_token(LPAREN);
Expression();
jj_consume_token(RPAREN);
jj_consume_token(LBRACE);
while (!hasError) {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case CASE:
case _DEFAULT:{
;
break;
}
default:
jj_la1[98] = jj_gen;
goto end_label_38;
}
SwitchLabel();
while (!hasError) {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case BOOLEAN:
case BREAK:
case BYTE:
case CHAR:
case CLASS:
case CONTINUE:
case DO:
case DOUBLE:
case FALSE:
case FINAL:
case FLOAT:
case FOR:
case IF:
case INT:
case INTERFACE:
case LONG:
case NEW:
case NULLL:
case RETURN:
case SHORT:
case SUPER:
case SWITCH:
case SYNCHRONIZED:
case THIS:
case THROW:
case TRUE:
case TRY:
case VOID:
case WHILE:
case INTEGER_LITERAL:
case FLOATING_POINT_LITERAL:
case CHARACTER_LITERAL:
case STRING_LITERAL:
case IDENTIFIER:
case LPAREN:
case LBRACE:
case SEMICOLON:
case INCR:
case DECR:{
;
break;
}
default:
jj_la1[99] = jj_gen;
goto end_label_39;
}
BlockStatement();
}
end_label_39: ;
}
end_label_38: ;
jj_consume_token(RBRACE);
} catch ( ...) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
}
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
}
}
void JavaParser::SwitchLabel() {/*@bgen(jjtree) SwitchLabel */
SimpleNode *jjtn000 = new SimpleNode(JJTSWITCHLABEL);
bool jjtc000 = true;
jjtree.openNodeScope(jjtn000);
try {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case CASE:{
jj_consume_token(CASE);
Expression();
jj_consume_token(COLON);
break;
}
case _DEFAULT:{
jj_consume_token(_DEFAULT);
jj_consume_token(COLON);
break;
}
default:
jj_la1[100] = jj_gen;
jj_consume_token(-1);
errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
}
} catch ( ...) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
}
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
}
}
void JavaParser::IfStatement() {/*@bgen(jjtree) IfStatement */
SimpleNode *jjtn000 = new SimpleNode(JJTIFSTATEMENT);
bool jjtc000 = true;
jjtree.openNodeScope(jjtn000);
try {
jj_consume_token(IF);
jj_consume_token(LPAREN);
Expression();
jj_consume_token(RPAREN);
Statement();
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case ELSE:{
jj_consume_token(ELSE);
Statement();
break;
}
default:
jj_la1[101] = jj_gen;
;
}
} catch ( ...) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
}
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
}
}
void JavaParser::WhileStatement() {/*@bgen(jjtree) WhileStatement */
SimpleNode *jjtn000 = new SimpleNode(JJTWHILESTATEMENT);
bool jjtc000 = true;
jjtree.openNodeScope(jjtn000);
try {
jj_consume_token(WHILE);
jj_consume_token(LPAREN);
Expression();
jj_consume_token(RPAREN);
Statement();
} catch ( ...) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
}
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
}
}
void JavaParser::DoStatement() {/*@bgen(jjtree) DoStatement */
SimpleNode *jjtn000 = new SimpleNode(JJTDOSTATEMENT);
bool jjtc000 = true;
jjtree.openNodeScope(jjtn000);
try {
jj_consume_token(DO);
Statement();
jj_consume_token(WHILE);
jj_consume_token(LPAREN);
Expression();
jj_consume_token(RPAREN);
jj_consume_token(SEMICOLON);
} catch ( ...) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
}
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
}
}
void JavaParser::ForStatement() {/*@bgen(jjtree) ForStatement */
SimpleNode *jjtn000 = new SimpleNode(JJTFORSTATEMENT);
bool jjtc000 = true;
jjtree.openNodeScope(jjtn000);
try {
jj_consume_token(FOR);
jj_consume_token(LPAREN);
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case BOOLEAN:
case BYTE:
case CHAR:
case DOUBLE:
case FALSE:
case FINAL:
case FLOAT:
case INT:
case LONG:
case NEW:
case NULLL:
case SHORT:
case SUPER:
case THIS:
case TRUE:
case VOID:
case INTEGER_LITERAL:
case FLOATING_POINT_LITERAL:
case CHARACTER_LITERAL:
case STRING_LITERAL:
case IDENTIFIER:
case LPAREN:
case INCR:
case DECR:{
ForInit();
break;
}
default:
jj_la1[102] = jj_gen;
;
}
jj_consume_token(SEMICOLON);
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case BOOLEAN:
case BYTE:
case CHAR:
case DOUBLE:
case FALSE:
case FLOAT:
case INT:
case LONG:
case NEW:
case NULLL:
case SHORT:
case SUPER:
case THIS:
case TRUE:
case VOID:
case INTEGER_LITERAL:
case FLOATING_POINT_LITERAL:
case CHARACTER_LITERAL:
case STRING_LITERAL:
case IDENTIFIER:
case LPAREN:
case BANG:
case TILDE:
case INCR:
case DECR:
case PLUS:
case MINUS:{
Expression();
break;
}
default:
jj_la1[103] = jj_gen;
;
}
jj_consume_token(SEMICOLON);
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case BOOLEAN:
case BYTE:
case CHAR:
case DOUBLE:
case FALSE:
case FLOAT:
case INT:
case LONG:
case NEW:
case NULLL:
case SHORT:
case SUPER:
case THIS:
case TRUE:
case VOID:
case INTEGER_LITERAL:
case FLOATING_POINT_LITERAL:
case CHARACTER_LITERAL:
case STRING_LITERAL:
case IDENTIFIER:
case LPAREN:
case INCR:
case DECR:{
ForUpdate();
break;
}
default:
jj_la1[104] = jj_gen;
;
}
jj_consume_token(RPAREN);
Statement();
} catch ( ...) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
}
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
}
}
void JavaParser::ForInit() {/*@bgen(jjtree) ForInit */
SimpleNode *jjtn000 = new SimpleNode(JJTFORINIT);
bool jjtc000 = true;
jjtree.openNodeScope(jjtn000);
try {
if (jj_2_29(2147483647)) {
LocalVariableDeclaration();
} else {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case BOOLEAN:
case BYTE:
case CHAR:
case DOUBLE:
case FALSE:
case FLOAT:
case INT:
case LONG:
case NEW:
case NULLL:
case SHORT:
case SUPER:
case THIS:
case TRUE:
case VOID:
case INTEGER_LITERAL:
case FLOATING_POINT_LITERAL:
case CHARACTER_LITERAL:
case STRING_LITERAL:
case IDENTIFIER:
case LPAREN:
case INCR:
case DECR:{
StatementExpressionList();
break;
}
default:
jj_la1[105] = jj_gen;
jj_consume_token(-1);
errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
}
}
} catch ( ...) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
}
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
}
}
void JavaParser::StatementExpressionList() {/*@bgen(jjtree) StatementExpressionList */
SimpleNode *jjtn000 = new SimpleNode(JJTSTATEMENTEXPRESSIONLIST);
bool jjtc000 = true;
jjtree.openNodeScope(jjtn000);
try {
StatementExpression();
while (!hasError) {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case COMMA:{
;
break;
}
default:
jj_la1[106] = jj_gen;
goto end_label_40;
}
jj_consume_token(COMMA);
StatementExpression();
}
end_label_40: ;
} catch ( ...) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
}
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
}
}
void JavaParser::ForUpdate() {/*@bgen(jjtree) ForUpdate */
SimpleNode *jjtn000 = new SimpleNode(JJTFORUPDATE);
bool jjtc000 = true;
jjtree.openNodeScope(jjtn000);
try {
StatementExpressionList();
} catch ( ...) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
}
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
}
}
void JavaParser::BreakStatement() {/*@bgen(jjtree) BreakStatement */
SimpleNode *jjtn000 = new SimpleNode(JJTBREAKSTATEMENT);
bool jjtc000 = true;
jjtree.openNodeScope(jjtn000);
try {
jj_consume_token(BREAK);
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case IDENTIFIER:{
jj_consume_token(IDENTIFIER);
break;
}
default:
jj_la1[107] = jj_gen;
;
}
jj_consume_token(SEMICOLON);
} catch ( ...) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
}
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
}
}
void JavaParser::ContinueStatement() {/*@bgen(jjtree) ContinueStatement */
SimpleNode *jjtn000 = new SimpleNode(JJTCONTINUESTATEMENT);
bool jjtc000 = true;
jjtree.openNodeScope(jjtn000);
try {
jj_consume_token(CONTINUE);
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case IDENTIFIER:{
jj_consume_token(IDENTIFIER);
break;
}
default:
jj_la1[108] = jj_gen;
;
}
jj_consume_token(SEMICOLON);
} catch ( ...) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
}
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
}
}
void JavaParser::ReturnStatement() {/*@bgen(jjtree) ReturnStatement */
SimpleNode *jjtn000 = new SimpleNode(JJTRETURNSTATEMENT);
bool jjtc000 = true;
jjtree.openNodeScope(jjtn000);
try {
jj_consume_token(RETURN);
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case BOOLEAN:
case BYTE:
case CHAR:
case DOUBLE:
case FALSE:
case FLOAT:
case INT:
case LONG:
case NEW:
case NULLL:
case SHORT:
case SUPER:
case THIS:
case TRUE:
case VOID:
case INTEGER_LITERAL:
case FLOATING_POINT_LITERAL:
case CHARACTER_LITERAL:
case STRING_LITERAL:
case IDENTIFIER:
case LPAREN:
case BANG:
case TILDE:
case INCR:
case DECR:
case PLUS:
case MINUS:{
Expression();
break;
}
default:
jj_la1[109] = jj_gen;
;
}
jj_consume_token(SEMICOLON);
} catch ( ...) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
}
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
}
}
void JavaParser::ThrowStatement() {/*@bgen(jjtree) ThrowStatement */
SimpleNode *jjtn000 = new SimpleNode(JJTTHROWSTATEMENT);
bool jjtc000 = true;
jjtree.openNodeScope(jjtn000);
try {
jj_consume_token(THROW);
Expression();
jj_consume_token(SEMICOLON);
} catch ( ...) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
}
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
}
}
void JavaParser::SynchronizedStatement() {/*@bgen(jjtree) SynchronizedStatement */
SimpleNode *jjtn000 = new SimpleNode(JJTSYNCHRONIZEDSTATEMENT);
bool jjtc000 = true;
jjtree.openNodeScope(jjtn000);
try {
jj_consume_token(SYNCHRONIZED);
jj_consume_token(LPAREN);
Expression();
jj_consume_token(RPAREN);
Block();
} catch ( ...) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
}
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
}
}
void JavaParser::TryStatement() {/*@bgen(jjtree) TryStatement */
SimpleNode *jjtn000 = new SimpleNode(JJTTRYSTATEMENT);
bool jjtc000 = true;
jjtree.openNodeScope(jjtn000);
try {
jj_consume_token(TRY);
Block();
while (!hasError) {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case CATCH:{
;
break;
}
default:
jj_la1[110] = jj_gen;
goto end_label_41;
}
jj_consume_token(CATCH);
jj_consume_token(LPAREN);
FormalParameter();
jj_consume_token(RPAREN);
Block();
}
end_label_41: ;
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case FINALLY:{
jj_consume_token(FINALLY);
Block();
break;
}
default:
jj_la1[111] = jj_gen;
;
}
} catch ( ...) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
}
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
}
}
JavaParser::JavaParser(TokenManager *tokenManager) : MyParser()
{
head = nullptr;
ReInit(tokenManager);
}
JavaParser::~JavaParser()
{
clear();
}
void JavaParser::ReInit(TokenManager* tokenManager){
clear();
errorHandler = new ErrorHandler();
hasError = false;
token_source = tokenManager;
head = token = new Token();
token->kind = 0;
token->next = nullptr;
jj_lookingAhead = false;
jj_rescan = false;
jj_done = false;
jj_scanpos = jj_lastpos = nullptr;
jj_gc = 0;
jj_kind = -1;
indent = 0;
trace = false;
jj_ntk = -1;
jjtree.reset();
jj_gen = 0;
for (int i = 0; i < 112; i++) jj_la1[i] = -1;
}
void JavaParser::clear(){
//Since token manager was generate from outside,
//parser should not take care of deleting
//if (token_source) delete token_source;
if (head) {
Token *next, *t = head;
while (t) {
next = t->next;
delete t;
t = next;
}
}
if (errorHandler) {
delete errorHandler, errorHandler = nullptr;
}
}
Token * JavaParser::jj_consume_token(int kind) {
Token *oldToken;
if ((oldToken = token)->next != nullptr) token = token->next;
else token = token->next = token_source->getNextToken();
jj_ntk = -1;
if (token->kind == kind) {
jj_gen++;
if (++jj_gc > 100) {
jj_gc = 0;
for (int i = 0; i < 29; i++) {
JJCalls *c = &jj_2_rtns[i];
while (c != nullptr) {
if (c->gen < jj_gen) c->first = nullptr;
c = c->next;
}
}
}
return token;
}
token = oldToken;
jj_kind = kind;
JJString image = kind >= 0 ? tokenImage[kind] : tokenImage[0];
errorHandler->handleUnexpectedToken(kind, image.substr(1, image.size() - 2), getToken(1), this);
hasError = true;
return token;
}
bool JavaParser::jj_scan_token(int kind){
if (jj_scanpos == jj_lastpos) {
jj_la--;
if (jj_scanpos->next == nullptr) {
jj_lastpos = jj_scanpos = jj_scanpos->next = token_source->getNextToken();
} else {
jj_lastpos = jj_scanpos = jj_scanpos->next;
}
} else {
jj_scanpos = jj_scanpos->next;
}
if (jj_rescan) {
int i = 0; Token *tok = token;
while (tok != nullptr && tok != jj_scanpos) { i++; tok = tok->next; }
if (tok != nullptr) jj_add_error_token(kind, i);
}
if (jj_scanpos->kind != kind) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) { return jj_done = true; }
return false;
}
/** Get the next Token. */
Token * JavaParser::getNextToken(){
if (token->next != nullptr) token = token->next;
else token = token->next = token_source->getNextToken();
jj_ntk = -1;
jj_gen++;
return token;
}
/** Get the specific Token. */
Token * JavaParser::getToken(int index){
Token *t = token;
for (int i = 0; i < index; i++) {
if (t->next != nullptr) t = t->next;
else t = t->next = token_source->getNextToken();
}
return t;
}
int JavaParser::jj_ntk_f(){
if ((jj_nt=token->next) == nullptr)
return (jj_ntk = (token->next=token_source->getNextToken())->kind);
else
return (jj_ntk = jj_nt->kind);
}
void JavaParser::jj_add_error_token(int kind, int pos) {
}
void JavaParser::parseError() {
fprintf(stderr, "Parse error at: %d:%d, after token: %s encountered: %s\n", token->beginLine, token->beginColumn, addUnicodeEscapes(token->image).c_str(), addUnicodeEscapes(getToken(1)->image).c_str());
}
bool JavaParser::trace_enabled() {
return trace;
}
void JavaParser::enable_tracing() {
}
void JavaParser::disable_tracing() {
}
void JavaParser::jj_rescan_token(){
jj_rescan = true;
for (int i = 0; i < 29; i++) {
JJCalls *p = &jj_2_rtns[i];
do {
if (p->gen > jj_gen) {
jj_la = p->arg; jj_lastpos = jj_scanpos = p->first;
switch (i) {
case 0: jj_3_1(); break;
case 1: jj_3_2(); break;
case 2: jj_3_3(); break;
case 3: jj_3_4(); break;
case 4: jj_3_5(); break;
case 5: jj_3_6(); break;
case 6: jj_3_7(); break;
case 7: jj_3_8(); break;
case 8: jj_3_9(); break;
case 9: jj_3_10(); break;
case 10: jj_3_11(); break;
case 11: jj_3_12(); break;
case 12: jj_3_13(); break;
case 13: jj_3_14(); break;
case 14: jj_3_15(); break;
case 15: jj_3_16(); break;
case 16: jj_3_17(); break;
case 17: jj_3_18(); break;
case 18: jj_3_19(); break;
case 19: jj_3_20(); break;
case 20: jj_3_21(); break;
case 21: jj_3_22(); break;
case 22: jj_3_23(); break;
case 23: jj_3_24(); break;
case 24: jj_3_25(); break;
case 25: jj_3_26(); break;
case 26: jj_3_27(); break;
case 27: jj_3_28(); break;
case 28: jj_3_29(); break;
}
}
p = p->next;
} while (p != nullptr);
}
jj_rescan = false;
}
void JavaParser::jj_save(int index, int xla){
JJCalls *p = &jj_2_rtns[index];
while (p->gen > jj_gen) {
if (p->next == nullptr) { p = p->next = new JJCalls(); break; }
p = p->next;
}
p->gen = jj_gen + xla - jj_la; p->first = token; p->arg = xla;
}
}
}