aboutsummaryrefslogtreecommitdiffstats
path: root/C2J/C2J.java
diff options
context:
space:
mode:
Diffstat (limited to 'C2J/C2J.java')
-rw-r--r--C2J/C2J.java5679
1 files changed, 5679 insertions, 0 deletions
diff --git a/C2J/C2J.java b/C2J/C2J.java
new file mode 100644
index 0000000..c6105c6
--- /dev/null
+++ b/C2J/C2J.java
@@ -0,0 +1,5679 @@
+/* Generated By:JavaCC: Do not edit this line. C2J.java */
+import java.util.*;
+
+ public class C2J implements C2JConstants {
+
+ public static final String version = "C2J Parser Version 1.4 Beta" ;
+ public static final String vendor = "Jausoft - Sven Goethel Software Development";
+
+ public static final int EXPORT_JNI_JAVA = 1;
+ public static final int EXPORT_JNI_JAVA_FINAL = 2;
+ public static final int EXPORT_MSJDIRECT_JAVA = 3;
+ public static final int EXPORT_JNI_C = 4; // strong binding
+ public static final int EXPORT_JNI_C_DYN = 5; // dyn. binding
+ public static final int EXPORT_GL_FUNC_NAMES = 10;
+
+ public static final int MODIFIER_JNI_CRITICAL_ARRAY = 1;
+ public static final int MODIFIER_JNI_COPY_CHECK = 2; // experimental trial ..
+
+ public static int exportMode;
+ public static int exportModifier;
+ public static boolean verbose=false ;
+ public static boolean syntaxVerbose=false ;
+ public static boolean echoMode=false ;
+ public static String clazzName;
+ public static String dllname;
+
+ public static int lastEnumValue=0;
+
+ //
+ // Holder of the parsed c-code
+ //
+ public static String cSrc;
+
+ // Hastable for storing typedef types
+ private static Hashtable types = new Hashtable();
+
+ // Stack for determining when the parser
+ // is parsing a typdef definition.
+ private static Stack typedefParsingStack = new Stack();
+
+ // Returns true if the given string is
+ // a typedef type.
+ private static boolean isType(String type){
+
+ if(types.get(type) != null){
+ return true;
+ }
+ return false;
+ }
+
+ // Add a typedef type to those already defined
+ private static void addType(String type){
+ types.put(type, Boolean.TRUE);
+ cSrc += "\n\t/* WARNING TYPE ADDED : "+type+" */\n";
+ }
+
+ // Prints out all the types used in parsing the c source
+ private static void printTypes(){
+
+ Enumeration enum = types.keys();
+
+ while(enum.hasMoreElements()){
+ System.out.println(enum.nextElement());
+ }
+ }
+
+ public static void printUsage()
+ {
+ System.out.println("Usage is one of:");
+ System.out.println(" java C2J [-v] [-s] [-echo] [jnic|jnijava|jnijavaf|msjava|echo] <ClassName> < inputfile");
+ System.out.println("OR");
+ System.out.println(" java C2J [-v] [-s] [-echo] [-jnic-criticalarray] [-jnic-trial] [jnic|jnic-dyn|jnijava|msjava <dllname>|glfnames] <ClassName> inputfile");
+ System.out.println(" , inputfile is a C-HeaderFile (Preprocessed).");
+ System.out.println(" , where <ClassName> must be full qualified with an underscore instead of an dot - if not in (any) Java-Mode.");
+ System.out.println(" , where -v means verbose");
+ System.out.println(" , where -s means including the syntax-states in Output commentary");
+ System.out.println(" , where -echo means including the parsed C-Code in Output commentary");
+ System.out.println(" , where -jnic-criticalarray includes experimental JNI-C Code");
+ System.out.println(" , where -jnic-trial includes experimental JNI-C Code");
+ System.out.println(" , where jnic produces JNI-C Code (strong binding)");
+ System.out.println(" , where jnic-dyn produces JNI-C Code (dynamic binding)");
+ System.out.println(" , where jnijava produces JNI-Java Code (non final)");
+ System.out.println(" , where jnijavaf produces JNI-Java Code (final)");
+ System.out.println(" , where msjava <dllname> produces MSJVM-Java Code for the DLL <dllname>");
+ System.out.println(" , where glfnames produces all GL function names");
+ System.out.println(" , where echo just prints the parsed C-Code\n");
+ System.out.println(" E.g.");
+ System.out.println(" java C2J jnic myPackage_myClass a.h > a.c");
+ System.out.println(" java C2J jnijava myPackage_myClass a.h > a.java");
+ System.out.println(" java C2J jnijavaf myPackage_myClass a.h > aFinalMethods.java");
+ System.out.println(" java C2J msjava OPENGL32 myPackage_myClass a.h > aMSVersion.java");
+ System.out.println(" java C2J -echo myPackage_myClass a.h > aCopy.h");
+ System.out.println(" ( ALL OpenGL GL<type>'s are mapped to JNI types )");
+ }
+
+ // Run the parser
+ public static void main ( String args [ ] )
+ {
+ C2J parser ;
+
+ // Hack to include type "special types"
+ /*
+ types.put("__signed__", Boolean.TRUE);
+ types.put("__const", Boolean.TRUE);
+ types.put("__inline__", Boolean.TRUE);
+ types.put("__signed", Boolean.TRUE);
+ */
+
+ int i;
+ String inputFile = null;
+
+ exportMode = -1; /* error */
+ exportModifier = 0;
+ verbose=false;
+ echoMode=false;
+
+ if(args.length==0)
+ {
+ printUsage();
+ return;
+ }
+
+ for(i=0; i<args.length ; i++)
+ {
+ if(exportMode<=0)
+ {
+ if( args[i].equals("-v") )
+ verbose=true;
+ if( args[i].equals("-s") )
+ syntaxVerbose=true;
+ else if( args[i].equals("-echo") )
+ {
+ echoMode = true;
+ }
+ else if( args[i].equals("-jnic-criticalarray") )
+ {
+ exportModifier |= MODIFIER_JNI_CRITICAL_ARRAY ;
+ }
+ else if( args[i].equals("-jnic-trial") )
+ {
+ exportModifier |= MODIFIER_JNI_COPY_CHECK ;
+ }
+ else if( args[i].equals("jnic") )
+ {
+ exportMode = EXPORT_JNI_C;
+ }
+ else if( args[i].equals("jnic-dyn") )
+ {
+ exportMode = EXPORT_JNI_C_DYN;
+ }
+ else if( args[i].equals("jnijava") )
+ {
+ exportMode = EXPORT_JNI_JAVA;
+ }
+ else if( args[i].equals("jnijavaf") )
+ {
+ exportMode = EXPORT_JNI_JAVA_FINAL;
+ }
+ else if( args[i].equals("glfnames") )
+ {
+ exportMode = EXPORT_GL_FUNC_NAMES;
+ }
+ else if( args[i].equals("msjava") && i+1<args.length )
+ {
+ exportMode = EXPORT_MSJDIRECT_JAVA;
+ i++;
+ dllname = args[i];
+ }
+ } else if (clazzName==null) {
+ clazzName = args[i];
+ } else if(inputFile==null) {
+ inputFile = args[i];
+ } else
+ exportMode=0;
+ }
+
+ String info = new String();
+
+ if(inputFile==null)
+ {
+ info += "/**\n * "+version+"\n * "+vendor+"\n * Reading from standard input . . .";
+ info += "\n * Destination-Class: "+clazzName+ " ! \n */\n";
+ } else {
+ info += "/**\n * "+version+"\n * "+vendor+"\n * Reading from file: "+inputFile+" . . .";
+ info += "\n * Destination-Class: "+clazzName+ " ! \n */\n";
+ }
+ System.err.println(info);
+ System.out.println(info);
+
+ if(inputFile==null)
+ {
+ parser = new C2J(System.in);
+ }
+ else {
+ try {
+ parser = new C2J(new java.io.FileInputStream(inputFile));
+ }
+ catch(java.io.FileNotFoundException e){
+ System.out.println("/* File " + inputFile + " not found. */");
+ return ;
+ }
+ }
+
+ try {
+
+ cSrc = new String();
+
+ parser.TranslationUnit();
+ System.out.println("/* "+version+": Java program parsed successfully. */ ");
+ }
+ catch(ParseException e){
+ System.out.println("/* "+version+": Encountered errors during parse. */ ");
+ System.out.println("/* ");
+ System.out.println(e);
+ System.out.println(" */");
+ }
+ }
+
+ static final public void TranslationUnit() throws ParseException {
+ label_1:
+ while (true) {
+ ExternalDeclaration();
+ if (jj_2_1(1)) {
+ ;
+ } else {
+ break label_1;
+ }
+ }
+
+ }
+
+ static final public void ExternalDeclaration() throws ParseException {
+ CFuncDeclaration cfunc = null;
+ if (jj_2_2(2147483647)) {
+ cfunc = FunctionDefinition();
+ } else if (jj_2_3(1)) {
+ cfunc = Declaration(null);
+ } else {
+ jj_consume_token(-1);
+ throw new ParseException();
+ }
+ if(echoMode)
+ {
+ System.out.println("/**");
+ System.out.println(" * Original Function-Prototype :");
+ System.out.println(" * <pre> ");
+ System.out.print (" ");
+ System.out.print(cSrc);
+ System.out.println(" * </pre> ");
+ System.out.println(" */");
+ cSrc=new String();
+ }
+ if(verbose)
+ {
+ String tmp = new String();
+
+ tmp += "/*\n";
+
+ if(cfunc!=null)
+ tmp += cfunc.toString();
+ else
+ tmp += "NO CFUNC INSTANCE";
+
+ tmp += "\n*/";
+
+ System.out.println(tmp);
+ }
+
+ if(cfunc==null)
+ {
+ System.err.println("ERROR(ExternalDeclaration): no CFuncDeclaration instance received !");
+ {if (true) return;}
+ }
+ if(!cfunc.isValid())
+ {
+ String name = null;
+ if(cfunc.funcSpec!=null)
+ {
+ name=cfunc.funcSpec.identifier;
+ if(name==null)
+ name=cfunc.funcSpec.toString();
+ }
+ if(name==null)
+ name="<UNKNOWN>";
+ System.err.println("WARNING(ExternalDeclaration): Function :<"+
+ name+"> can not be proceded - invalid !");
+ {if (true) return;}
+ }
+
+ switch(exportMode)
+ {
+ case EXPORT_JNI_JAVA :
+ System.out.println(cfunc.toJniJavaCode(false));
+ break;
+ case EXPORT_JNI_JAVA_FINAL :
+ System.out.println(cfunc.toJniJavaCode(true));
+ break;
+ case EXPORT_JNI_C :
+ case EXPORT_JNI_C_DYN :
+ System.out.println(cfunc.toJniCCode(clazzName, exportMode,
+ exportModifier));
+ break;
+ case EXPORT_GL_FUNC_NAMES:
+ System.out.println("\t\t\""+cfunc.funcSpec.identifier+"\", ");
+ break;
+ case EXPORT_MSJDIRECT_JAVA :
+ System.out.println(cfunc.toMsJDirectCode(dllname));
+ break;
+ }
+ }
+
+ static final public CFuncDeclaration FunctionDefinition() throws ParseException {
+ CFuncDeclaration cfunc= new CFuncDeclaration();
+ if (jj_2_4(2147483647)) {
+ DeclarationSpecifiers(cfunc);
+ } else {
+ ;
+ }
+ Declarator(cfunc);
+ if (jj_2_5(1)) {
+ DeclarationList(cfunc);
+ } else {
+ ;
+ }
+ CompoundStatement();
+ {if (true) return cfunc;}
+ throw new Error("Missing return statement in function");
+ }
+
+ static final public CFuncDeclaration Declaration(CFuncDeclaration cfunc) throws ParseException {
+ if(cfunc==null) cfunc = new CFuncDeclaration();
+ DeclarationSpecifiers(cfunc);
+ switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+ case IDENTIFIER:
+ case 75:
+ case 79:
+ InitDeclaratorList(cfunc);
+ break;
+ default:
+ jj_la1[0] = jj_gen;
+ ;
+ }
+ jj_consume_token(69);
+ cSrc += ";\n";
+ {if (true) return cfunc;}
+ throw new Error("Missing return statement in function");
+ }
+
+ static final public void DeclarationList(CFuncDeclaration cfunc) throws ParseException {
+ label_2:
+ while (true) {
+ Declaration(cfunc);
+ if (jj_2_6(2147483647)) {
+ ;
+ } else {
+ break label_2;
+ }
+ }
+ }
+
+ static final public void DeclarationSpecifiers(CFuncDeclaration cfunc) throws ParseException {
+ CFuncVariable cfvar=null;
+ if(cfunc!=null) cfvar=cfunc.getLastIncompleteVar();
+ switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+ case REGISTER:
+ case TYPEDEF:
+ case EXTERN:
+ case STATIC:
+ case AUTO:
+ StorageClassSpecifier(cfunc);
+ if (jj_2_7(2147483647)) {
+ DeclarationSpecifiers(cfunc);
+ } else {
+ ;
+ }
+ break;
+ default:
+ jj_la1[1] = jj_gen;
+ if (jj_2_10(1)) {
+ cfvar = TypeSpecifier(cfvar);
+ if(cfunc!=null)
+ {
+ cfunc.setWorkingVar(cfvar);
+ }
+ if (jj_2_8(2147483647)) {
+ DeclarationSpecifiers(cfunc);
+ } else {
+ ;
+ }
+ } else {
+ switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+ case VOLATILE:
+ case CONST:
+ cfvar = TypeQualifier(cfvar);
+ if(cfunc!=null)
+ {
+ cfunc.setWorkingVar(cfvar);
+ }
+ if (jj_2_9(2147483647)) {
+ DeclarationSpecifiers(cfunc);
+ } else {
+ ;
+ }
+ break;
+ default:
+ jj_la1[2] = jj_gen;
+ jj_consume_token(-1);
+ throw new ParseException();
+ }
+ }
+ }
+ }
+
+ static final public void StorageClassSpecifier(CFuncDeclaration cfunc) throws ParseException {
+ Token t;
+ switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+ case AUTO:
+ t = jj_consume_token(AUTO);
+ cSrc += t.image+" ";
+ break;
+ case REGISTER:
+ t = jj_consume_token(REGISTER);
+ cSrc += t.image+" ";
+ break;
+ case STATIC:
+ t = jj_consume_token(STATIC);
+ cSrc += t.image+" ";
+ break;
+ case EXTERN:
+ t = jj_consume_token(EXTERN);
+ cSrc += t.image+" ";
+ break;
+ case TYPEDEF:
+ t = jj_consume_token(TYPEDEF);
+ cSrc += t.image+" ";
+ typedefParsingStack.push(Boolean.TRUE);
+ break;
+ default:
+ jj_la1[3] = jj_gen;
+ jj_consume_token(-1);
+ throw new ParseException();
+ }
+ }
+
+ static final public CFuncVariable TypeSpecifier(CFuncVariable cfvar) throws ParseException {
+ String typeJava; Token t=null; boolean isVoid=false;
+ switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+ case UNSIGNED:
+ case DOUBLE:
+ case SIGNED:
+ case FLOAT:
+ case SHORT:
+ case LONG:
+ case VOID:
+ case CHAR:
+ case INT:
+ case GLvoid:
+ case GLbyte:
+ case GLshort:
+ case GLint:
+ case GLsizei:
+ case GLfloat:
+ case GLclampf:
+ case GLdouble:
+ case GLclampd:
+ case GLubyte:
+ case GLboolean:
+ case GLushort:
+ case GLuint:
+ case GLenum:
+ case GLbitfield:
+ case GLUquadricObj:
+ case GLUnurbsObj:
+ case GLUtesselator:
+ case GLUtriangulatorObj:
+ switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+ case UNSIGNED:
+ case DOUBLE:
+ case SIGNED:
+ case FLOAT:
+ case SHORT:
+ case LONG:
+ case VOID:
+ case CHAR:
+ case INT:
+ switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+ case VOID:
+ t = jj_consume_token(VOID);
+ typeJava=t.image;
+ isVoid=true;
+ cSrc += t.image+" ";
+ break;
+ case CHAR:
+ t = jj_consume_token(CHAR);
+ typeJava="byte";
+ cSrc += t.image+" ";
+ break;
+ case SHORT:
+ t = jj_consume_token(SHORT);
+ typeJava=t.image;
+ cSrc += t.image+" ";
+ break;
+ case INT:
+ t = jj_consume_token(INT);
+ typeJava=t.image;
+ cSrc += t.image+" ";
+ break;
+ case FLOAT:
+ t = jj_consume_token(FLOAT);
+ typeJava=t.image;
+ cSrc += t.image+" ";
+ break;
+ case DOUBLE:
+ t = jj_consume_token(DOUBLE);
+ typeJava=t.image;
+ cSrc += t.image+" ";
+ break;
+ case UNSIGNED:
+ t = jj_consume_token(UNSIGNED);
+ typeJava="int";
+ cSrc += t.image+" ";
+ break;
+ case SIGNED:
+ t = jj_consume_token(SIGNED);
+ typeJava="int";
+ cSrc += t.image+" ";
+ break;
+ case LONG:
+ t = jj_consume_token(LONG);
+ typeJava=t.image;
+ cSrc += t.image+" ";
+ break;
+ default:
+ jj_la1[4] = jj_gen;
+ jj_consume_token(-1);
+ throw new ParseException();
+ }
+ if(cfvar==null)
+ cfvar = new CFuncVariable();
+
+ cfvar.typeC = t.image;
+ cfvar.typeJava = typeJava;
+ cfvar.isVoid = isVoid;
+
+ {if (true) return cfvar;}
+ break;
+ case GLvoid:
+ case GLbyte:
+ case GLshort:
+ case GLint:
+ case GLsizei:
+ case GLfloat:
+ case GLclampf:
+ case GLdouble:
+ case GLclampd:
+ case GLubyte:
+ case GLboolean:
+ case GLushort:
+ case GLuint:
+ case GLenum:
+ case GLbitfield:
+ case GLUquadricObj:
+ case GLUnurbsObj:
+ case GLUtesselator:
+ case GLUtriangulatorObj:
+ cfvar = TypeSpecifierGL(cfvar);
+ {if (true) return cfvar;}
+ break;
+ default:
+ jj_la1[5] = jj_gen;
+ jj_consume_token(-1);
+ throw new ParseException();
+ }
+ break;
+ case STRUCT:
+ case UNION:
+ StructOrUnionSpecifier();
+ break;
+ case ENUM:
+ EnumSpecifier();
+ break;
+ default:
+ jj_la1[6] = jj_gen;
+ if (isType(getToken(1).image)) {
+ TypedefName();
+ } else {
+ jj_consume_token(-1);
+ throw new ParseException();
+ }
+ }
+ {if (true) return null;}
+ throw new Error("Missing return statement in function");
+ }
+
+ static final public CFuncVariable TypeSpecifierGL(CFuncVariable cfvar) throws ParseException {
+ String typeJava; Token t=null; boolean isVoid=false;
+ switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+ case GLvoid:
+ t = jj_consume_token(GLvoid);
+ typeJava="void";
+ cSrc += t.image+" ";
+ isVoid=true;
+ break;
+ case GLbyte:
+ t = jj_consume_token(GLbyte);
+ typeJava="byte";
+ cSrc += t.image+" ";
+ break;
+ case GLshort:
+ t = jj_consume_token(GLshort);
+ typeJava="short";
+ cSrc += t.image+" ";
+ break;
+ case GLint:
+ t = jj_consume_token(GLint);
+ typeJava="int";
+ cSrc += t.image+" ";
+ break;
+ case GLsizei:
+ t = jj_consume_token(GLsizei);
+ typeJava="int";
+ cSrc += t.image+" ";
+ break;
+ case GLfloat:
+ t = jj_consume_token(GLfloat);
+ typeJava="float";
+ cSrc += t.image+" ";
+ break;
+ case GLclampf:
+ t = jj_consume_token(GLclampf);
+ typeJava="float";
+ cSrc += t.image+" ";
+ break;
+ case GLdouble:
+ t = jj_consume_token(GLdouble);
+ typeJava="double";
+ cSrc += t.image+" ";
+ break;
+ case GLclampd:
+ t = jj_consume_token(GLclampd);
+ typeJava="double";
+ cSrc += t.image+" ";
+ break;
+ case GLubyte:
+ t = jj_consume_token(GLubyte);
+ typeJava="byte";
+ cSrc += t.image+" ";
+ break;
+ case GLboolean:
+ t = jj_consume_token(GLboolean);
+ typeJava="boolean";
+ cSrc += t.image+" ";
+ break;
+ case GLushort:
+ t = jj_consume_token(GLushort);
+ typeJava="short";
+ cSrc += t.image+" ";
+ break;
+ case GLuint:
+ t = jj_consume_token(GLuint);
+ typeJava="int";
+ cSrc += t.image+" ";
+ break;
+ case GLenum:
+ t = jj_consume_token(GLenum);
+ typeJava="int";
+ cSrc += t.image+" ";
+ break;
+ case GLbitfield:
+ t = jj_consume_token(GLbitfield);
+ typeJava="int";
+ cSrc += t.image+" ";
+ break;
+ case GLUquadricObj:
+ t = jj_consume_token(GLUquadricObj);
+ typeJava="int";
+ cSrc += t.image+" ";
+ break;
+ case GLUnurbsObj:
+ t = jj_consume_token(GLUnurbsObj);
+ typeJava="int";
+ cSrc += t.image+" ";
+ break;
+ case GLUtesselator:
+ t = jj_consume_token(GLUtesselator);
+ typeJava="int";
+ cSrc += t.image+" ";
+ break;
+ case GLUtriangulatorObj:
+ t = jj_consume_token(GLUtriangulatorObj);
+ typeJava="int";
+ cSrc += t.image+" ";
+ break;
+ default:
+ jj_la1[7] = jj_gen;
+ jj_consume_token(-1);
+ throw new ParseException();
+ }
+ if(cfvar==null)
+ cfvar = new CFuncVariable();
+ cfvar.typeC = t.image;
+ cfvar.typeJava = typeJava;
+ cfvar.isVoid = isVoid;
+
+ {if (true) return cfvar;}
+ throw new Error("Missing return statement in function");
+ }
+
+ static final public CFuncVariable TypeQualifier(CFuncVariable cfvar) throws ParseException {
+ Token t;
+ switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+ case CONST:
+ t = jj_consume_token(CONST);
+ cSrc += t.image+" ";
+ if(cfvar==null)
+ cfvar = new CFuncVariable();
+ cfvar.isConst=true;
+ {if (true) return cfvar;}
+ break;
+ case VOLATILE:
+ t = jj_consume_token(VOLATILE);
+ cSrc += t.image+" "; {if (true) return cfvar;}
+ break;
+ default:
+ jj_la1[8] = jj_gen;
+ jj_consume_token(-1);
+ throw new ParseException();
+ }
+ throw new Error("Missing return statement in function");
+ }
+
+ static final public void StructOrUnionSpecifier() throws ParseException {
+ Token t;
+ typedefParsingStack.push(Boolean.FALSE);
+ StructOrUnion();
+ if (jj_2_11(3)) {
+ switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+ case IDENTIFIER:
+ t = jj_consume_token(IDENTIFIER);
+ cSrc += t.image+" ";
+ if(syntaxVerbose)
+ cSrc += "/*StrucOrUnionSpec*/";
+ break;
+ default:
+ jj_la1[9] = jj_gen;
+ ;
+ }
+ jj_consume_token(70);
+ cSrc += "{\n";
+ StructDeclarationList();
+ jj_consume_token(71);
+ cSrc += "}\n";
+ } else {
+ switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+ case IDENTIFIER:
+ t = jj_consume_token(IDENTIFIER);
+ cSrc += t.image+" ";
+ if(syntaxVerbose)
+ cSrc += "/*StrucOrUnionSpec2*/";
+ break;
+ default:
+ jj_la1[10] = jj_gen;
+ jj_consume_token(-1);
+ throw new ParseException();
+ }
+ }
+ typedefParsingStack.pop();
+ }
+
+ static final public void StructOrUnion() throws ParseException {
+ Token t;
+ switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+ case STRUCT:
+ t = jj_consume_token(STRUCT);
+ cSrc += t.image+" ";
+ break;
+ case UNION:
+ t = jj_consume_token(UNION);
+ cSrc += t.image+" ";
+ break;
+ default:
+ jj_la1[11] = jj_gen;
+ jj_consume_token(-1);
+ throw new ParseException();
+ }
+ }
+
+ static final public void StructDeclarationList() throws ParseException {
+ label_3:
+ while (true) {
+ StructDeclaration();
+ if (jj_2_12(1)) {
+ ;
+ } else {
+ break label_3;
+ }
+ }
+ }
+
+ static final public void InitDeclaratorList(CFuncDeclaration cfunc) throws ParseException {
+ InitDeclarator(cfunc);
+ label_4:
+ while (true) {
+ switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+ case 72:
+ ;
+ break;
+ default:
+ jj_la1[12] = jj_gen;
+ break label_4;
+ }
+ jj_consume_token(72);
+ cSrc += ", ";
+ InitDeclarator(cfunc);
+ }
+ // Finished with a typedefDeclaration??
+ if(!(typedefParsingStack.empty()) && ((Boolean)typedefParsingStack.peek()).booleanValue()){
+ typedefParsingStack.pop();
+ }
+ }
+
+ static final public void InitDeclarator(CFuncDeclaration cfunc) throws ParseException {
+ Declarator(cfunc);
+ switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+ case 73:
+ jj_consume_token(73);
+ cSrc += "= ";
+ Initializer();
+ break;
+ default:
+ jj_la1[13] = jj_gen;
+ ;
+ }
+ }
+
+ static final public void StructDeclaration() throws ParseException {
+ SpecifierQualifierList(null);
+ StructDeclaratorList();
+ jj_consume_token(69);
+ cSrc += ";\n";
+ }
+
+ static final public CFuncVariable SpecifierQualifierList(CFuncVariable cfvar) throws ParseException {
+ if (jj_2_15(1)) {
+ cfvar = TypeSpecifier(cfvar);
+ if (jj_2_13(2147483647)) {
+ SpecifierQualifierList(cfvar);
+ } else {
+ ;
+ }
+ {if (true) return cfvar;}
+ } else {
+ switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+ case VOLATILE:
+ case CONST:
+ cfvar = TypeQualifier(cfvar);
+ if (jj_2_14(2147483647)) {
+ SpecifierQualifierList(cfvar);
+ } else {
+ ;
+ }
+ {if (true) return cfvar;}
+ break;
+ default:
+ jj_la1[14] = jj_gen;
+ jj_consume_token(-1);
+ throw new ParseException();
+ }
+ }
+ throw new Error("Missing return statement in function");
+ }
+
+ static final public void StructDeclaratorList() throws ParseException {
+ StructDeclarator();
+ label_5:
+ while (true) {
+ switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+ case 72:
+ ;
+ break;
+ default:
+ jj_la1[15] = jj_gen;
+ break label_5;
+ }
+ jj_consume_token(72);
+ cSrc += ", ";
+ StructDeclarator();
+ }
+ }
+
+ static final public void StructDeclarator() throws ParseException {
+ if (jj_2_16(3)) {
+ Declarator(null);
+ } else {
+ switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+ case IDENTIFIER:
+ case 74:
+ case 75:
+ case 79:
+ switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+ case IDENTIFIER:
+ case 75:
+ case 79:
+ Declarator(null);
+ break;
+ default:
+ jj_la1[16] = jj_gen;
+ ;
+ }
+ jj_consume_token(74);
+ cSrc += ": ";
+ ConstantExpression();
+ break;
+ default:
+ jj_la1[17] = jj_gen;
+ jj_consume_token(-1);
+ throw new ParseException();
+ }
+ }
+ }
+
+ static final public void EnumSpecifier() throws ParseException {
+ Token t;
+ t = jj_consume_token(ENUM);
+ cSrc += t.image+" ";
+ if (jj_2_17(3)) {
+ switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+ case IDENTIFIER:
+ t = jj_consume_token(IDENTIFIER);
+ cSrc += t.image+" ";
+ break;
+ default:
+ jj_la1[18] = jj_gen;
+ ;
+ }
+ jj_consume_token(70);
+ cSrc += "{\n";
+ EnumeratorList();
+ jj_consume_token(71);
+ cSrc += "}\n";
+ } else {
+ switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+ case IDENTIFIER:
+ t = jj_consume_token(IDENTIFIER);
+ cSrc += t.image+" ";
+ break;
+ default:
+ jj_la1[19] = jj_gen;
+ jj_consume_token(-1);
+ throw new ParseException();
+ }
+ }
+ }
+
+ static final public void EnumeratorList() throws ParseException {
+ lastEnumValue=0;
+ Enumerator();
+ label_6:
+ while (true) {
+ switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+ case 72:
+ ;
+ break;
+ default:
+ jj_la1[20] = jj_gen;
+ break label_6;
+ }
+ jj_consume_token(72);
+ cSrc += ",\n";
+ Enumerator();
+ }
+ cSrc += "\n\t;\n";
+ }
+
+ static final public void Enumerator() throws ParseException {
+ Token t; int startIdx;
+ t = jj_consume_token(IDENTIFIER);
+ cSrc += "\t"+t.image+" "; startIdx=-1;
+ switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+ case 73:
+ jj_consume_token(73);
+ cSrc += "= "; startIdx=cSrc.length();
+ ConstantExpression();
+ break;
+ default:
+ jj_la1[21] = jj_gen;
+ ;
+ }
+ System.out.print("\tpublic static final int "+t.image+"\t= ");
+ if(startIdx>=0)
+ {
+ String valStr = cSrc.substring(startIdx, cSrc.length()).trim();
+ System.out.print(valStr);
+ int val = 0;
+ try {
+ val=Integer.decode(valStr).intValue();
+ lastEnumValue=val;
+ } catch (Exception ex) {
+ System.err.println("Error while decoding for <"+
+ t.image+">: <"+valStr+">");
+ lastEnumValue++;
+ }
+ } else {
+ lastEnumValue++;
+ System.out.print(lastEnumValue);
+ }
+ System.out.println(";");
+ }
+
+ static final public void Declarator(CFuncDeclaration cfunc) throws ParseException {
+ CFuncVariable cfvar=null;
+ if(cfunc!=null)
+ cfvar = cfunc.getWorkingVar();
+ switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+ case 79:
+ Pointer(cfvar);
+ break;
+ default:
+ jj_la1[22] = jj_gen;
+ ;
+ }
+ DirectDeclarator(cfunc);
+ }
+
+ static final public void DirectDeclarator(CFuncDeclaration cfunc) throws ParseException {
+ Token t;
+ switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+ case IDENTIFIER:
+ t = jj_consume_token(IDENTIFIER);
+ cSrc+=t.image+" ";
+
+ if(syntaxVerbose)
+ cSrc += "/*DirectDecl1*/ ";
+
+ if(!(typedefParsingStack.empty()) &&
+ ((Boolean)typedefParsingStack.peek()).booleanValue())
+ {
+ addType(t.image);
+ }
+
+ if(cfunc==null)
+ {if (true) return;}
+
+ //
+ // Complete the variable declarations in the holder !
+ //
+ CFuncVariable cfvar = cfunc.getWorkingVar();
+
+ cfvar.identifier=t.image;
+ cfvar.complete=true;
+ break;
+ case 75:
+ jj_consume_token(75);
+ cSrc += "( ";
+ if(syntaxVerbose)
+ cSrc += "/*DirectDecl2*/ ";
+ Declarator(cfunc);
+ jj_consume_token(76);
+ cSrc += ") ";
+ break;
+ default:
+ jj_la1[23] = jj_gen;
+ jj_consume_token(-1);
+ throw new ParseException();
+ }
+ label_7:
+ while (true) {
+ switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+ case 75:
+ case 77:
+ ;
+ break;
+ default:
+ jj_la1[24] = jj_gen;
+ break label_7;
+ }
+ switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+ case 77:
+ jj_consume_token(77);
+ cSrc += "[ ";
+ switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+ case INTEGER_LITERAL:
+ case FLOATING_POINT_LITERAL:
+ case CHARACTER_LITERAL:
+ case STRING_LITERAL:
+ case SIZEOF:
+ case IDENTIFIER:
+ case 75:
+ case 79:
+ case 96:
+ case 105:
+ case 106:
+ case 109:
+ case 110:
+ case 111:
+ case 112:
+ ConstantExpression();
+ break;
+ default:
+ jj_la1[25] = jj_gen;
+ ;
+ }
+ jj_consume_token(78);
+ cSrc += "] ";
+ if(cfunc!=null)
+ {
+ CFuncVariable cfvar = (CFuncVariable)
+ cfunc.argList.elementAt(cfunc.argList.size()-1);
+ cfvar.arrayNumber++;
+ }
+ break;
+ default:
+ jj_la1[26] = jj_gen;
+ if (jj_2_19(3)) {
+ jj_consume_token(75);
+ cSrc += "( ";
+ if(syntaxVerbose)
+ cSrc += "/*DirectDecl3*/ ";
+ if (jj_2_18(1)) {
+ ParameterTypeList(cfunc);
+ } else {
+ ;
+ }
+ jj_consume_token(76);
+ cSrc += ") ";
+ } else {
+ switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+ case 75:
+ jj_consume_token(75);
+ cSrc += "( ";
+ if(syntaxVerbose)
+ cSrc += "/*DirectDecl4*/ ";
+ IdentifierList();
+ jj_consume_token(76);
+ cSrc += ") ";
+ break;
+ default:
+ jj_la1[27] = jj_gen;
+ jj_consume_token(-1);
+ throw new ParseException();
+ }
+ }
+ }
+ }
+ }
+
+ static final public void Pointer(CFuncVariable cfvar) throws ParseException {
+ jj_consume_token(79);
+ cSrc += "* ";
+ if(cfvar!=null)
+ {
+ if(cfvar.typeC!=null)
+ {
+ /**
+ * No Pointer - These GLU Types are allready
+ * "long" values for java -> pointer
+ */
+ if(cfvar.typeC.equals("GLUquadricObj") ||
+ cfvar.typeC.equals("GLUnurbsObj") ||
+ cfvar.typeC.equals("GLUtesselator") ||
+ cfvar.typeC.equals("GLUtriangulatorObj")
+ )
+ {
+ cfvar.isGLUPtrObject=true;
+ {if (true) return;}
+ }
+ }
+ cfvar.arrayNumber++;
+ }
+ switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+ case VOLATILE:
+ case CONST:
+ TypeQualifierList(null);
+ break;
+ default:
+ jj_la1[28] = jj_gen;
+ ;
+ }
+ switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+ case 79:
+ Pointer(cfvar);
+ break;
+ default:
+ jj_la1[29] = jj_gen;
+ ;
+ }
+ }
+
+ static final public void TypeQualifierList(CFuncVariable cfvar) throws ParseException {
+ label_8:
+ while (true) {
+ TypeQualifier(cfvar);
+ switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+ case VOLATILE:
+ case CONST:
+ ;
+ break;
+ default:
+ jj_la1[30] = jj_gen;
+ break label_8;
+ }
+ }
+ }
+
+ static final public void ParameterTypeList(CFuncDeclaration cfunc) throws ParseException {
+ ParameterList(cfunc);
+ switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+ case 72:
+ jj_consume_token(72);
+ cSrc += ", ";
+ jj_consume_token(80);
+ cSrc += "...";
+ break;
+ default:
+ jj_la1[31] = jj_gen;
+ ;
+ }
+ }
+
+ static final public void ParameterList(CFuncDeclaration cfunc) throws ParseException {
+ ParameterDeclaration(cfunc);
+ label_9:
+ while (true) {
+ if (jj_2_20(2)) {
+ ;
+ } else {
+ break label_9;
+ }
+ jj_consume_token(72);
+ cSrc += ", ";
+ ParameterDeclaration(cfunc);
+ }
+ }
+
+ static final public void ParameterDeclaration(CFuncDeclaration cfunc) throws ParseException {
+ DeclarationSpecifiers(cfunc);
+ if (jj_2_21(2147483647)) {
+ Declarator(cfunc);
+ } else {
+ switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+ case 75:
+ case 77:
+ case 79:
+ AbstractDeclarator();
+ break;
+ default:
+ jj_la1[32] = jj_gen;
+ ;
+ }
+ }
+ if(cfunc!=null)
+ {
+ CFuncVariable cfvar = cfunc.getLastIncompleteVar();
+ if(cfvar!=null)
+ {
+ /**
+ * We may must squash the "void" Argument
+ * E.g. void function(void) !
+ */
+ if(cfvar.isVoid)
+ {
+ cfunc.argList.removeElementAt(
+ cfunc.argList.size()-1);
+ {if (true) return;}
+ }
+ /**
+ * We have a regular argument,
+ * so we must add an instance name here ...
+ */
+ cfvar.identifier="arg"+(cfunc.argList.size()-1);
+ cfvar.complete=true;
+ }
+ }
+ }
+
+/**
+ *
+ * J2C Declaration Changes END (JAU)
+ *
+ */
+ static final public void IdentifierList() throws ParseException {
+ Token t;
+ t = jj_consume_token(IDENTIFIER);
+ cSrc += t.image+" ";
+ if(syntaxVerbose)
+ cSrc += "/*IdentifierList*/ ";
+ label_10:
+ while (true) {
+ switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+ case 72:
+ ;
+ break;
+ default:
+ jj_la1[33] = jj_gen;
+ break label_10;
+ }
+ jj_consume_token(72);
+ cSrc += ", ";
+ t = jj_consume_token(IDENTIFIER);
+ cSrc += t.image+" ";
+ if(syntaxVerbose)
+ cSrc += "/*IdentifierList2*/ ";
+ }
+ }
+
+ static final public void Initializer() throws ParseException {
+ switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+ case INTEGER_LITERAL:
+ case FLOATING_POINT_LITERAL:
+ case CHARACTER_LITERAL:
+ case STRING_LITERAL:
+ case SIZEOF:
+ case IDENTIFIER:
+ case 75:
+ case 79:
+ case 96:
+ case 105:
+ case 106:
+ case 109:
+ case 110:
+ case 111:
+ case 112:
+ AssignmentExpression();
+ break;
+ case 70:
+ jj_consume_token(70);
+ cSrc += "{\n";
+ InitializerList();
+ switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+ case 72:
+ jj_consume_token(72);
+ cSrc += ", ";
+ break;
+ default:
+ jj_la1[34] = jj_gen;
+ ;
+ }
+ jj_consume_token(71);
+ cSrc += "}\n";
+ break;
+ default:
+ jj_la1[35] = jj_gen;
+ jj_consume_token(-1);
+ throw new ParseException();
+ }
+ }
+
+ static final public void InitializerList() throws ParseException {
+ Initializer();
+ label_11:
+ while (true) {
+ if (jj_2_22(2)) {
+ ;
+ } else {
+ break label_11;
+ }
+ jj_consume_token(72);
+ cSrc += ", ";
+ Initializer();
+ }
+ }
+
+ static final public void TypeName() throws ParseException {
+ SpecifierQualifierList(null);
+ switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+ case 75:
+ case 77:
+ case 79:
+ AbstractDeclarator();
+ break;
+ default:
+ jj_la1[36] = jj_gen;
+ ;
+ }
+ }
+
+ static final public void AbstractDeclarator() throws ParseException {
+ if (jj_2_23(3)) {
+ Pointer(null);
+ } else {
+ switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+ case 75:
+ case 77:
+ case 79:
+ switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+ case 79:
+ Pointer(null);
+ break;
+ default:
+ jj_la1[37] = jj_gen;
+ ;
+ }
+ DirectAbstractDeclarator();
+ break;
+ default:
+ jj_la1[38] = jj_gen;
+ jj_consume_token(-1);
+ throw new ParseException();
+ }
+ }
+ }
+
+ static final public void DirectAbstractDeclarator() throws ParseException {
+ if (jj_2_25(2)) {
+ jj_consume_token(75);
+ cSrc += "( ";
+ AbstractDeclarator();
+ jj_consume_token(76);
+ cSrc += ") ";
+ } else {
+ switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+ case 77:
+ jj_consume_token(77);
+ cSrc += "[ ";
+ switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+ case INTEGER_LITERAL:
+ case FLOATING_POINT_LITERAL:
+ case CHARACTER_LITERAL:
+ case STRING_LITERAL:
+ case SIZEOF:
+ case IDENTIFIER:
+ case 75:
+ case 79:
+ case 96:
+ case 105:
+ case 106:
+ case 109:
+ case 110:
+ case 111:
+ case 112:
+ ConstantExpression();
+ break;
+ default:
+ jj_la1[39] = jj_gen;
+ ;
+ }
+ jj_consume_token(78);
+ cSrc += "] ";
+ break;
+ case 75:
+ jj_consume_token(75);
+ cSrc += "( ";
+ if (jj_2_24(1)) {
+ ParameterTypeList(null);
+ } else {
+ ;
+ }
+ jj_consume_token(76);
+ cSrc += ") ";
+ break;
+ default:
+ jj_la1[40] = jj_gen;
+ jj_consume_token(-1);
+ throw new ParseException();
+ }
+ }
+ label_12:
+ while (true) {
+ switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+ case 75:
+ case 77:
+ ;
+ break;
+ default:
+ jj_la1[41] = jj_gen;
+ break label_12;
+ }
+ switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+ case 77:
+ jj_consume_token(77);
+ cSrc += "[ ";
+ switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+ case INTEGER_LITERAL:
+ case FLOATING_POINT_LITERAL:
+ case CHARACTER_LITERAL:
+ case STRING_LITERAL:
+ case SIZEOF:
+ case IDENTIFIER:
+ case 75:
+ case 79:
+ case 96:
+ case 105:
+ case 106:
+ case 109:
+ case 110:
+ case 111:
+ case 112:
+ ConstantExpression();
+ break;
+ default:
+ jj_la1[42] = jj_gen;
+ ;
+ }
+ jj_consume_token(78);
+ cSrc += "] ";
+ break;
+ case 75:
+ jj_consume_token(75);
+ cSrc += "( ";
+ if (jj_2_26(1)) {
+ ParameterTypeList(null);
+ } else {
+ ;
+ }
+ jj_consume_token(76);
+ cSrc += ") ";
+ break;
+ default:
+ jj_la1[43] = jj_gen;
+ jj_consume_token(-1);
+ throw new ParseException();
+ }
+ }
+ }
+
+ static final public void TypedefName() throws ParseException {
+ Token t;
+ t = jj_consume_token(IDENTIFIER);
+ cSrc += t.image+" /*TypedefName*/";
+ }
+
+ static final public void Statement() throws ParseException {
+ if (jj_2_27(2)) {
+ LabeledStatement();
+ } else {
+ switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+ case INTEGER_LITERAL:
+ case FLOATING_POINT_LITERAL:
+ case CHARACTER_LITERAL:
+ case STRING_LITERAL:
+ case SIZEOF:
+ case IDENTIFIER:
+ case 69:
+ case 75:
+ case 79:
+ case 96:
+ case 105:
+ case 106:
+ case 109:
+ case 110:
+ case 111:
+ case 112:
+ ExpressionStatement();
+ break;
+ case 70:
+ CompoundStatement();
+ break;
+ case SWITCH:
+ case IF:
+ SelectionStatement();
+ break;
+ case WHILE:
+ case FOR:
+ case DO:
+ IterationStatement();
+ break;
+ case CONTINUE:
+ case RETURN:
+ case BREAK:
+ case GOTO:
+ JumpStatement();
+ break;
+ default:
+ jj_la1[44] = jj_gen;
+ jj_consume_token(-1);
+ throw new ParseException();
+ }
+ }
+ }
+
+ static final public void LabeledStatement() throws ParseException {
+ Token t;
+ switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+ case IDENTIFIER:
+ t = jj_consume_token(IDENTIFIER);
+ cSrc += t.image+" ";
+ if(syntaxVerbose)
+ cSrc += "/*LabeledStatement*/ ";
+ jj_consume_token(74);
+ cSrc += ": ";
+ Statement();
+ break;
+ case CASE:
+ t = jj_consume_token(CASE);
+ cSrc += t.image+" ";
+ ConstantExpression();
+ jj_consume_token(74);
+ cSrc += ": ";
+ Statement();
+ break;
+ case DFLT:
+ t = jj_consume_token(DFLT);
+ cSrc += t.image+" ";
+ jj_consume_token(74);
+ cSrc += ": ";
+ Statement();
+ break;
+ default:
+ jj_la1[45] = jj_gen;
+ jj_consume_token(-1);
+ throw new ParseException();
+ }
+ }
+
+ static final public void ExpressionStatement() throws ParseException {
+ switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+ case INTEGER_LITERAL:
+ case FLOATING_POINT_LITERAL:
+ case CHARACTER_LITERAL:
+ case STRING_LITERAL:
+ case SIZEOF:
+ case IDENTIFIER:
+ case 75:
+ case 79:
+ case 96:
+ case 105:
+ case 106:
+ case 109:
+ case 110:
+ case 111:
+ case 112:
+ Expression();
+ break;
+ default:
+ jj_la1[46] = jj_gen;
+ ;
+ }
+ jj_consume_token(69);
+ cSrc += ";\n";
+ }
+
+ static final public void CompoundStatement() throws ParseException {
+ jj_consume_token(70);
+ cSrc += "{\n";
+ if (jj_2_28(2147483647)) {
+ DeclarationList(null);
+ } else {
+ ;
+ }
+ switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+ case INTEGER_LITERAL:
+ case FLOATING_POINT_LITERAL:
+ case CHARACTER_LITERAL:
+ case STRING_LITERAL:
+ case CONTINUE:
+ case DFLT:
+ case SIZEOF:
+ case SWITCH:
+ case RETURN:
+ case WHILE:
+ case BREAK:
+ case CASE:
+ case GOTO:
+ case FOR:
+ case IF:
+ case DO:
+ case IDENTIFIER:
+ case 69:
+ case 70:
+ case 75:
+ case 79:
+ case 96:
+ case 105:
+ case 106:
+ case 109:
+ case 110:
+ case 111:
+ case 112:
+ StatementList();
+ break;
+ default:
+ jj_la1[47] = jj_gen;
+ ;
+ }
+ jj_consume_token(71);
+ cSrc += "}\n";
+ }
+
+ static final public void StatementList() throws ParseException {
+ label_13:
+ while (true) {
+ Statement();
+ switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+ case INTEGER_LITERAL:
+ case FLOATING_POINT_LITERAL:
+ case CHARACTER_LITERAL:
+ case STRING_LITERAL:
+ case CONTINUE:
+ case DFLT:
+ case SIZEOF:
+ case SWITCH:
+ case RETURN:
+ case WHILE:
+ case BREAK:
+ case CASE:
+ case GOTO:
+ case FOR:
+ case IF:
+ case DO:
+ case IDENTIFIER:
+ case 69:
+ case 70:
+ case 75:
+ case 79:
+ case 96:
+ case 105:
+ case 106:
+ case 109:
+ case 110:
+ case 111:
+ case 112:
+ ;
+ break;
+ default:
+ jj_la1[48] = jj_gen;
+ break label_13;
+ }
+ }
+ }
+
+ static final public void SelectionStatement() throws ParseException {
+ Token t;
+ switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+ case IF:
+ t = jj_consume_token(IF);
+ cSrc += t.image+" ";
+ jj_consume_token(75);
+ cSrc += "( ";
+ Expression();
+ jj_consume_token(76);
+ cSrc += ")\n";
+ Statement();
+ if (jj_2_29(2)) {
+ t = jj_consume_token(ELSE);
+ cSrc += t.image+" ";
+ Statement();
+ } else {
+ ;
+ }
+ break;
+ case SWITCH:
+ t = jj_consume_token(SWITCH);
+ cSrc += t.image+" ";
+ jj_consume_token(75);
+ cSrc += "( ";
+ Expression();
+ jj_consume_token(76);
+ cSrc += ")\n";
+ Statement();
+ break;
+ default:
+ jj_la1[49] = jj_gen;
+ jj_consume_token(-1);
+ throw new ParseException();
+ }
+ }
+
+ static final public void IterationStatement() throws ParseException {
+ Token t;
+ switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+ case WHILE:
+ t = jj_consume_token(WHILE);
+ cSrc += t.image+" ";
+ jj_consume_token(75);
+ cSrc += "( ";
+ Expression();
+ jj_consume_token(76);
+ cSrc += ")\n";
+ Statement();
+ break;
+ case DO:
+ t = jj_consume_token(DO);
+ cSrc += t.image+"\n";
+ Statement();
+ t = jj_consume_token(WHILE);
+ cSrc += t.image+" ";
+ jj_consume_token(75);
+ cSrc += "( ";
+ Expression();
+ jj_consume_token(76);
+ jj_consume_token(69);
+ cSrc += ");\n";
+ break;
+ case FOR:
+ t = jj_consume_token(FOR);
+ cSrc += t.image+" ";
+ jj_consume_token(75);
+ cSrc += "( ";
+ switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+ case INTEGER_LITERAL:
+ case FLOATING_POINT_LITERAL:
+ case CHARACTER_LITERAL:
+ case STRING_LITERAL:
+ case SIZEOF:
+ case IDENTIFIER:
+ case 75:
+ case 79:
+ case 96:
+ case 105:
+ case 106:
+ case 109:
+ case 110:
+ case 111:
+ case 112:
+ Expression();
+ break;
+ default:
+ jj_la1[50] = jj_gen;
+ ;
+ }
+ jj_consume_token(69);
+ cSrc += "; ";
+ switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+ case INTEGER_LITERAL:
+ case FLOATING_POINT_LITERAL:
+ case CHARACTER_LITERAL:
+ case STRING_LITERAL:
+ case SIZEOF:
+ case IDENTIFIER:
+ case 75:
+ case 79:
+ case 96:
+ case 105:
+ case 106:
+ case 109:
+ case 110:
+ case 111:
+ case 112:
+ Expression();
+ break;
+ default:
+ jj_la1[51] = jj_gen;
+ ;
+ }
+ jj_consume_token(69);
+ cSrc += "; ";
+ switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+ case INTEGER_LITERAL:
+ case FLOATING_POINT_LITERAL:
+ case CHARACTER_LITERAL:
+ case STRING_LITERAL:
+ case SIZEOF:
+ case IDENTIFIER:
+ case 75:
+ case 79:
+ case 96:
+ case 105:
+ case 106:
+ case 109:
+ case 110:
+ case 111:
+ case 112:
+ Expression();
+ break;
+ default:
+ jj_la1[52] = jj_gen;
+ ;
+ }
+ jj_consume_token(76);
+ cSrc += ")\n";
+ Statement();
+ break;
+ default:
+ jj_la1[53] = jj_gen;
+ jj_consume_token(-1);
+ throw new ParseException();
+ }
+ }
+
+ static final public void JumpStatement() throws ParseException {
+ Token t;
+ switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+ case GOTO:
+ t = jj_consume_token(GOTO);
+ cSrc += t.image+" ";
+ t = jj_consume_token(IDENTIFIER);
+ cSrc += t.image+" ";
+ if(syntaxVerbose)
+ cSrc += "/*JumpStat*/ ";
+ jj_consume_token(69);
+ cSrc += ";\n";
+ break;
+ case CONTINUE:
+ t = jj_consume_token(CONTINUE);
+ cSrc += t.image+" ";
+ jj_consume_token(69);
+ cSrc += ";\n";
+ break;
+ case BREAK:
+ t = jj_consume_token(BREAK);
+ cSrc += t.image+" ";
+ jj_consume_token(69);
+ cSrc += ";\n";
+ break;
+ case RETURN:
+ t = jj_consume_token(RETURN);
+ cSrc += t.image+" ";
+ switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+ case INTEGER_LITERAL:
+ case FLOATING_POINT_LITERAL:
+ case CHARACTER_LITERAL:
+ case STRING_LITERAL:
+ case SIZEOF:
+ case IDENTIFIER:
+ case 75:
+ case 79:
+ case 96:
+ case 105:
+ case 106:
+ case 109:
+ case 110:
+ case 111:
+ case 112:
+ Expression();
+ break;
+ default:
+ jj_la1[54] = jj_gen;
+ ;
+ }
+ jj_consume_token(69);
+ cSrc += ";\n";
+ break;
+ default:
+ jj_la1[55] = jj_gen;
+ jj_consume_token(-1);
+ throw new ParseException();
+ }
+ }
+
+ static final public void Expression() throws ParseException {
+ AssignmentExpression();
+ label_14:
+ while (true) {
+ switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+ case 72:
+ ;
+ break;
+ default:
+ jj_la1[56] = jj_gen;
+ break label_14;
+ }
+ jj_consume_token(72);
+ cSrc += ", ";
+ AssignmentExpression();
+ }
+ }
+
+ static final public void AssignmentExpression() throws ParseException {
+ if (jj_2_30(2147483647)) {
+ UnaryExpression();
+ AssignmentOperator();
+ AssignmentExpression();
+ } else if (jj_2_31(3)) {
+ ConditionalExpression();
+ } else {
+ jj_consume_token(-1);
+ throw new ParseException();
+ }
+ }
+
+ static final public void AssignmentOperator() throws ParseException {
+ switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+ case 73:
+ jj_consume_token(73);
+ cSrc += "= ";
+ break;
+ case 81:
+ jj_consume_token(81);
+ cSrc += "*= ";
+ break;
+ case 82:
+ jj_consume_token(82);
+ cSrc += "/= ";
+ break;
+ case 83:
+ jj_consume_token(83);
+ cSrc += "%= ";
+ break;
+ case 84:
+ jj_consume_token(84);
+ cSrc += "+= ";
+ break;
+ case 85:
+ jj_consume_token(85);
+ cSrc += "-= ";
+ break;
+ case 86:
+ jj_consume_token(86);
+ cSrc += "<<= ";
+ break;
+ case 87:
+ jj_consume_token(87);
+ cSrc += ">>= ";
+ break;
+ case 88:
+ jj_consume_token(88);
+ cSrc += "&= ";
+ break;
+ case 89:
+ jj_consume_token(89);
+ cSrc += "^= ";
+ break;
+ case 90:
+ jj_consume_token(90);
+ cSrc += "|= ";
+ break;
+ default:
+ jj_la1[57] = jj_gen;
+ jj_consume_token(-1);
+ throw new ParseException();
+ }
+ }
+
+ static final public void ConditionalExpression() throws ParseException {
+ LogicalORExpression();
+ switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+ case 91:
+ jj_consume_token(91);
+ cSrc += "? ";
+ Expression();
+ jj_consume_token(74);
+ cSrc += ": ";
+ ConditionalExpression();
+ break;
+ default:
+ jj_la1[58] = jj_gen;
+ ;
+ }
+ }
+
+ static final public void ConstantExpression() throws ParseException {
+ ConditionalExpression();
+ }
+
+ static final public void LogicalORExpression() throws ParseException {
+ LogicalANDExpression();
+ switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+ case 92:
+ jj_consume_token(92);
+ cSrc += "|| ";
+ LogicalORExpression();
+ break;
+ default:
+ jj_la1[59] = jj_gen;
+ ;
+ }
+ }
+
+ static final public void LogicalANDExpression() throws ParseException {
+ InclusiveORExpression();
+ switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+ case 93:
+ jj_consume_token(93);
+ cSrc += "&& ";
+ LogicalANDExpression();
+ break;
+ default:
+ jj_la1[60] = jj_gen;
+ ;
+ }
+ }
+
+ static final public void InclusiveORExpression() throws ParseException {
+ ExclusiveORExpression();
+ switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+ case 94:
+ jj_consume_token(94);
+ cSrc += "| ";
+ InclusiveORExpression();
+ break;
+ default:
+ jj_la1[61] = jj_gen;
+ ;
+ }
+ }
+
+ static final public void ExclusiveORExpression() throws ParseException {
+ ANDExpression();
+ switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+ case 95:
+ jj_consume_token(95);
+ cSrc += "^ ";
+ ExclusiveORExpression();
+ break;
+ default:
+ jj_la1[62] = jj_gen;
+ ;
+ }
+ }
+
+ static final public void ANDExpression() throws ParseException {
+ EqualityExpression();
+ switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+ case 96:
+ jj_consume_token(96);
+ cSrc += "& ";
+ ANDExpression();
+ break;
+ default:
+ jj_la1[63] = jj_gen;
+ ;
+ }
+ }
+
+ static final public void EqualityExpression() throws ParseException {
+ RelationalExpression();
+ switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+ case 97:
+ case 98:
+ switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+ case 97:
+ jj_consume_token(97);
+ cSrc += "== ";
+ break;
+ case 98:
+ jj_consume_token(98);
+ cSrc += "!= ";
+ break;
+ default:
+ jj_la1[64] = jj_gen;
+ jj_consume_token(-1);
+ throw new ParseException();
+ }
+ EqualityExpression();
+ break;
+ default:
+ jj_la1[65] = jj_gen;
+ ;
+ }
+ }
+
+ static final public void RelationalExpression() throws ParseException {
+ ShiftExpression();
+ switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+ case 99:
+ case 100:
+ case 101:
+ case 102:
+ switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+ case 99:
+ jj_consume_token(99);
+ cSrc += "< ";
+ break;
+ case 100:
+ jj_consume_token(100);
+ cSrc += "> ";
+ break;
+ case 101:
+ jj_consume_token(101);
+ cSrc += "<= ";
+ break;
+ case 102:
+ jj_consume_token(102);
+ cSrc += ">= ";
+ break;
+ default:
+ jj_la1[66] = jj_gen;
+ jj_consume_token(-1);
+ throw new ParseException();
+ }
+ RelationalExpression();
+ break;
+ default:
+ jj_la1[67] = jj_gen;
+ ;
+ }
+ }
+
+ static final public void ShiftExpression() throws ParseException {
+ AdditiveExpression();
+ switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+ case 103:
+ case 104:
+ switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+ case 103:
+ jj_consume_token(103);
+ cSrc += "<< ";
+ break;
+ case 104:
+ jj_consume_token(104);
+ cSrc += ">> ";
+ break;
+ default:
+ jj_la1[68] = jj_gen;
+ jj_consume_token(-1);
+ throw new ParseException();
+ }
+ ShiftExpression();
+ break;
+ default:
+ jj_la1[69] = jj_gen;
+ ;
+ }
+ }
+
+ static final public void AdditiveExpression() throws ParseException {
+ MultiplicativeExpression();
+ switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+ case 105:
+ case 106:
+ switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+ case 105:
+ jj_consume_token(105);
+ cSrc += "+ ";
+ break;
+ case 106:
+ jj_consume_token(106);
+ cSrc += "- ";
+ break;
+ default:
+ jj_la1[70] = jj_gen;
+ jj_consume_token(-1);
+ throw new ParseException();
+ }
+ AdditiveExpression();
+ break;
+ default:
+ jj_la1[71] = jj_gen;
+ ;
+ }
+ }
+
+ static final public void MultiplicativeExpression() throws ParseException {
+ CastExpression();
+ switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+ case 79:
+ case 107:
+ case 108:
+ switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+ case 79:
+ jj_consume_token(79);
+ cSrc += "* ";
+ break;
+ case 107:
+ jj_consume_token(107);
+ cSrc += "/ ";
+ break;
+ case 108:
+ jj_consume_token(108);
+ cSrc += "% ";
+ break;
+ default:
+ jj_la1[72] = jj_gen;
+ jj_consume_token(-1);
+ throw new ParseException();
+ }
+ MultiplicativeExpression();
+ break;
+ default:
+ jj_la1[73] = jj_gen;
+ ;
+ }
+ }
+
+ static final public void CastExpression() throws ParseException {
+ String help1= new String();
+ String help2= new String();
+ if (jj_2_32(2147483647)) {
+ cSrc += "( "+help1+") "+help2;
+ jj_consume_token(75);
+ cSrc += "( ";
+ TypeName();
+ jj_consume_token(76);
+ cSrc += ") ";
+ CastExpression();
+ } else {
+ switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+ case INTEGER_LITERAL:
+ case FLOATING_POINT_LITERAL:
+ case CHARACTER_LITERAL:
+ case STRING_LITERAL:
+ case SIZEOF:
+ case IDENTIFIER:
+ case 75:
+ case 79:
+ case 96:
+ case 105:
+ case 106:
+ case 109:
+ case 110:
+ case 111:
+ case 112:
+ UnaryExpression();
+ break;
+ default:
+ jj_la1[74] = jj_gen;
+ jj_consume_token(-1);
+ throw new ParseException();
+ }
+ }
+ }
+
+ static final public void UnaryExpression() throws ParseException {
+ Token t;
+ if (jj_2_34(3)) {
+ PostfixExpression();
+ } else {
+ switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+ case 109:
+ jj_consume_token(109);
+ cSrc += "++ ";
+ UnaryExpression();
+ break;
+ case 110:
+ jj_consume_token(110);
+ cSrc += "-- ";
+ UnaryExpression();
+ break;
+ case 79:
+ case 96:
+ case 105:
+ case 106:
+ case 111:
+ case 112:
+ UnaryOperator();
+ CastExpression();
+ break;
+ case SIZEOF:
+ t = jj_consume_token(SIZEOF);
+ cSrc += t.image+" ";
+ if (jj_2_33(2147483647)) {
+ UnaryExpression();
+ } else {
+ switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+ case 75:
+ jj_consume_token(75);
+ cSrc += "( ";
+ TypeName();
+ jj_consume_token(76);
+ cSrc += ") ";
+ break;
+ default:
+ jj_la1[75] = jj_gen;
+ jj_consume_token(-1);
+ throw new ParseException();
+ }
+ }
+ break;
+ default:
+ jj_la1[76] = jj_gen;
+ jj_consume_token(-1);
+ throw new ParseException();
+ }
+ }
+ }
+
+ static final public void UnaryOperator() throws ParseException {
+ switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+ case 96:
+ jj_consume_token(96);
+ cSrc += "& ";
+ break;
+ case 79:
+ jj_consume_token(79);
+ cSrc += "* ";
+ break;
+ case 105:
+ jj_consume_token(105);
+ cSrc += "+ ";
+ break;
+ case 106:
+ jj_consume_token(106);
+ cSrc += "- ";
+ break;
+ case 111:
+ jj_consume_token(111);
+ cSrc += "~ ";
+ break;
+ case 112:
+ jj_consume_token(112);
+ cSrc += "! ";
+ break;
+ default:
+ jj_la1[77] = jj_gen;
+ jj_consume_token(-1);
+ throw new ParseException();
+ }
+ }
+
+ static final public void PostfixExpression() throws ParseException {
+ Token t;
+ PrimaryExpression();
+ label_15:
+ while (true) {
+ switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+ case 75:
+ case 77:
+ case 109:
+ case 110:
+ case 113:
+ case 114:
+ ;
+ break;
+ default:
+ jj_la1[78] = jj_gen;
+ break label_15;
+ }
+ switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+ case 77:
+ jj_consume_token(77);
+ cSrc += "[ ";
+ Expression();
+ jj_consume_token(78);
+ cSrc += "] ";
+ break;
+ case 75:
+ jj_consume_token(75);
+ cSrc += "( ";
+ if (jj_2_35(2147483647)) {
+ ArgumentExpressionList();
+ } else {
+ ;
+ }
+ jj_consume_token(76);
+ cSrc += ") ";
+ break;
+ case 113:
+ jj_consume_token(113);
+ cSrc += ". ";
+ t = jj_consume_token(IDENTIFIER);
+ cSrc += t.image+" ";
+ break;
+ case 114:
+ jj_consume_token(114);
+ cSrc += "-> ";
+ t = jj_consume_token(IDENTIFIER);
+ cSrc += t.image+" ";
+ break;
+ case 109:
+ jj_consume_token(109);
+ cSrc += "++ ";
+ break;
+ case 110:
+ jj_consume_token(110);
+ cSrc += "-- ";
+ break;
+ default:
+ jj_la1[79] = jj_gen;
+ jj_consume_token(-1);
+ throw new ParseException();
+ }
+ }
+ }
+
+ static final public void PrimaryExpression() throws ParseException {
+ Token t;
+ switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+ case IDENTIFIER:
+ t = jj_consume_token(IDENTIFIER);
+ cSrc += t.image+" ";
+ if(syntaxVerbose)
+ cSrc += "/*PrimaryExpr*/ ";
+ break;
+ case INTEGER_LITERAL:
+ case FLOATING_POINT_LITERAL:
+ case CHARACTER_LITERAL:
+ case STRING_LITERAL:
+ Constant();
+ break;
+ case 75:
+ jj_consume_token(75);
+ cSrc += "( ";
+ Expression();
+ jj_consume_token(76);
+ cSrc += ") ";
+ break;
+ default:
+ jj_la1[80] = jj_gen;
+ jj_consume_token(-1);
+ throw new ParseException();
+ }
+ }
+
+ static final public void ArgumentExpressionList() throws ParseException {
+ AssignmentExpression();
+ label_16:
+ while (true) {
+ switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+ case 72:
+ ;
+ break;
+ default:
+ jj_la1[81] = jj_gen;
+ break label_16;
+ }
+ jj_consume_token(72);
+ cSrc += ", ";
+ AssignmentExpression();
+ }
+ }
+
+ static final public void Constant() throws ParseException {
+ Token t;
+ switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+ case INTEGER_LITERAL:
+ t = jj_consume_token(INTEGER_LITERAL);
+ cSrc += t.image+" ";
+ break;
+ case FLOATING_POINT_LITERAL:
+ t = jj_consume_token(FLOATING_POINT_LITERAL);
+ cSrc += t.image+" ";
+ break;
+ case CHARACTER_LITERAL:
+ t = jj_consume_token(CHARACTER_LITERAL);
+ cSrc += t.image+" ";
+ break;
+ case STRING_LITERAL:
+ t = jj_consume_token(STRING_LITERAL);
+ cSrc += t.image+" ";
+ break;
+ default:
+ jj_la1[82] = jj_gen;
+ jj_consume_token(-1);
+ throw new ParseException();
+ }
+ }
+
+ static final private boolean jj_2_1(int xla) {
+ jj_la = xla; jj_lastpos = jj_scanpos = token;
+ boolean retval = !jj_3_1();
+ jj_save(0, xla);
+ return retval;
+ }
+
+ static final private boolean jj_2_2(int xla) {
+ jj_la = xla; jj_lastpos = jj_scanpos = token;
+ boolean retval = !jj_3_2();
+ jj_save(1, xla);
+ return retval;
+ }
+
+ static final private boolean jj_2_3(int xla) {
+ jj_la = xla; jj_lastpos = jj_scanpos = token;
+ boolean retval = !jj_3_3();
+ jj_save(2, xla);
+ return retval;
+ }
+
+ static final private boolean jj_2_4(int xla) {
+ jj_la = xla; jj_lastpos = jj_scanpos = token;
+ boolean retval = !jj_3_4();
+ jj_save(3, xla);
+ return retval;
+ }
+
+ static final private boolean jj_2_5(int xla) {
+ jj_la = xla; jj_lastpos = jj_scanpos = token;
+ boolean retval = !jj_3_5();
+ jj_save(4, xla);
+ return retval;
+ }
+
+ static final private boolean jj_2_6(int xla) {
+ jj_la = xla; jj_lastpos = jj_scanpos = token;
+ boolean retval = !jj_3_6();
+ jj_save(5, xla);
+ return retval;
+ }
+
+ static final private boolean jj_2_7(int xla) {
+ jj_la = xla; jj_lastpos = jj_scanpos = token;
+ boolean retval = !jj_3_7();
+ jj_save(6, xla);
+ return retval;
+ }
+
+ static final private boolean jj_2_8(int xla) {
+ jj_la = xla; jj_lastpos = jj_scanpos = token;
+ boolean retval = !jj_3_8();
+ jj_save(7, xla);
+ return retval;
+ }
+
+ static final private boolean jj_2_9(int xla) {
+ jj_la = xla; jj_lastpos = jj_scanpos = token;
+ boolean retval = !jj_3_9();
+ jj_save(8, xla);
+ return retval;
+ }
+
+ static final private boolean jj_2_10(int xla) {
+ jj_la = xla; jj_lastpos = jj_scanpos = token;
+ boolean retval = !jj_3_10();
+ jj_save(9, xla);
+ return retval;
+ }
+
+ static final private boolean jj_2_11(int xla) {
+ jj_la = xla; jj_lastpos = jj_scanpos = token;
+ boolean retval = !jj_3_11();
+ jj_save(10, xla);
+ return retval;
+ }
+
+ static final private boolean jj_2_12(int xla) {
+ jj_la = xla; jj_lastpos = jj_scanpos = token;
+ boolean retval = !jj_3_12();
+ jj_save(11, xla);
+ return retval;
+ }
+
+ static final private boolean jj_2_13(int xla) {
+ jj_la = xla; jj_lastpos = jj_scanpos = token;
+ boolean retval = !jj_3_13();
+ jj_save(12, xla);
+ return retval;
+ }
+
+ static final private boolean jj_2_14(int xla) {
+ jj_la = xla; jj_lastpos = jj_scanpos = token;
+ boolean retval = !jj_3_14();
+ jj_save(13, xla);
+ return retval;
+ }
+
+ static final private boolean jj_2_15(int xla) {
+ jj_la = xla; jj_lastpos = jj_scanpos = token;
+ boolean retval = !jj_3_15();
+ jj_save(14, xla);
+ return retval;
+ }
+
+ static final private boolean jj_2_16(int xla) {
+ jj_la = xla; jj_lastpos = jj_scanpos = token;
+ boolean retval = !jj_3_16();
+ jj_save(15, xla);
+ return retval;
+ }
+
+ static final private boolean jj_2_17(int xla) {
+ jj_la = xla; jj_lastpos = jj_scanpos = token;
+ boolean retval = !jj_3_17();
+ jj_save(16, xla);
+ return retval;
+ }
+
+ static final private boolean jj_2_18(int xla) {
+ jj_la = xla; jj_lastpos = jj_scanpos = token;
+ boolean retval = !jj_3_18();
+ jj_save(17, xla);
+ return retval;
+ }
+
+ static final private boolean jj_2_19(int xla) {
+ jj_la = xla; jj_lastpos = jj_scanpos = token;
+ boolean retval = !jj_3_19();
+ jj_save(18, xla);
+ return retval;
+ }
+
+ static final private boolean jj_2_20(int xla) {
+ jj_la = xla; jj_lastpos = jj_scanpos = token;
+ boolean retval = !jj_3_20();
+ jj_save(19, xla);
+ return retval;
+ }
+
+ static final private boolean jj_2_21(int xla) {
+ jj_la = xla; jj_lastpos = jj_scanpos = token;
+ boolean retval = !jj_3_21();
+ jj_save(20, xla);
+ return retval;
+ }
+
+ static final private boolean jj_2_22(int xla) {
+ jj_la = xla; jj_lastpos = jj_scanpos = token;
+ boolean retval = !jj_3_22();
+ jj_save(21, xla);
+ return retval;
+ }
+
+ static final private boolean jj_2_23(int xla) {
+ jj_la = xla; jj_lastpos = jj_scanpos = token;
+ boolean retval = !jj_3_23();
+ jj_save(22, xla);
+ return retval;
+ }
+
+ static final private boolean jj_2_24(int xla) {
+ jj_la = xla; jj_lastpos = jj_scanpos = token;
+ boolean retval = !jj_3_24();
+ jj_save(23, xla);
+ return retval;
+ }
+
+ static final private boolean jj_2_25(int xla) {
+ jj_la = xla; jj_lastpos = jj_scanpos = token;
+ boolean retval = !jj_3_25();
+ jj_save(24, xla);
+ return retval;
+ }
+
+ static final private boolean jj_2_26(int xla) {
+ jj_la = xla; jj_lastpos = jj_scanpos = token;
+ boolean retval = !jj_3_26();
+ jj_save(25, xla);
+ return retval;
+ }
+
+ static final private boolean jj_2_27(int xla) {
+ jj_la = xla; jj_lastpos = jj_scanpos = token;
+ boolean retval = !jj_3_27();
+ jj_save(26, xla);
+ return retval;
+ }
+
+ static final private boolean jj_2_28(int xla) {
+ jj_la = xla; jj_lastpos = jj_scanpos = token;
+ boolean retval = !jj_3_28();
+ jj_save(27, xla);
+ return retval;
+ }
+
+ static final private boolean jj_2_29(int xla) {
+ jj_la = xla; jj_lastpos = jj_scanpos = token;
+ boolean retval = !jj_3_29();
+ jj_save(28, xla);
+ return retval;
+ }
+
+ static final private boolean jj_2_30(int xla) {
+ jj_la = xla; jj_lastpos = jj_scanpos = token;
+ boolean retval = !jj_3_30();
+ jj_save(29, xla);
+ return retval;
+ }
+
+ static final private boolean jj_2_31(int xla) {
+ jj_la = xla; jj_lastpos = jj_scanpos = token;
+ boolean retval = !jj_3_31();
+ jj_save(30, xla);
+ return retval;
+ }
+
+ static final private boolean jj_2_32(int xla) {
+ jj_la = xla; jj_lastpos = jj_scanpos = token;
+ boolean retval = !jj_3_32();
+ jj_save(31, xla);
+ return retval;
+ }
+
+ static final private boolean jj_2_33(int xla) {
+ jj_la = xla; jj_lastpos = jj_scanpos = token;
+ boolean retval = !jj_3_33();
+ jj_save(32, xla);
+ return retval;
+ }
+
+ static final private boolean jj_2_34(int xla) {
+ jj_la = xla; jj_lastpos = jj_scanpos = token;
+ boolean retval = !jj_3_34();
+ jj_save(33, xla);
+ return retval;
+ }
+
+ static final private boolean jj_2_35(int xla) {
+ jj_la = xla; jj_lastpos = jj_scanpos = token;
+ boolean retval = !jj_3_35();
+ jj_save(34, xla);
+ return retval;
+ }
+
+ static final private boolean jj_3R_163() {
+ if (jj_3R_212()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ Token xsp;
+ while (true) {
+ xsp = jj_scanpos;
+ if (jj_3R_257()) { jj_scanpos = xsp; break; }
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ }
+ return false;
+ }
+
+ static final private boolean jj_3R_190() {
+ if (jj_scan_token(73)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ if (jj_3R_32()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3_31() {
+ if (jj_3R_39()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_141() {
+ if (jj_3R_37()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ if (jj_3R_38()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ if (jj_3R_96()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_96() {
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_141()) {
+ jj_scanpos = xsp;
+ if (jj_3_31()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_44() {
+ if (jj_3R_18()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_55() {
+ if (jj_3R_103()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_112()) jj_scanpos = xsp;
+ else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_249() {
+ if (jj_3R_131()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_248() {
+ if (jj_3R_131()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_17() {
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_44()) {
+ jj_scanpos = xsp;
+ if (jj_3_3()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_247() {
+ if (jj_3R_131()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_26() {
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3_15()) {
+ jj_scanpos = xsp;
+ if (jj_3R_55()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3_15() {
+ if (jj_3R_22()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_111()) jj_scanpos = xsp;
+ else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_131() {
+ if (jj_3R_96()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ Token xsp;
+ while (true) {
+ xsp = jj_scanpos;
+ if (jj_3R_223()) { jj_scanpos = xsp; break; }
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ }
+ return false;
+ }
+
+ static final private boolean jj_3R_250() {
+ if (jj_3R_131()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_178() {
+ if (jj_scan_token(RETURN)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_250()) jj_scanpos = xsp;
+ else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ if (jj_scan_token(69)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3_1() {
+ if (jj_3R_17()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3_29() {
+ if (jj_scan_token(ELSE)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ if (jj_3R_36()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_177() {
+ if (jj_scan_token(BREAK)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ if (jj_scan_token(69)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_176() {
+ if (jj_scan_token(CONTINUE)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ if (jj_scan_token(69)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_25() {
+ if (jj_3R_26()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ if (jj_3R_163()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ if (jj_scan_token(69)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_150() {
+ if (jj_3R_27()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_190()) jj_scanpos = xsp;
+ else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_175() {
+ if (jj_scan_token(GOTO)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ if (jj_scan_token(IDENTIFIER)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ if (jj_scan_token(69)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_125() {
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_175()) {
+ jj_scanpos = xsp;
+ if (jj_3R_176()) {
+ jj_scanpos = xsp;
+ if (jj_3R_177()) {
+ jj_scanpos = xsp;
+ if (jj_3R_178()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_151() {
+ if (jj_scan_token(72)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ if (jj_3R_150()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3_28() {
+ if (jj_3R_21()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_174() {
+ if (jj_scan_token(FOR)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ if (jj_scan_token(75)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_247()) jj_scanpos = xsp;
+ else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ if (jj_scan_token(69)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ xsp = jj_scanpos;
+ if (jj_3R_248()) jj_scanpos = xsp;
+ else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ if (jj_scan_token(69)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ xsp = jj_scanpos;
+ if (jj_3R_249()) jj_scanpos = xsp;
+ else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ if (jj_scan_token(76)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ if (jj_3R_36()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_105() {
+ if (jj_3R_150()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ Token xsp;
+ while (true) {
+ xsp = jj_scanpos;
+ if (jj_3R_151()) { jj_scanpos = xsp; break; }
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ }
+ return false;
+ }
+
+ static final private boolean jj_3R_173() {
+ if (jj_scan_token(DO)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ if (jj_3R_36()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ if (jj_scan_token(WHILE)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ if (jj_scan_token(75)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ if (jj_3R_131()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ if (jj_scan_token(76)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ if (jj_scan_token(69)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3_12() {
+ if (jj_3R_25()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_24() {
+ Token xsp;
+ if (jj_3_12()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ while (true) {
+ xsp = jj_scanpos;
+ if (jj_3_12()) { jj_scanpos = xsp; break; }
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ }
+ return false;
+ }
+
+ static final private boolean jj_3R_172() {
+ if (jj_scan_token(WHILE)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ if (jj_scan_token(75)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ if (jj_3R_131()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ if (jj_scan_token(76)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ if (jj_3R_36()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_211() {
+ if (jj_scan_token(UNION)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_210() {
+ if (jj_scan_token(STRUCT)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_98() {
+ if (jj_3R_21()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_124() {
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_172()) {
+ jj_scanpos = xsp;
+ if (jj_3R_173()) {
+ jj_scanpos = xsp;
+ if (jj_3R_174()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_162() {
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_210()) {
+ jj_scanpos = xsp;
+ if (jj_3R_211()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_171() {
+ if (jj_scan_token(SWITCH)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ if (jj_scan_token(75)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ if (jj_3R_131()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ if (jj_scan_token(76)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ if (jj_3R_36()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3_11() {
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_23()) jj_scanpos = xsp;
+ else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ if (jj_scan_token(70)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ if (jj_3R_24()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ if (jj_scan_token(71)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_170() {
+ if (jj_scan_token(IF)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ if (jj_scan_token(75)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ if (jj_3R_131()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ if (jj_scan_token(76)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ if (jj_3R_36()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3_29()) jj_scanpos = xsp;
+ else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_123() {
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_170()) {
+ jj_scanpos = xsp;
+ if (jj_3R_171()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_224() {
+ if (jj_scan_token(IDENTIFIER)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_189() {
+ if (jj_3R_36()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_142() {
+ Token xsp;
+ if (jj_3R_189()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ while (true) {
+ xsp = jj_scanpos;
+ if (jj_3R_189()) { jj_scanpos = xsp; break; }
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ }
+ return false;
+ }
+
+ static final private boolean jj_3R_99() {
+ if (jj_3R_142()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_23() {
+ if (jj_scan_token(IDENTIFIER)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_46() {
+ if (jj_scan_token(70)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_98()) jj_scanpos = xsp;
+ else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ xsp = jj_scanpos;
+ if (jj_3R_99()) jj_scanpos = xsp;
+ else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ if (jj_scan_token(71)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_169() {
+ if (jj_3R_131()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_122() {
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_169()) jj_scanpos = xsp;
+ else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ if (jj_scan_token(69)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_108() {
+ if (jj_3R_162()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3_11()) {
+ jj_scanpos = xsp;
+ if (jj_3R_224()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_68() {
+ if (jj_scan_token(DFLT)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ if (jj_scan_token(74)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ if (jj_3R_36()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_149() {
+ if (jj_scan_token(VOLATILE)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_67() {
+ if (jj_scan_token(CASE)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ if (jj_3R_121()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ if (jj_scan_token(74)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ if (jj_3R_36()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3_26() {
+ if (jj_3R_30()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_242() {
+ if (jj_3R_121()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_148() {
+ if (jj_scan_token(CONST)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_66() {
+ if (jj_scan_token(IDENTIFIER)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ if (jj_scan_token(74)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ if (jj_3R_36()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_103() {
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_148()) {
+ jj_scanpos = xsp;
+ if (jj_3R_149()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_35() {
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_66()) {
+ jj_scanpos = xsp;
+ if (jj_3R_67()) {
+ jj_scanpos = xsp;
+ if (jj_3R_68()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3_24() {
+ if (jj_3R_30()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_73() {
+ if (jj_3R_125()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_235() {
+ if (jj_3R_121()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_72() {
+ if (jj_3R_124()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_71() {
+ if (jj_3R_123()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_70() {
+ if (jj_3R_46()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_69() {
+ if (jj_3R_122()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3_27() {
+ if (jj_3R_35()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_36() {
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3_27()) {
+ jj_scanpos = xsp;
+ if (jj_3R_69()) {
+ jj_scanpos = xsp;
+ if (jj_3R_70()) {
+ jj_scanpos = xsp;
+ if (jj_3R_71()) {
+ jj_scanpos = xsp;
+ if (jj_3R_72()) {
+ jj_scanpos = xsp;
+ if (jj_3R_73()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_91() {
+ if (jj_3R_34()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_110() {
+ if (jj_scan_token(IDENTIFIER)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_237() {
+ if (jj_scan_token(75)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3_26()) jj_scanpos = xsp;
+ else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ if (jj_scan_token(76)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_209() {
+ if (jj_scan_token(GLUtriangulatorObj)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_236() {
+ if (jj_scan_token(77)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_242()) jj_scanpos = xsp;
+ else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ if (jj_scan_token(78)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_231() {
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_236()) {
+ jj_scanpos = xsp;
+ if (jj_3R_237()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_208() {
+ if (jj_scan_token(GLUtesselator)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_168() {
+ if (jj_scan_token(75)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3_24()) jj_scanpos = xsp;
+ else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ if (jj_scan_token(76)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_207() {
+ if (jj_scan_token(GLUnurbsObj)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_167() {
+ if (jj_scan_token(77)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_235()) jj_scanpos = xsp;
+ else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ if (jj_scan_token(78)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_206() {
+ if (jj_scan_token(GLUquadricObj)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3_25() {
+ if (jj_scan_token(75)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ if (jj_3R_34()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ if (jj_scan_token(76)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_120() {
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3_25()) {
+ jj_scanpos = xsp;
+ if (jj_3R_167()) {
+ jj_scanpos = xsp;
+ if (jj_3R_168()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ while (true) {
+ xsp = jj_scanpos;
+ if (jj_3R_231()) { jj_scanpos = xsp; break; }
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ }
+ return false;
+ }
+
+ static final private boolean jj_3_22() {
+ if (jj_scan_token(72)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ if (jj_3R_32()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_205() {
+ if (jj_scan_token(GLbitfield)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_119() {
+ if (jj_3R_33()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_65() {
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_119()) jj_scanpos = xsp;
+ else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ if (jj_3R_120()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3_23() {
+ if (jj_3R_33()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_204() {
+ if (jj_scan_token(GLenum)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_34() {
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3_23()) {
+ jj_scanpos = xsp;
+ if (jj_3R_65()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_203() {
+ if (jj_scan_token(GLuint)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_40() {
+ if (jj_3R_26()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_91()) jj_scanpos = xsp;
+ else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_202() {
+ if (jj_scan_token(GLushort)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_238() {
+ if (jj_3R_32()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ Token xsp;
+ while (true) {
+ xsp = jj_scanpos;
+ if (jj_3_22()) { jj_scanpos = xsp; break; }
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ }
+ return false;
+ }
+
+ static final private boolean jj_3R_239() {
+ if (jj_scan_token(72)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_201() {
+ if (jj_scan_token(GLboolean)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_62() {
+ if (jj_scan_token(70)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ if (jj_3R_238()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_239()) jj_scanpos = xsp;
+ else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ if (jj_scan_token(71)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_61() {
+ if (jj_3R_96()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_200() {
+ if (jj_scan_token(GLubyte)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_32() {
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_61()) {
+ jj_scanpos = xsp;
+ if (jj_3R_62()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_199() {
+ if (jj_scan_token(GLclampd)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_198() {
+ if (jj_scan_token(GLdouble)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_228() {
+ if (jj_scan_token(72)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ if (jj_scan_token(IDENTIFIER)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_197() {
+ if (jj_scan_token(GLclampf)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_214() {
+ if (jj_scan_token(IDENTIFIER)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ Token xsp;
+ while (true) {
+ xsp = jj_scanpos;
+ if (jj_3R_228()) { jj_scanpos = xsp; break; }
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ }
+ return false;
+ }
+
+ static final private boolean jj_3R_196() {
+ if (jj_scan_token(GLfloat)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_195() {
+ if (jj_scan_token(GLsizei)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_194() {
+ if (jj_scan_token(GLint)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_193() {
+ if (jj_scan_token(GLshort)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_192() {
+ if (jj_scan_token(GLbyte)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3_20() {
+ if (jj_scan_token(72)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ if (jj_3R_31()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_191() {
+ if (jj_scan_token(GLvoid)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_161() {
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_191()) {
+ jj_scanpos = xsp;
+ if (jj_3R_192()) {
+ jj_scanpos = xsp;
+ if (jj_3R_193()) {
+ jj_scanpos = xsp;
+ if (jj_3R_194()) {
+ jj_scanpos = xsp;
+ if (jj_3R_195()) {
+ jj_scanpos = xsp;
+ if (jj_3R_196()) {
+ jj_scanpos = xsp;
+ if (jj_3R_197()) {
+ jj_scanpos = xsp;
+ if (jj_3R_198()) {
+ jj_scanpos = xsp;
+ if (jj_3R_199()) {
+ jj_scanpos = xsp;
+ if (jj_3R_200()) {
+ jj_scanpos = xsp;
+ if (jj_3R_201()) {
+ jj_scanpos = xsp;
+ if (jj_3R_202()) {
+ jj_scanpos = xsp;
+ if (jj_3R_203()) {
+ jj_scanpos = xsp;
+ if (jj_3R_204()) {
+ jj_scanpos = xsp;
+ if (jj_3R_205()) {
+ jj_scanpos = xsp;
+ if (jj_3R_206()) {
+ jj_scanpos = xsp;
+ if (jj_3R_207()) {
+ jj_scanpos = xsp;
+ if (jj_3R_208()) {
+ jj_scanpos = xsp;
+ if (jj_3R_209()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3_21() {
+ if (jj_3R_27()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_107() {
+ if (jj_3R_161()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_54() {
+ if (jj_3R_110()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_53() {
+ if (jj_3R_109()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_52() {
+ if (jj_3R_108()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_64() {
+ if (jj_3R_33()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_227() {
+ if (jj_3R_34()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_215() {
+ if (jj_3R_27()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_216() {
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_227()) jj_scanpos = xsp;
+ else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_31() {
+ if (jj_3R_20()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_215()) {
+ jj_scanpos = xsp;
+ if (jj_3R_216()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_160() {
+ if (jj_scan_token(LONG)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_60() {
+ if (jj_3R_31()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ Token xsp;
+ while (true) {
+ xsp = jj_scanpos;
+ if (jj_3_20()) { jj_scanpos = xsp; break; }
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ }
+ return false;
+ }
+
+ static final private boolean jj_3R_159() {
+ if (jj_scan_token(SIGNED)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_117() {
+ if (jj_scan_token(72)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ if (jj_scan_token(80)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_158() {
+ if (jj_scan_token(UNSIGNED)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_30() {
+ if (jj_3R_60()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_117()) jj_scanpos = xsp;
+ else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_157() {
+ if (jj_scan_token(DOUBLE)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_166() {
+ if (jj_3R_103()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_118() {
+ Token xsp;
+ if (jj_3R_166()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ while (true) {
+ xsp = jj_scanpos;
+ if (jj_3R_166()) { jj_scanpos = xsp; break; }
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ }
+ return false;
+ }
+
+ static final private boolean jj_3R_156() {
+ if (jj_scan_token(FLOAT)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_63() {
+ if (jj_3R_118()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_155() {
+ if (jj_scan_token(INT)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_154() {
+ if (jj_scan_token(SHORT)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_222() {
+ if (jj_scan_token(STRING_LITERAL)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_97() {
+ if (jj_scan_token(72)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ if (jj_3R_96()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_221() {
+ if (jj_scan_token(CHARACTER_LITERAL)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_220() {
+ if (jj_scan_token(FLOATING_POINT_LITERAL)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_153() {
+ if (jj_scan_token(CHAR)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_219() {
+ if (jj_scan_token(INTEGER_LITERAL)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_187() {
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_219()) {
+ jj_scanpos = xsp;
+ if (jj_3R_220()) {
+ jj_scanpos = xsp;
+ if (jj_3R_221()) {
+ jj_scanpos = xsp;
+ if (jj_3R_222()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_43() {
+ if (jj_3R_96()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ Token xsp;
+ while (true) {
+ xsp = jj_scanpos;
+ if (jj_3R_97()) { jj_scanpos = xsp; break; }
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ }
+ return false;
+ }
+
+ static final private boolean jj_3R_152() {
+ if (jj_scan_token(VOID)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_134() {
+ if (jj_scan_token(75)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ if (jj_3R_131()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ if (jj_scan_token(76)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_133() {
+ if (jj_3R_187()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_106() {
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_152()) {
+ jj_scanpos = xsp;
+ if (jj_3R_153()) {
+ jj_scanpos = xsp;
+ if (jj_3R_154()) {
+ jj_scanpos = xsp;
+ if (jj_3R_155()) {
+ jj_scanpos = xsp;
+ if (jj_3R_156()) {
+ jj_scanpos = xsp;
+ if (jj_3R_157()) {
+ jj_scanpos = xsp;
+ if (jj_3R_158()) {
+ jj_scanpos = xsp;
+ if (jj_3R_159()) {
+ jj_scanpos = xsp;
+ if (jj_3R_160()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_132() {
+ if (jj_scan_token(IDENTIFIER)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3_35() {
+ if (jj_3R_43()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_51() {
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_106()) {
+ jj_scanpos = xsp;
+ if (jj_3R_107()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_94() {
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_132()) {
+ jj_scanpos = xsp;
+ if (jj_3R_133()) {
+ jj_scanpos = xsp;
+ if (jj_3R_134()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_33() {
+ if (jj_scan_token(79)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_63()) jj_scanpos = xsp;
+ else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ xsp = jj_scanpos;
+ if (jj_3R_64()) jj_scanpos = xsp;
+ else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_22() {
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_51()) {
+ jj_scanpos = xsp;
+ if (jj_3R_52()) {
+ jj_scanpos = xsp;
+ if (jj_3R_53()) {
+ jj_scanpos = xsp;
+ lookingAhead = true;
+ jj_semLA = isType(getToken(1).image);
+ lookingAhead = false;
+ if (!jj_semLA || jj_3R_54()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_140() {
+ if (jj_scan_token(110)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_188() {
+ if (jj_3R_43()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_139() {
+ if (jj_scan_token(109)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3_9() {
+ if (jj_3R_20()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_147() {
+ if (jj_scan_token(TYPEDEF)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_138() {
+ if (jj_scan_token(114)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ if (jj_scan_token(IDENTIFIER)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_146() {
+ if (jj_scan_token(EXTERN)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_137() {
+ if (jj_scan_token(113)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ if (jj_scan_token(IDENTIFIER)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_135() {
+ if (jj_scan_token(77)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ if (jj_3R_131()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ if (jj_scan_token(78)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_95() {
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_135()) {
+ jj_scanpos = xsp;
+ if (jj_3R_136()) {
+ jj_scanpos = xsp;
+ if (jj_3R_137()) {
+ jj_scanpos = xsp;
+ if (jj_3R_138()) {
+ jj_scanpos = xsp;
+ if (jj_3R_139()) {
+ jj_scanpos = xsp;
+ if (jj_3R_140()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_165() {
+ if (jj_scan_token(75)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ if (jj_3R_214()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ if (jj_scan_token(76)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_145() {
+ if (jj_scan_token(STATIC)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_144() {
+ if (jj_scan_token(REGISTER)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_143() {
+ if (jj_scan_token(AUTO)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_136() {
+ if (jj_scan_token(75)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_188()) jj_scanpos = xsp;
+ else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ if (jj_scan_token(76)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3_33() {
+ if (jj_3R_37()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_100() {
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_143()) {
+ jj_scanpos = xsp;
+ if (jj_3R_144()) {
+ jj_scanpos = xsp;
+ if (jj_3R_145()) {
+ jj_scanpos = xsp;
+ if (jj_3R_146()) {
+ jj_scanpos = xsp;
+ if (jj_3R_147()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3_18() {
+ if (jj_3R_30()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_42() {
+ if (jj_3R_94()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ Token xsp;
+ while (true) {
+ xsp = jj_scanpos;
+ if (jj_3R_95()) { jj_scanpos = xsp; break; }
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ }
+ return false;
+ }
+
+ static final private boolean jj_3R_184() {
+ if (jj_scan_token(112)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3_8() {
+ if (jj_3R_20()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_183() {
+ if (jj_scan_token(111)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_104() {
+ if (jj_3R_20()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_182() {
+ if (jj_scan_token(106)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_181() {
+ if (jj_scan_token(105)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_180() {
+ if (jj_scan_token(79)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_179() {
+ if (jj_scan_token(96)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_127() {
+ if (jj_3R_37()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_126() {
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_179()) {
+ jj_scanpos = xsp;
+ if (jj_3R_180()) {
+ jj_scanpos = xsp;
+ if (jj_3R_181()) {
+ jj_scanpos = xsp;
+ if (jj_3R_182()) {
+ jj_scanpos = xsp;
+ if (jj_3R_183()) {
+ jj_scanpos = xsp;
+ if (jj_3R_184()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3_19() {
+ if (jj_scan_token(75)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3_18()) jj_scanpos = xsp;
+ else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ if (jj_scan_token(76)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3_7() {
+ if (jj_3R_20()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_128() {
+ if (jj_scan_token(75)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ if (jj_3R_40()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ if (jj_scan_token(76)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_48() {
+ if (jj_3R_103()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_104()) jj_scanpos = xsp;
+ else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_102() {
+ if (jj_3R_20()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_50() {
+ if (jj_3R_105()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_77() {
+ if (jj_scan_token(SIZEOF)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_127()) {
+ jj_scanpos = xsp;
+ if (jj_3R_128()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_264() {
+ if (jj_scan_token(106)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_76() {
+ if (jj_3R_126()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ if (jj_3R_41()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3_32() {
+ if (jj_scan_token(75)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ if (jj_3R_40()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ if (jj_scan_token(76)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ if (jj_3R_41()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_75() {
+ if (jj_scan_token(110)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ if (jj_3R_37()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_74() {
+ if (jj_scan_token(109)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ if (jj_3R_37()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3_34() {
+ if (jj_3R_42()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_261() {
+ if (jj_scan_token(104)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_213() {
+ if (jj_3R_121()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_101() {
+ if (jj_3R_20()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_37() {
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3_34()) {
+ jj_scanpos = xsp;
+ if (jj_3R_74()) {
+ jj_scanpos = xsp;
+ if (jj_3R_75()) {
+ jj_scanpos = xsp;
+ if (jj_3R_76()) {
+ jj_scanpos = xsp;
+ if (jj_3R_77()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3_10() {
+ if (jj_3R_22()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_102()) jj_scanpos = xsp;
+ else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_164() {
+ if (jj_scan_token(77)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_213()) jj_scanpos = xsp;
+ else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ if (jj_scan_token(78)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_115() {
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_164()) {
+ jj_scanpos = xsp;
+ if (jj_3_19()) {
+ jj_scanpos = xsp;
+ if (jj_3R_165()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3_6() {
+ if (jj_3R_19()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_93() {
+ if (jj_3R_37()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_47() {
+ if (jj_3R_100()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_101()) jj_scanpos = xsp;
+ else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_20() {
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_47()) {
+ jj_scanpos = xsp;
+ if (jj_3_10()) {
+ jj_scanpos = xsp;
+ if (jj_3R_48()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_92() {
+ if (jj_scan_token(75)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ if (jj_3R_40()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ if (jj_scan_token(76)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ if (jj_3R_41()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_41() {
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_92()) {
+ jj_scanpos = xsp;
+ if (jj_3R_93()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_267() {
+ if (jj_scan_token(108)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_266() {
+ if (jj_scan_token(107)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_114() {
+ if (jj_scan_token(75)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ if (jj_3R_27()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ if (jj_scan_token(76)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_265() {
+ if (jj_scan_token(79)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_49() {
+ if (jj_3R_19()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3_5() {
+ if (jj_3R_21()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_262() {
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_265()) {
+ jj_scanpos = xsp;
+ if (jj_3R_266()) {
+ jj_scanpos = xsp;
+ if (jj_3R_267()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ if (jj_3R_258()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_246() {
+ if (jj_scan_token(98)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_21() {
+ Token xsp;
+ if (jj_3R_49()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ while (true) {
+ xsp = jj_scanpos;
+ if (jj_3R_49()) { jj_scanpos = xsp; break; }
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ }
+ return false;
+ }
+
+ static final private boolean jj_3R_263() {
+ if (jj_scan_token(105)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_258() {
+ if (jj_3R_41()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_262()) jj_scanpos = xsp;
+ else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_259() {
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_263()) {
+ jj_scanpos = xsp;
+ if (jj_3R_264()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ if (jj_3R_251()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3_4() {
+ if (jj_3R_20()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_260() {
+ if (jj_scan_token(103)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_19() {
+ if (jj_3R_20()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_50()) jj_scanpos = xsp;
+ else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ if (jj_scan_token(69)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_251() {
+ if (jj_3R_258()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_259()) jj_scanpos = xsp;
+ else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_252() {
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_260()) {
+ jj_scanpos = xsp;
+ if (jj_3R_261()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ if (jj_3R_243()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_256() {
+ if (jj_scan_token(102)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_255() {
+ if (jj_scan_token(101)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_243() {
+ if (jj_3R_251()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_252()) jj_scanpos = xsp;
+ else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_254() {
+ if (jj_scan_token(100)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_253() {
+ if (jj_scan_token(99)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_45() {
+ if (jj_3R_20()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_244() {
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_253()) {
+ jj_scanpos = xsp;
+ if (jj_3R_254()) {
+ jj_scanpos = xsp;
+ if (jj_3R_255()) {
+ jj_scanpos = xsp;
+ if (jj_3R_256()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ if (jj_3R_240()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_18() {
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_45()) jj_scanpos = xsp;
+ else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ if (jj_3R_27()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ xsp = jj_scanpos;
+ if (jj_3_5()) jj_scanpos = xsp;
+ else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ if (jj_3R_46()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_113() {
+ if (jj_scan_token(IDENTIFIER)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_245() {
+ if (jj_scan_token(97)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_240() {
+ if (jj_3R_243()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_244()) jj_scanpos = xsp;
+ else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_57() {
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_113()) {
+ jj_scanpos = xsp;
+ if (jj_3R_114()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ while (true) {
+ xsp = jj_scanpos;
+ if (jj_3R_115()) { jj_scanpos = xsp; break; }
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ }
+ return false;
+ }
+
+ static final private boolean jj_3R_241() {
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_245()) {
+ jj_scanpos = xsp;
+ if (jj_3R_246()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ if (jj_3R_233()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_56() {
+ if (jj_3R_33()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_233() {
+ if (jj_3R_240()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_241()) jj_scanpos = xsp;
+ else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_234() {
+ if (jj_scan_token(96)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ if (jj_3R_229()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_27() {
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_56()) jj_scanpos = xsp;
+ else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ if (jj_3R_57()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_229() {
+ if (jj_3R_233()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_234()) jj_scanpos = xsp;
+ else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_230() {
+ if (jj_scan_token(95)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ if (jj_3R_217()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3_17() {
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_28()) jj_scanpos = xsp;
+ else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ if (jj_scan_token(70)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ if (jj_3R_29()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ if (jj_scan_token(71)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_217() {
+ if (jj_3R_229()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_230()) jj_scanpos = xsp;
+ else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_218() {
+ if (jj_scan_token(94)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ if (jj_3R_185()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_232() {
+ if (jj_3R_27()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_185() {
+ if (jj_3R_217()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_218()) jj_scanpos = xsp;
+ else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_186() {
+ if (jj_scan_token(93)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ if (jj_3R_129()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_226() {
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_232()) jj_scanpos = xsp;
+ else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ if (jj_scan_token(74)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ if (jj_3R_121()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_59() {
+ if (jj_scan_token(72)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ if (jj_3R_58()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_129() {
+ if (jj_3R_185()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_186()) jj_scanpos = xsp;
+ else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_130() {
+ if (jj_scan_token(92)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ if (jj_3R_89()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3_14() {
+ if (jj_3R_26()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_116() {
+ if (jj_scan_token(73)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ if (jj_3R_121()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3_13() {
+ if (jj_3R_26()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_58() {
+ if (jj_scan_token(IDENTIFIER)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_116()) jj_scanpos = xsp;
+ else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_89() {
+ if (jj_3R_129()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_130()) jj_scanpos = xsp;
+ else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3_3() {
+ if (jj_3R_19()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_112() {
+ if (jj_3R_26()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_121() {
+ if (jj_3R_39()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_29() {
+ if (jj_3R_58()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ Token xsp;
+ while (true) {
+ xsp = jj_scanpos;
+ if (jj_3R_59()) { jj_scanpos = xsp; break; }
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ }
+ return false;
+ }
+
+ static final private boolean jj_3R_90() {
+ if (jj_scan_token(91)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ if (jj_3R_131()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ if (jj_scan_token(74)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ if (jj_3R_39()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_257() {
+ if (jj_scan_token(72)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ if (jj_3R_212()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_111() {
+ if (jj_3R_26()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_225() {
+ if (jj_scan_token(IDENTIFIER)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_28() {
+ if (jj_scan_token(IDENTIFIER)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_39() {
+ if (jj_3R_89()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_90()) jj_scanpos = xsp;
+ else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_223() {
+ if (jj_scan_token(72)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ if (jj_3R_96()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_88() {
+ if (jj_scan_token(90)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_87() {
+ if (jj_scan_token(89)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_109() {
+ if (jj_scan_token(ENUM)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3_17()) {
+ jj_scanpos = xsp;
+ if (jj_3R_225()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_86() {
+ if (jj_scan_token(88)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_85() {
+ if (jj_scan_token(87)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_84() {
+ if (jj_scan_token(86)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_83() {
+ if (jj_scan_token(85)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3_30() {
+ if (jj_3R_37()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ if (jj_3R_38()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_82() {
+ if (jj_scan_token(84)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3_16() {
+ if (jj_3R_27()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_81() {
+ if (jj_scan_token(83)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3_2() {
+ if (jj_3R_18()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_80() {
+ if (jj_scan_token(82)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_212() {
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3_16()) {
+ jj_scanpos = xsp;
+ if (jj_3R_226()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_79() {
+ if (jj_scan_token(81)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_78() {
+ if (jj_scan_token(73)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static final private boolean jj_3R_38() {
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_78()) {
+ jj_scanpos = xsp;
+ if (jj_3R_79()) {
+ jj_scanpos = xsp;
+ if (jj_3R_80()) {
+ jj_scanpos = xsp;
+ if (jj_3R_81()) {
+ jj_scanpos = xsp;
+ if (jj_3R_82()) {
+ jj_scanpos = xsp;
+ if (jj_3R_83()) {
+ jj_scanpos = xsp;
+ if (jj_3R_84()) {
+ jj_scanpos = xsp;
+ if (jj_3R_85()) {
+ jj_scanpos = xsp;
+ if (jj_3R_86()) {
+ jj_scanpos = xsp;
+ if (jj_3R_87()) {
+ jj_scanpos = xsp;
+ if (jj_3R_88()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ static private boolean jj_initialized_once = false;
+ static public C2JTokenManager token_source;
+ static ASCII_CharStream jj_input_stream;
+ static public Token token, jj_nt;
+ static private int jj_ntk;
+ static private Token jj_scanpos, jj_lastpos;
+ static private int jj_la;
+ static public boolean lookingAhead = false;
+ static private boolean jj_semLA;
+ static private int jj_gen;
+ static final private int[] jj_la1 = new int[83];
+ static final private int[] jj_la1_0 = {0x0,0xa0a0000,0x10000,0xa0a0000,0x10240000,0x10240000,0x94240000,0x0,0x10000,0x0,0x0,0x84000000,0x0,0x0,0x10000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x406880,0x0,0x0,0x10000,0x0,0x10000,0x0,0x0,0x0,0x0,0x406880,0x0,0x0,0x0,0x406880,0x0,0x0,0x406880,0x0,0x61c0e880,0x100000,0x406880,0x61d0e880,0x61d0e880,0x800000,0x406880,0x406880,0x406880,0x20000000,0x406880,0x41008000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x406880,0x0,0x400000,0x0,0x0,0x0,0x6880,0x0,0x6880,};
+ static final private int[] jj_la1_1 = {0x0,0x80,0x1,0x80,0x1326,0xffff9326,0xffff9366,0xffff8000,0x1,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x1,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x6c00,0x10,0x0,0x6c10,0x6c10,0x2000,0x0,0x0,0x0,0x4800,0x0,0x400,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,};
+ static final private int[] jj_la1_2 = {0x8804,0x0,0x0,0x0,0x0,0x3,0x3,0x3,0x0,0x4,0x4,0x0,0x100,0x200,0x0,0x100,0x8804,0x8c04,0x4,0x4,0x100,0x200,0x8000,0x804,0x2800,0x8804,0x2000,0x800,0x0,0x8000,0x0,0x100,0xa800,0x100,0x100,0x8844,0xa800,0x8000,0xa800,0x8804,0x2800,0x2800,0x8804,0x2800,0x8864,0x4,0x8804,0x8864,0x8864,0x0,0x8804,0x8804,0x8804,0x0,0x8804,0x0,0x100,0x7fe0200,0x8000000,0x10000000,0x20000000,0x40000000,0x80000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x8000,0x8000,0x8804,0x800,0x8000,0x8000,0x2800,0x2800,0x804,0x100,0x0,};
+ static final private 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,0x1e601,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1e601,0x0,0x0,0x0,0x1e601,0x0,0x0,0x1e601,0x0,0x1e601,0x0,0x1e601,0x1e601,0x1e601,0x0,0x1e601,0x1e601,0x1e601,0x0,0x1e601,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0x6,0x6,0x78,0x78,0x180,0x180,0x600,0x600,0x1800,0x1800,0x1e601,0x0,0x1e601,0x18601,0x66000,0x66000,0x0,0x0,0x0,};
+ static final private JJCalls[] jj_2_rtns = new JJCalls[35];
+ static private boolean jj_rescan = false;
+ static private int jj_gc = 0;
+
+ public C2J(java.io.InputStream stream) {
+ if (jj_initialized_once) {
+ System.out.println("ERROR: Second call to constructor of static parser. You must");
+ System.out.println(" either use ReInit() or set the JavaCC option STATIC to false");
+ System.out.println(" during parser generation.");
+ throw new Error();
+ }
+ jj_initialized_once = true;
+ jj_input_stream = new ASCII_CharStream(stream, 1, 1);
+ token_source = new C2JTokenManager(jj_input_stream);
+ token = new Token();
+ jj_ntk = -1;
+ jj_gen = 0;
+ for (int i = 0; i < 83; i++) jj_la1[i] = -1;
+ for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
+ }
+
+ static public void ReInit(java.io.InputStream stream) {
+ jj_input_stream.ReInit(stream, 1, 1);
+ token_source.ReInit(jj_input_stream);
+ token = new Token();
+ jj_ntk = -1;
+ jj_gen = 0;
+ for (int i = 0; i < 83; i++) jj_la1[i] = -1;
+ for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
+ }
+
+ public C2J(java.io.Reader stream) {
+ if (jj_initialized_once) {
+ System.out.println("ERROR: Second call to constructor of static parser. You must");
+ System.out.println(" either use ReInit() or set the JavaCC option STATIC to false");
+ System.out.println(" during parser generation.");
+ throw new Error();
+ }
+ jj_initialized_once = true;
+ jj_input_stream = new ASCII_CharStream(stream, 1, 1);
+ token_source = new C2JTokenManager(jj_input_stream);
+ token = new Token();
+ jj_ntk = -1;
+ jj_gen = 0;
+ for (int i = 0; i < 83; i++) jj_la1[i] = -1;
+ for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
+ }
+
+ static public void ReInit(java.io.Reader stream) {
+ jj_input_stream.ReInit(stream, 1, 1);
+ token_source.ReInit(jj_input_stream);
+ token = new Token();
+ jj_ntk = -1;
+ jj_gen = 0;
+ for (int i = 0; i < 83; i++) jj_la1[i] = -1;
+ for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
+ }
+
+ public C2J(C2JTokenManager tm) {
+ if (jj_initialized_once) {
+ System.out.println("ERROR: Second call to constructor of static parser. You must");
+ System.out.println(" either use ReInit() or set the JavaCC option STATIC to false");
+ System.out.println(" during parser generation.");
+ throw new Error();
+ }
+ jj_initialized_once = true;
+ token_source = tm;
+ token = new Token();
+ jj_ntk = -1;
+ jj_gen = 0;
+ for (int i = 0; i < 83; i++) jj_la1[i] = -1;
+ for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
+ }
+
+ public void ReInit(C2JTokenManager tm) {
+ token_source = tm;
+ token = new Token();
+ jj_ntk = -1;
+ jj_gen = 0;
+ for (int i = 0; i < 83; i++) jj_la1[i] = -1;
+ for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
+ }
+
+ static final private Token jj_consume_token(int kind) throws ParseException {
+ Token oldToken;
+ if ((oldToken = token).next != null) 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 < jj_2_rtns.length; i++) {
+ JJCalls c = jj_2_rtns[i];
+ while (c != null) {
+ if (c.gen < jj_gen) c.first = null;
+ c = c.next;
+ }
+ }
+ }
+ return token;
+ }
+ token = oldToken;
+ jj_kind = kind;
+ throw generateParseException();
+ }
+
+ static final private boolean jj_scan_token(int kind) {
+ if (jj_scanpos == jj_lastpos) {
+ jj_la--;
+ if (jj_scanpos.next == null) {
+ 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 != null && tok != jj_scanpos) { i++; tok = tok.next; }
+ if (tok != null) jj_add_error_token(kind, i);
+ }
+ return (jj_scanpos.kind != kind);
+ }
+
+ static final public Token getNextToken() {
+ if (token.next != null) token = token.next;
+ else token = token.next = token_source.getNextToken();
+ jj_ntk = -1;
+ jj_gen++;
+ return token;
+ }
+
+ static final public Token getToken(int index) {
+ Token t = lookingAhead ? jj_scanpos : token;
+ for (int i = 0; i < index; i++) {
+ if (t.next != null) t = t.next;
+ else t = t.next = token_source.getNextToken();
+ }
+ return t;
+ }
+
+ static final private int jj_ntk() {
+ if ((jj_nt=token.next) == null)
+ return (jj_ntk = (token.next=token_source.getNextToken()).kind);
+ else
+ return (jj_ntk = jj_nt.kind);
+ }
+
+ static private java.util.Vector jj_expentries = new java.util.Vector();
+ static private int[] jj_expentry;
+ static private int jj_kind = -1;
+ static private int[] jj_lasttokens = new int[100];
+ static private int jj_endpos;
+
+ static private void jj_add_error_token(int kind, int pos) {
+ if (pos >= 100) return;
+ if (pos == jj_endpos + 1) {
+ jj_lasttokens[jj_endpos++] = kind;
+ } else if (jj_endpos != 0) {
+ jj_expentry = new int[jj_endpos];
+ for (int i = 0; i < jj_endpos; i++) {
+ jj_expentry[i] = jj_lasttokens[i];
+ }
+ boolean exists = false;
+ for (java.util.Enumeration enum = jj_expentries.elements(); enum.hasMoreElements();) {
+ int[] oldentry = (int[])(enum.nextElement());
+ if (oldentry.length == jj_expentry.length) {
+ exists = true;
+ for (int i = 0; i < jj_expentry.length; i++) {
+ if (oldentry[i] != jj_expentry[i]) {
+ exists = false;
+ break;
+ }
+ }
+ if (exists) break;
+ }
+ }
+ if (!exists) jj_expentries.addElement(jj_expentry);
+ if (pos != 0) jj_lasttokens[(jj_endpos = pos) - 1] = kind;
+ }
+ }
+
+ static final public ParseException generateParseException() {
+ jj_expentries.removeAllElements();
+ boolean[] la1tokens = new boolean[115];
+ for (int i = 0; i < 115; i++) {
+ la1tokens[i] = false;
+ }
+ if (jj_kind >= 0) {
+ la1tokens[jj_kind] = true;
+ jj_kind = -1;
+ }
+ for (int i = 0; i < 83; i++) {
+ if (jj_la1[i] == jj_gen) {
+ for (int j = 0; j < 32; j++) {
+ if ((jj_la1_0[i] & (1<<j)) != 0) {
+ la1tokens[j] = true;
+ }
+ if ((jj_la1_1[i] & (1<<j)) != 0) {
+ la1tokens[32+j] = true;
+ }
+ if ((jj_la1_2[i] & (1<<j)) != 0) {
+ la1tokens[64+j] = true;
+ }
+ if ((jj_la1_3[i] & (1<<j)) != 0) {
+ la1tokens[96+j] = true;
+ }
+ }
+ }
+ }
+ for (int i = 0; i < 115; i++) {
+ if (la1tokens[i]) {
+ jj_expentry = new int[1];
+ jj_expentry[0] = i;
+ jj_expentries.addElement(jj_expentry);
+ }
+ }
+ jj_endpos = 0;
+ jj_rescan_token();
+ jj_add_error_token(0, 0);
+ int[][] exptokseq = new int[jj_expentries.size()][];
+ for (int i = 0; i < jj_expentries.size(); i++) {
+ exptokseq[i] = (int[])jj_expentries.elementAt(i);
+ }
+ return new ParseException(token, exptokseq, tokenImage);
+ }
+
+ static final public void enable_tracing() {
+ }
+
+ static final public void disable_tracing() {
+ }
+
+ static final private void jj_rescan_token() {
+ jj_rescan = true;
+ for (int i = 0; i < 35; 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;
+ case 29: jj_3_30(); break;
+ case 30: jj_3_31(); break;
+ case 31: jj_3_32(); break;
+ case 32: jj_3_33(); break;
+ case 33: jj_3_34(); break;
+ case 34: jj_3_35(); break;
+ }
+ }
+ p = p.next;
+ } while (p != null);
+ }
+ jj_rescan = false;
+ }
+
+ static final private void jj_save(int index, int xla) {
+ JJCalls p = jj_2_rtns[index];
+ while (p.gen > jj_gen) {
+ if (p.next == null) { p = p.next = new JJCalls(); break; }
+ p = p.next;
+ }
+ p.gen = jj_gen + xla - jj_la; p.first = token; p.arg = xla;
+ }
+
+ static final class JJCalls {
+ int gen;
+ Token first;
+ int arg;
+ JJCalls next;
+ }
+
+ }