diff options
Diffstat (limited to 'C2J/C2J.java')
-rw-r--r-- | C2J/C2J.java | 5679 |
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; + } + + } |