/* Generated By:JavaCC: Do not edit this line. CParser.java */ package tirateima.gui.highlighting.c; import java.util.*; public class CParser implements CParserConstants { // Hastable for storing typedef types private static Set types = new HashSet(); // 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){ return types.contains(type); } // Add a typedef type to those already defined private static void addType(String type){ types.add(type); } // Prints out all the types used in parsing the c source private static void printTypes(){ for (Iterator i = types.iterator(); i.hasNext();) { System.out.println(i.next()); } } // Run the parser public static void main ( String args [ ] ) { CParser parser ; // Hack to include type "special types" types.add("__signed__"); types.add("__const"); types.add("__inline__"); types.add("__signed"); if(args.length == 0){ System.out.println("C Parser Version 0.1Alpha: Reading from standard input . . ."); parser = new CParser(System.in); } else if(args.length == 1){ System.out.println("C Parser Version 0.1Alpha: Reading from file " + args[0] + " . . ." ); try { parser = new CParser(new java.io.FileInputStream(args[0])); } catch(java.io.FileNotFoundException e){ System.out.println("C Parser Version 0.1: File " + args[0] + " not found."); return ; } } else { System.out.println("C Parser Version 0.1Alpha: Usage is one of:"); System.out.println(" java CParser < inputfile"); System.out.println("OR"); System.out.println(" java CParser inputfile"); return ; } try { parser.TranslationUnit(); System.out.println("C Parser Version 0.1Alpha: Java program parsed successfully."); } catch(ParseException e){ System.out.println("C Parser Version 0.1Alpha: Encountered errors during parse."); e.printStackTrace(); } } final public void TranslationUnit() throws ParseException { label_1: while (true) { ExternalDeclaration(); if (jj_2_1(1)) { ; } else { break label_1; } } printTypes(); } final public void ExternalDeclaration() throws ParseException { if (jj_2_2(2147483647)) { FunctionDefinition(); } else if (jj_2_3(1)) { Declaration(); } else { jj_consume_token(-1); throw new ParseException(); } } final public void FunctionDefinition() throws ParseException { if (jj_2_4(2147483647)) { DeclarationSpecifiers(); } else { ; } Declarator(); if (jj_2_5(1)) { DeclarationList(); } else { ; } CompoundStatement(); } final public void Declaration() throws ParseException { DeclarationSpecifiers(); switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case IDENTIFIER: case 59: case 63: InitDeclaratorList(); break; default: jj_la1[0] = jj_gen; ; } jj_consume_token(53); } final public void DeclarationList() throws ParseException { label_2: while (true) { Declaration(); if (jj_2_6(2147483647)) { ; } else { break label_2; } } } final public void DeclarationSpecifiers() throws ParseException { switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case REGISTER: case TYPEDEF: case EXTERN: case STATIC: case AUTO: StorageClassSpecifier(); if (jj_2_7(2147483647)) { DeclarationSpecifiers(); } else { ; } break; default: jj_la1[1] = jj_gen; if (jj_2_10(1)) { TypeSpecifier(); if (jj_2_8(2147483647)) { DeclarationSpecifiers(); } else { ; } } else { switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case VOLATILE: case CONST: TypeQualifier(); if (jj_2_9(2147483647)) { DeclarationSpecifiers(); } else { ; } break; default: jj_la1[2] = jj_gen; jj_consume_token(-1); throw new ParseException(); } } } } final public void StorageClassSpecifier() throws ParseException { switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case AUTO: jj_consume_token(AUTO); break; case REGISTER: jj_consume_token(REGISTER); break; case STATIC: jj_consume_token(STATIC); break; case EXTERN: jj_consume_token(EXTERN); break; case TYPEDEF: jj_consume_token(TYPEDEF); typedefParsingStack.push(Boolean.TRUE); break; default: jj_la1[3] = jj_gen; jj_consume_token(-1); throw new ParseException(); } } final public void TypeSpecifier() throws ParseException { switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case VOID: jj_consume_token(VOID); break; case CHAR: jj_consume_token(CHAR); break; case SHORT: jj_consume_token(SHORT); break; case INT: jj_consume_token(INT); break; case LONG: jj_consume_token(LONG); break; case FLOAT: jj_consume_token(FLOAT); break; case DOUBLE: jj_consume_token(DOUBLE); break; case SIGNED: jj_consume_token(SIGNED); break; case UNSIGNED: jj_consume_token(UNSIGNED); break; case STRUCT: case UNION: StructOrUnionSpecifier(); break; case ENUM: EnumSpecifier(); break; default: jj_la1[4] = jj_gen; if (isType(getToken(1).image)) { TypedefName(); } else { jj_consume_token(-1); throw new ParseException(); } } } final public void TypeQualifier() throws ParseException { switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case CONST: jj_consume_token(CONST); break; case VOLATILE: jj_consume_token(VOLATILE); break; default: jj_la1[5] = jj_gen; jj_consume_token(-1); throw new ParseException(); } } final public void StructOrUnionSpecifier() throws ParseException { typedefParsingStack.push(Boolean.FALSE); StructOrUnion(); if (jj_2_11(3)) { switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case IDENTIFIER: jj_consume_token(IDENTIFIER); break; default: jj_la1[6] = jj_gen; ; } jj_consume_token(54); StructDeclarationList(); jj_consume_token(55); } else { switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case IDENTIFIER: jj_consume_token(IDENTIFIER); break; default: jj_la1[7] = jj_gen; jj_consume_token(-1); throw new ParseException(); } } typedefParsingStack.pop(); } final public void StructOrUnion() throws ParseException { switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case STRUCT: jj_consume_token(STRUCT); break; case UNION: jj_consume_token(UNION); break; default: jj_la1[8] = jj_gen; jj_consume_token(-1); throw new ParseException(); } } final public void StructDeclarationList() throws ParseException { label_3: while (true) { StructDeclaration(); if (jj_2_12(1)) { ; } else { break label_3; } } } final public void InitDeclaratorList() throws ParseException { InitDeclarator(); label_4: while (true) { switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case 56: ; break; default: jj_la1[9] = jj_gen; break label_4; } jj_consume_token(56); InitDeclarator(); } // Finished with a typedefDeclaration?? if(!(typedefParsingStack.empty()) && ((Boolean)typedefParsingStack.peek()).booleanValue()){ typedefParsingStack.pop(); } } final public void InitDeclarator() throws ParseException { Declarator(); switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case 57: jj_consume_token(57); Initializer(); break; default: jj_la1[10] = jj_gen; ; } } final public void StructDeclaration() throws ParseException { SpecifierQualifierList(); StructDeclaratorList(); jj_consume_token(53); } final public void SpecifierQualifierList() throws ParseException { if (jj_2_15(1)) { TypeSpecifier(); if (jj_2_13(2147483647)) { SpecifierQualifierList(); } else { ; } } else { switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case VOLATILE: case CONST: TypeQualifier(); if (jj_2_14(2147483647)) { SpecifierQualifierList(); } else { ; } break; default: jj_la1[11] = jj_gen; jj_consume_token(-1); throw new ParseException(); } } } final public void StructDeclaratorList() throws ParseException { StructDeclarator(); label_5: while (true) { switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case 56: ; break; default: jj_la1[12] = jj_gen; break label_5; } jj_consume_token(56); StructDeclarator(); } } final public void StructDeclarator() throws ParseException { if (jj_2_16(3)) { Declarator(); } else { switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case IDENTIFIER: case 58: case 59: case 63: switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case IDENTIFIER: case 59: case 63: Declarator(); break; default: jj_la1[13] = jj_gen; ; } jj_consume_token(58); ConstantExpression(); break; default: jj_la1[14] = jj_gen; jj_consume_token(-1); throw new ParseException(); } } } final public void EnumSpecifier() throws ParseException { jj_consume_token(ENUM); if (jj_2_17(3)) { switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case IDENTIFIER: jj_consume_token(IDENTIFIER); break; default: jj_la1[15] = jj_gen; ; } jj_consume_token(54); EnumeratorList(); jj_consume_token(55); } else { switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case IDENTIFIER: jj_consume_token(IDENTIFIER); break; default: jj_la1[16] = jj_gen; jj_consume_token(-1); throw new ParseException(); } } } final public void EnumeratorList() throws ParseException { Enumerator(); label_6: while (true) { switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case 56: ; break; default: jj_la1[17] = jj_gen; break label_6; } jj_consume_token(56); Enumerator(); } } final public void Enumerator() throws ParseException { jj_consume_token(IDENTIFIER); switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case 57: jj_consume_token(57); ConstantExpression(); break; default: jj_la1[18] = jj_gen; ; } } final public void Declarator() throws ParseException { switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case 63: Pointer(); break; default: jj_la1[19] = jj_gen; ; } DirectDeclarator(); } final public void DirectDeclarator() throws ParseException { Token t; switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case IDENTIFIER: t = jj_consume_token(IDENTIFIER); if(!(typedefParsingStack.empty()) && ((Boolean)typedefParsingStack.peek()).booleanValue()){ addType(t.image); } break; case 59: jj_consume_token(59); Declarator(); jj_consume_token(60); break; default: jj_la1[20] = jj_gen; jj_consume_token(-1); throw new ParseException(); } typedefParsingStack.push( Boolean.FALSE ); label_7: while (true) { switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case 59: case 61: ; break; default: jj_la1[21] = jj_gen; break label_7; } switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case 61: jj_consume_token(61); 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 59: case 63: case 80: case 89: case 90: case 93: case 94: case 95: case 96: ConstantExpression(); break; default: jj_la1[22] = jj_gen; ; } jj_consume_token(62); break; default: jj_la1[24] = jj_gen; if (jj_2_18(3)) { jj_consume_token(59); ParameterTypeList(); jj_consume_token(60); } else { switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case 59: jj_consume_token(59); switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case IDENTIFIER: IdentifierList(); break; default: jj_la1[23] = jj_gen; ; } jj_consume_token(60); break; default: jj_la1[25] = jj_gen; jj_consume_token(-1); throw new ParseException(); } } } } typedefParsingStack.pop(); } final public void Pointer() throws ParseException { jj_consume_token(63); switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case VOLATILE: case CONST: TypeQualifierList(); break; default: jj_la1[26] = jj_gen; ; } switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case 63: Pointer(); break; default: jj_la1[27] = jj_gen; ; } } final public void TypeQualifierList() throws ParseException { label_8: while (true) { TypeQualifier(); switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case VOLATILE: case CONST: ; break; default: jj_la1[28] = jj_gen; break label_8; } } } final public void ParameterTypeList() throws ParseException { ParameterList(); switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case 56: jj_consume_token(56); jj_consume_token(64); break; default: jj_la1[29] = jj_gen; ; } } final public void ParameterList() throws ParseException { ParameterDeclaration(); label_9: while (true) { if (jj_2_19(2)) { ; } else { break label_9; } jj_consume_token(56); ParameterDeclaration(); } } final public void ParameterDeclaration() throws ParseException { DeclarationSpecifiers(); if (jj_2_20(2147483647)) { Declarator(); } else { switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case 59: case 61: case 63: AbstractDeclarator(); break; default: jj_la1[30] = jj_gen; ; } } } final public void IdentifierList() throws ParseException { jj_consume_token(IDENTIFIER); label_10: while (true) { switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case 56: ; break; default: jj_la1[31] = jj_gen; break label_10; } jj_consume_token(56); jj_consume_token(IDENTIFIER); } } 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 59: case 63: case 80: case 89: case 90: case 93: case 94: case 95: case 96: AssignmentExpression(); break; case 54: jj_consume_token(54); InitializerList(); switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case 56: jj_consume_token(56); break; default: jj_la1[32] = jj_gen; ; } jj_consume_token(55); break; default: jj_la1[33] = jj_gen; jj_consume_token(-1); throw new ParseException(); } } final public void InitializerList() throws ParseException { Initializer(); label_11: while (true) { if (jj_2_21(2)) { ; } else { break label_11; } jj_consume_token(56); Initializer(); } } final public void TypeName() throws ParseException { SpecifierQualifierList(); switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case 59: case 61: case 63: AbstractDeclarator(); break; default: jj_la1[34] = jj_gen; ; } } final public void AbstractDeclarator() throws ParseException { if (jj_2_22(3)) { Pointer(); } else { switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case 59: case 61: case 63: switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case 63: Pointer(); break; default: jj_la1[35] = jj_gen; ; } DirectAbstractDeclarator(); break; default: jj_la1[36] = jj_gen; jj_consume_token(-1); throw new ParseException(); } } } final public void DirectAbstractDeclarator() throws ParseException { if (jj_2_24(2)) { jj_consume_token(59); AbstractDeclarator(); jj_consume_token(60); } else { switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case 61: jj_consume_token(61); 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 59: case 63: case 80: case 89: case 90: case 93: case 94: case 95: case 96: ConstantExpression(); break; default: jj_la1[37] = jj_gen; ; } jj_consume_token(62); break; case 59: jj_consume_token(59); if (jj_2_23(1)) { ParameterTypeList(); } else { ; } jj_consume_token(60); break; default: jj_la1[38] = jj_gen; jj_consume_token(-1); throw new ParseException(); } } label_12: while (true) { switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case 59: case 61: ; break; default: jj_la1[39] = jj_gen; break label_12; } switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case 61: jj_consume_token(61); 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 59: case 63: case 80: case 89: case 90: case 93: case 94: case 95: case 96: ConstantExpression(); break; default: jj_la1[40] = jj_gen; ; } jj_consume_token(62); break; case 59: jj_consume_token(59); if (jj_2_25(1)) { ParameterTypeList(); } else { ; } jj_consume_token(60); break; default: jj_la1[41] = jj_gen; jj_consume_token(-1); throw new ParseException(); } } } final public void TypedefName() throws ParseException { jj_consume_token(IDENTIFIER); } final public void Statement() throws ParseException { if (jj_2_26(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 53: case 59: case 63: case 80: case 89: case 90: case 93: case 94: case 95: case 96: ExpressionStatement(); break; case 54: 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[42] = jj_gen; jj_consume_token(-1); throw new ParseException(); } } } final public void LabeledStatement() throws ParseException { switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case IDENTIFIER: jj_consume_token(IDENTIFIER); jj_consume_token(58); Statement(); break; case CASE: jj_consume_token(CASE); ConstantExpression(); jj_consume_token(58); Statement(); break; case DFLT: jj_consume_token(DFLT); jj_consume_token(58); Statement(); break; default: jj_la1[43] = jj_gen; jj_consume_token(-1); throw new ParseException(); } } 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 59: case 63: case 80: case 89: case 90: case 93: case 94: case 95: case 96: Expression(); break; default: jj_la1[44] = jj_gen; ; } jj_consume_token(53); } final public void CompoundStatement() throws ParseException { jj_consume_token(54); if (jj_2_27(2147483647)) { DeclarationList(); } 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 53: case 54: case 59: case 63: case 80: case 89: case 90: case 93: case 94: case 95: case 96: StatementList(); break; default: jj_la1[45] = jj_gen; ; } jj_consume_token(55); } 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 53: case 54: case 59: case 63: case 80: case 89: case 90: case 93: case 94: case 95: case 96: ; break; default: jj_la1[46] = jj_gen; break label_13; } } } final public void SelectionStatement() throws ParseException { switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case IF: jj_consume_token(IF); jj_consume_token(59); Expression(); jj_consume_token(60); Statement(); if (jj_2_28(2)) { jj_consume_token(ELSE); Statement(); } else { ; } break; case SWITCH: jj_consume_token(SWITCH); jj_consume_token(59); Expression(); jj_consume_token(60); Statement(); break; default: jj_la1[47] = jj_gen; jj_consume_token(-1); throw new ParseException(); } } final public void IterationStatement() throws ParseException { switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case WHILE: jj_consume_token(WHILE); jj_consume_token(59); Expression(); jj_consume_token(60); Statement(); break; case DO: jj_consume_token(DO); Statement(); jj_consume_token(WHILE); jj_consume_token(59); Expression(); jj_consume_token(60); jj_consume_token(53); break; case FOR: jj_consume_token(FOR); jj_consume_token(59); 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 59: case 63: case 80: case 89: case 90: case 93: case 94: case 95: case 96: Expression(); break; default: jj_la1[48] = jj_gen; ; } jj_consume_token(53); 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 59: case 63: case 80: case 89: case 90: case 93: case 94: case 95: case 96: Expression(); break; default: jj_la1[49] = jj_gen; ; } jj_consume_token(53); 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 59: case 63: case 80: case 89: case 90: case 93: case 94: case 95: case 96: Expression(); break; default: jj_la1[50] = jj_gen; ; } jj_consume_token(60); Statement(); break; default: jj_la1[51] = jj_gen; jj_consume_token(-1); throw new ParseException(); } } final public void JumpStatement() throws ParseException { switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case GOTO: jj_consume_token(GOTO); jj_consume_token(IDENTIFIER); jj_consume_token(53); break; case CONTINUE: jj_consume_token(CONTINUE); jj_consume_token(53); break; case BREAK: jj_consume_token(BREAK); jj_consume_token(53); break; case RETURN: jj_consume_token(RETURN); 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 59: case 63: case 80: case 89: case 90: case 93: case 94: case 95: case 96: Expression(); break; default: jj_la1[52] = jj_gen; ; } jj_consume_token(53); break; default: jj_la1[53] = jj_gen; jj_consume_token(-1); throw new ParseException(); } } final public void Expression() throws ParseException { AssignmentExpression(); label_14: while (true) { switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case 56: ; break; default: jj_la1[54] = jj_gen; break label_14; } jj_consume_token(56); AssignmentExpression(); } } final public void AssignmentExpression() throws ParseException { if (jj_2_29(2147483647)) { UnaryExpression(); AssignmentOperator(); AssignmentExpression(); } else if (jj_2_30(3)) { ConditionalExpression(); } else { jj_consume_token(-1); throw new ParseException(); } } final public void AssignmentOperator() throws ParseException { switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case 57: jj_consume_token(57); break; case 65: jj_consume_token(65); break; case 66: jj_consume_token(66); break; case 67: jj_consume_token(67); break; case 68: jj_consume_token(68); break; case 69: jj_consume_token(69); break; case 70: jj_consume_token(70); break; case 71: jj_consume_token(71); break; case 72: jj_consume_token(72); break; case 73: jj_consume_token(73); break; case 74: jj_consume_token(74); break; default: jj_la1[55] = jj_gen; jj_consume_token(-1); throw new ParseException(); } } final public void ConditionalExpression() throws ParseException { LogicalORExpression(); switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case 75: jj_consume_token(75); Expression(); jj_consume_token(58); ConditionalExpression(); break; default: jj_la1[56] = jj_gen; ; } } final public void ConstantExpression() throws ParseException { ConditionalExpression(); } final public void LogicalORExpression() throws ParseException { LogicalANDExpression(); switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case 76: jj_consume_token(76); LogicalORExpression(); break; default: jj_la1[57] = jj_gen; ; } } final public void LogicalANDExpression() throws ParseException { InclusiveORExpression(); switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case 77: jj_consume_token(77); LogicalANDExpression(); break; default: jj_la1[58] = jj_gen; ; } } final public void InclusiveORExpression() throws ParseException { ExclusiveORExpression(); switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case 78: jj_consume_token(78); InclusiveORExpression(); break; default: jj_la1[59] = jj_gen; ; } } final public void ExclusiveORExpression() throws ParseException { ANDExpression(); switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case 79: jj_consume_token(79); ExclusiveORExpression(); break; default: jj_la1[60] = jj_gen; ; } } final public void ANDExpression() throws ParseException { EqualityExpression(); switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case 80: jj_consume_token(80); ANDExpression(); break; default: jj_la1[61] = jj_gen; ; } } final public void EqualityExpression() throws ParseException { RelationalExpression(); switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case 81: case 82: switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case 81: jj_consume_token(81); break; case 82: jj_consume_token(82); break; default: jj_la1[62] = jj_gen; jj_consume_token(-1); throw new ParseException(); } EqualityExpression(); break; default: jj_la1[63] = jj_gen; ; } } final public void RelationalExpression() throws ParseException { ShiftExpression(); switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case 83: case 84: case 85: case 86: switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case 83: jj_consume_token(83); break; case 84: jj_consume_token(84); break; case 85: jj_consume_token(85); break; case 86: jj_consume_token(86); break; default: jj_la1[64] = jj_gen; jj_consume_token(-1); throw new ParseException(); } RelationalExpression(); break; default: jj_la1[65] = jj_gen; ; } } final public void ShiftExpression() throws ParseException { AdditiveExpression(); switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case 87: case 88: switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case 87: jj_consume_token(87); break; case 88: jj_consume_token(88); break; default: jj_la1[66] = jj_gen; jj_consume_token(-1); throw new ParseException(); } ShiftExpression(); break; default: jj_la1[67] = jj_gen; ; } } final public void AdditiveExpression() throws ParseException { MultiplicativeExpression(); switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case 89: case 90: switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case 89: jj_consume_token(89); break; case 90: jj_consume_token(90); break; default: jj_la1[68] = jj_gen; jj_consume_token(-1); throw new ParseException(); } AdditiveExpression(); break; default: jj_la1[69] = jj_gen; ; } } final public void MultiplicativeExpression() throws ParseException { CastExpression(); switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case 63: case 91: case 92: switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case 63: jj_consume_token(63); break; case 91: jj_consume_token(91); break; case 92: jj_consume_token(92); break; default: jj_la1[70] = jj_gen; jj_consume_token(-1); throw new ParseException(); } MultiplicativeExpression(); break; default: jj_la1[71] = jj_gen; ; } } final public void CastExpression() throws ParseException { if (jj_2_31(2147483647)) { jj_consume_token(59); TypeName(); jj_consume_token(60); 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 59: case 63: case 80: case 89: case 90: case 93: case 94: case 95: case 96: UnaryExpression(); break; default: jj_la1[72] = jj_gen; jj_consume_token(-1); throw new ParseException(); } } } final public void UnaryExpression() throws ParseException { if (jj_2_33(3)) { PostfixExpression(); } else { switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case 93: jj_consume_token(93); UnaryExpression(); break; case 94: jj_consume_token(94); UnaryExpression(); break; case 63: case 80: case 89: case 90: case 95: case 96: UnaryOperator(); CastExpression(); break; case SIZEOF: jj_consume_token(SIZEOF); if (jj_2_32(2147483647)) { UnaryExpression(); } else { switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case 59: jj_consume_token(59); TypeName(); jj_consume_token(60); break; default: jj_la1[73] = jj_gen; jj_consume_token(-1); throw new ParseException(); } } break; default: jj_la1[74] = jj_gen; jj_consume_token(-1); throw new ParseException(); } } } final public void UnaryOperator() throws ParseException { switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case 80: jj_consume_token(80); break; case 63: jj_consume_token(63); break; case 89: jj_consume_token(89); break; case 90: jj_consume_token(90); break; case 95: jj_consume_token(95); break; case 96: jj_consume_token(96); break; default: jj_la1[75] = jj_gen; jj_consume_token(-1); throw new ParseException(); } } final public void PostfixExpression() throws ParseException { PrimaryExpression(); label_15: while (true) { switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case 59: case 61: case 93: case 94: case 97: case 98: ; break; default: jj_la1[76] = jj_gen; break label_15; } switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case 61: jj_consume_token(61); Expression(); jj_consume_token(62); break; case 59: jj_consume_token(59); if (jj_2_34(2147483647)) { ArgumentExpressionList(); } else { ; } jj_consume_token(60); break; case 97: jj_consume_token(97); jj_consume_token(IDENTIFIER); break; case 98: jj_consume_token(98); jj_consume_token(IDENTIFIER); break; case 93: jj_consume_token(93); break; case 94: jj_consume_token(94); break; default: jj_la1[77] = jj_gen; jj_consume_token(-1); throw new ParseException(); } } } final public void PrimaryExpression() throws ParseException { switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case IDENTIFIER: jj_consume_token(IDENTIFIER); break; case INTEGER_LITERAL: case FLOATING_POINT_LITERAL: case CHARACTER_LITERAL: case STRING_LITERAL: Constant(); break; case 59: jj_consume_token(59); Expression(); jj_consume_token(60); break; default: jj_la1[78] = jj_gen; jj_consume_token(-1); throw new ParseException(); } } final public void ArgumentExpressionList() throws ParseException { AssignmentExpression(); label_16: while (true) { switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case 56: ; break; default: jj_la1[79] = jj_gen; break label_16; } jj_consume_token(56); AssignmentExpression(); } } final public void Constant() throws ParseException { switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case INTEGER_LITERAL: jj_consume_token(INTEGER_LITERAL); break; case FLOATING_POINT_LITERAL: jj_consume_token(FLOATING_POINT_LITERAL); break; case CHARACTER_LITERAL: jj_consume_token(CHARACTER_LITERAL); break; case STRING_LITERAL: jj_consume_token(STRING_LITERAL); break; default: jj_la1[80] = jj_gen; jj_consume_token(-1); throw new ParseException(); } } final public void SpecialCaracter() throws ParseException { jj_consume_token(SPECIAL_LITERAL); } final public void Diretivas() throws ParseException { jj_consume_token(DIRETIVAS); } final public void ComentarioLinha() throws ParseException { jj_consume_token(COMENTARIO_LINHA); } final public void ComentarioBloco() throws ParseException { jj_consume_token(COMENTARIO_BLOCO); } private boolean jj_2_1(int xla) { jj_la = xla; jj_lastpos = jj_scanpos = token; try { return !jj_3_1(); } catch(LookaheadSuccess ls) { return true; } finally { jj_save(0, xla); } } private boolean jj_2_2(int xla) { jj_la = xla; jj_lastpos = jj_scanpos = token; try { return !jj_3_2(); } catch(LookaheadSuccess ls) { return true; } finally { jj_save(1, xla); } } private boolean jj_2_3(int xla) { jj_la = xla; jj_lastpos = jj_scanpos = token; try { return !jj_3_3(); } catch(LookaheadSuccess ls) { return true; } finally { jj_save(2, xla); } } private boolean jj_2_4(int xla) { jj_la = xla; jj_lastpos = jj_scanpos = token; try { return !jj_3_4(); } catch(LookaheadSuccess ls) { return true; } finally { jj_save(3, xla); } } private boolean jj_2_5(int xla) { jj_la = xla; jj_lastpos = jj_scanpos = token; try { return !jj_3_5(); } catch(LookaheadSuccess ls) { return true; } finally { jj_save(4, xla); } } private boolean jj_2_6(int xla) { jj_la = xla; jj_lastpos = jj_scanpos = token; try { return !jj_3_6(); } catch(LookaheadSuccess ls) { return true; } finally { jj_save(5, xla); } } private boolean jj_2_7(int xla) { jj_la = xla; jj_lastpos = jj_scanpos = token; try { return !jj_3_7(); } catch(LookaheadSuccess ls) { return true; } finally { jj_save(6, xla); } } private boolean jj_2_8(int xla) { jj_la = xla; jj_lastpos = jj_scanpos = token; try { return !jj_3_8(); } catch(LookaheadSuccess ls) { return true; } finally { jj_save(7, xla); } } private boolean jj_2_9(int xla) { jj_la = xla; jj_lastpos = jj_scanpos = token; try { return !jj_3_9(); } catch(LookaheadSuccess ls) { return true; } finally { jj_save(8, xla); } } private boolean jj_2_10(int xla) { jj_la = xla; jj_lastpos = jj_scanpos = token; try { return !jj_3_10(); } catch(LookaheadSuccess ls) { return true; } finally { jj_save(9, xla); } } private boolean jj_2_11(int xla) { jj_la = xla; jj_lastpos = jj_scanpos = token; try { return !jj_3_11(); } catch(LookaheadSuccess ls) { return true; } finally { jj_save(10, xla); } } private boolean jj_2_12(int xla) { jj_la = xla; jj_lastpos = jj_scanpos = token; try { return !jj_3_12(); } catch(LookaheadSuccess ls) { return true; } finally { jj_save(11, xla); } } private boolean jj_2_13(int xla) { jj_la = xla; jj_lastpos = jj_scanpos = token; try { return !jj_3_13(); } catch(LookaheadSuccess ls) { return true; } finally { jj_save(12, xla); } } private boolean jj_2_14(int xla) { jj_la = xla; jj_lastpos = jj_scanpos = token; try { return !jj_3_14(); } catch(LookaheadSuccess ls) { return true; } finally { jj_save(13, xla); } } private boolean jj_2_15(int xla) { jj_la = xla; jj_lastpos = jj_scanpos = token; try { return !jj_3_15(); } catch(LookaheadSuccess ls) { return true; } finally { jj_save(14, xla); } } private boolean jj_2_16(int xla) { jj_la = xla; jj_lastpos = jj_scanpos = token; try { return !jj_3_16(); } catch(LookaheadSuccess ls) { return true; } finally { jj_save(15, xla); } } private boolean jj_2_17(int xla) { jj_la = xla; jj_lastpos = jj_scanpos = token; try { return !jj_3_17(); } catch(LookaheadSuccess ls) { return true; } finally { jj_save(16, xla); } } private boolean jj_2_18(int xla) { jj_la = xla; jj_lastpos = jj_scanpos = token; try { return !jj_3_18(); } catch(LookaheadSuccess ls) { return true; } finally { jj_save(17, xla); } } private boolean jj_2_19(int xla) { jj_la = xla; jj_lastpos = jj_scanpos = token; try { return !jj_3_19(); } catch(LookaheadSuccess ls) { return true; } finally { jj_save(18, xla); } } private boolean jj_2_20(int xla) { jj_la = xla; jj_lastpos = jj_scanpos = token; try { return !jj_3_20(); } catch(LookaheadSuccess ls) { return true; } finally { jj_save(19, xla); } } private boolean jj_2_21(int xla) { jj_la = xla; jj_lastpos = jj_scanpos = token; try { return !jj_3_21(); } catch(LookaheadSuccess ls) { return true; } finally { jj_save(20, xla); } } private boolean jj_2_22(int xla) { jj_la = xla; jj_lastpos = jj_scanpos = token; try { return !jj_3_22(); } catch(LookaheadSuccess ls) { return true; } finally { jj_save(21, xla); } } private boolean jj_2_23(int xla) { jj_la = xla; jj_lastpos = jj_scanpos = token; try { return !jj_3_23(); } catch(LookaheadSuccess ls) { return true; } finally { jj_save(22, xla); } } private boolean jj_2_24(int xla) { jj_la = xla; jj_lastpos = jj_scanpos = token; try { return !jj_3_24(); } catch(LookaheadSuccess ls) { return true; } finally { jj_save(23, xla); } } private boolean jj_2_25(int xla) { jj_la = xla; jj_lastpos = jj_scanpos = token; try { return !jj_3_25(); } catch(LookaheadSuccess ls) { return true; } finally { jj_save(24, xla); } } private boolean jj_2_26(int xla) { jj_la = xla; jj_lastpos = jj_scanpos = token; try { return !jj_3_26(); } catch(LookaheadSuccess ls) { return true; } finally { jj_save(25, xla); } } private boolean jj_2_27(int xla) { jj_la = xla; jj_lastpos = jj_scanpos = token; try { return !jj_3_27(); } catch(LookaheadSuccess ls) { return true; } finally { jj_save(26, xla); } } private boolean jj_2_28(int xla) { jj_la = xla; jj_lastpos = jj_scanpos = token; try { return !jj_3_28(); } catch(LookaheadSuccess ls) { return true; } finally { jj_save(27, xla); } } private boolean jj_2_29(int xla) { jj_la = xla; jj_lastpos = jj_scanpos = token; try { return !jj_3_29(); } catch(LookaheadSuccess ls) { return true; } finally { jj_save(28, xla); } } private boolean jj_2_30(int xla) { jj_la = xla; jj_lastpos = jj_scanpos = token; try { return !jj_3_30(); } catch(LookaheadSuccess ls) { return true; } finally { jj_save(29, xla); } } private boolean jj_2_31(int xla) { jj_la = xla; jj_lastpos = jj_scanpos = token; try { return !jj_3_31(); } catch(LookaheadSuccess ls) { return true; } finally { jj_save(30, xla); } } private boolean jj_2_32(int xla) { jj_la = xla; jj_lastpos = jj_scanpos = token; try { return !jj_3_32(); } catch(LookaheadSuccess ls) { return true; } finally { jj_save(31, xla); } } private boolean jj_2_33(int xla) { jj_la = xla; jj_lastpos = jj_scanpos = token; try { return !jj_3_33(); } catch(LookaheadSuccess ls) { return true; } finally { jj_save(32, xla); } } private boolean jj_2_34(int xla) { jj_la = xla; jj_lastpos = jj_scanpos = token; try { return !jj_3_34(); } catch(LookaheadSuccess ls) { return true; } finally { jj_save(33, xla); } } private boolean jj_3R_28() { if (jj_3R_56()) return true; Token xsp; xsp = jj_scanpos; if (jj_3R_158()) jj_scanpos = xsp; return false; } private boolean jj_3R_130() { if (jj_3R_88()) return true; return false; } private boolean jj_3R_59() { if (jj_3R_99()) return true; return false; } private boolean jj_3R_99() { Token xsp; if (jj_3R_130()) return true; while (true) { xsp = jj_scanpos; if (jj_3R_130()) { jj_scanpos = xsp; break; } } return false; } private boolean jj_3R_151() { if (jj_3R_157()) return true; return false; } private boolean jj_3R_150() { if (jj_3R_102()) return true; return false; } private boolean jj_3R_31() { if (jj_scan_token(63)) return true; Token xsp; xsp = jj_scanpos; if (jj_3R_59()) jj_scanpos = xsp; xsp = jj_scanpos; if (jj_3R_60()) jj_scanpos = xsp; return false; } private boolean jj_3R_127() { if (jj_scan_token(59)) return true; Token xsp; xsp = jj_scanpos; if (jj_3R_151()) jj_scanpos = xsp; if (jj_scan_token(60)) return true; return false; } private boolean jj_3_18() { if (jj_scan_token(59)) return true; if (jj_3R_28()) return true; if (jj_scan_token(60)) return true; return false; } private boolean jj_3R_126() { if (jj_scan_token(61)) return true; Token xsp; xsp = jj_scanpos; if (jj_3R_150()) jj_scanpos = xsp; if (jj_scan_token(62)) return true; return false; } private boolean jj_3R_97() { Token xsp; xsp = jj_scanpos; if (jj_3R_126()) { jj_scanpos = xsp; if (jj_3_18()) { jj_scanpos = xsp; if (jj_3R_127()) return true; } } return false; } private boolean jj_3R_96() { if (jj_scan_token(59)) return true; if (jj_3R_26()) return true; if (jj_scan_token(60)) return true; return false; } private boolean jj_3R_162() { if (jj_3R_26()) return true; return false; } private boolean jj_3R_156() { Token xsp; xsp = jj_scanpos; if (jj_3R_162()) jj_scanpos = xsp; if (jj_scan_token(58)) return true; if (jj_3R_102()) return true; return false; } private boolean jj_3R_98() { if (jj_scan_token(57)) return true; if (jj_3R_102()) return true; return false; } private boolean jj_3R_95() { if (jj_scan_token(IDENTIFIER)) return true; return false; } private boolean jj_3R_53() { Token xsp; xsp = jj_scanpos; if (jj_3R_95()) { jj_scanpos = xsp; if (jj_3R_96()) return true; } while (true) { xsp = jj_scanpos; if (jj_3R_97()) { jj_scanpos = xsp; break; } } return false; } private boolean jj_3R_55() { if (jj_scan_token(56)) return true; if (jj_3R_54()) return true; return false; } private boolean jj_3R_52() { if (jj_3R_31()) return true; return false; } private boolean jj_3R_26() { Token xsp; xsp = jj_scanpos; if (jj_3R_52()) jj_scanpos = xsp; if (jj_3R_53()) return true; return false; } private boolean jj_3_14() { if (jj_3R_25()) return true; return false; } private boolean jj_3_13() { if (jj_3R_25()) return true; return false; } private boolean jj_3R_181() { if (jj_scan_token(56)) return true; if (jj_3R_149()) return true; return false; } private boolean jj_3R_54() { if (jj_scan_token(IDENTIFIER)) return true; Token xsp; xsp = jj_scanpos; if (jj_3R_98()) jj_scanpos = xsp; return false; } private boolean jj_3_17() { Token xsp; xsp = jj_scanpos; if (jj_scan_token(50)) jj_scanpos = xsp; if (jj_scan_token(54)) return true; if (jj_3R_27()) return true; if (jj_scan_token(55)) return true; return false; } private boolean jj_3R_27() { if (jj_3R_54()) return true; Token xsp; while (true) { xsp = jj_scanpos; if (jj_3R_55()) { jj_scanpos = xsp; break; } } return false; } private boolean jj_3R_94() { if (jj_3R_25()) return true; return false; } private boolean jj_3R_93() { if (jj_3R_25()) return true; return false; } private boolean jj_3R_92() { if (jj_scan_token(ENUM)) return true; Token xsp; xsp = jj_scanpos; if (jj_3_17()) { jj_scanpos = xsp; if (jj_scan_token(50)) return true; } return false; } private boolean jj_3_16() { if (jj_3R_26()) return true; return false; } private boolean jj_3R_149() { Token xsp; xsp = jj_scanpos; if (jj_3_16()) { jj_scanpos = xsp; if (jj_3R_156()) return true; } return false; } private boolean jj_3R_125() { if (jj_3R_149()) return true; Token xsp; while (true) { xsp = jj_scanpos; if (jj_3R_181()) { jj_scanpos = xsp; break; } } return false; } private boolean jj_3R_148() { if (jj_scan_token(57)) return true; if (jj_3R_30()) return true; return false; } private boolean jj_3R_51() { if (jj_3R_88()) return true; Token xsp; xsp = jj_scanpos; if (jj_3R_94()) jj_scanpos = xsp; return false; } private boolean jj_3R_25() { Token xsp; xsp = jj_scanpos; if (jj_3_15()) { jj_scanpos = xsp; if (jj_3R_51()) return true; } return false; } private boolean jj_3_15() { if (jj_3R_22()) return true; Token xsp; xsp = jj_scanpos; if (jj_3R_93()) jj_scanpos = xsp; return false; } private boolean jj_3R_123() { if (jj_scan_token(56)) return true; if (jj_3R_122()) return true; return false; } private boolean jj_3R_24() { if (jj_3R_25()) return true; if (jj_3R_125()) return true; if (jj_scan_token(53)) return true; return false; } private boolean jj_3R_122() { if (jj_3R_26()) return true; Token xsp; xsp = jj_scanpos; if (jj_3R_148()) jj_scanpos = xsp; return false; } private boolean jj_3R_50() { if (jj_3R_92()) return true; return false; } private boolean jj_3_5() { if (jj_3R_21()) return true; return false; } private boolean jj_3R_121() { if (jj_scan_token(TYPEDEF)) return true; return false; } private boolean jj_3R_90() { if (jj_3R_122()) return true; Token xsp; while (true) { xsp = jj_scanpos; if (jj_3R_123()) { jj_scanpos = xsp; break; } } return false; } private boolean jj_3_11() { Token xsp; xsp = jj_scanpos; if (jj_scan_token(50)) jj_scanpos = xsp; if (jj_scan_token(54)) return true; if (jj_3R_23()) return true; if (jj_scan_token(55)) return true; return false; } private boolean jj_3_12() { if (jj_3R_24()) return true; return false; } private boolean jj_3R_23() { Token xsp; if (jj_3_12()) return true; while (true) { xsp = jj_scanpos; if (jj_3_12()) { jj_scanpos = xsp; break; } } return false; } private boolean jj_3R_124() { Token xsp; xsp = jj_scanpos; if (jj_scan_token(29)) { jj_scanpos = xsp; if (jj_scan_token(34)) return true; } return false; } private boolean jj_3_3() { if (jj_3R_19()) return true; return false; } private boolean jj_3_7() { if (jj_3R_20()) return true; return false; } private boolean jj_3R_49() { if (jj_3R_91()) return true; return false; } private boolean jj_3_9() { if (jj_3R_20()) return true; return false; } private boolean jj_3_8() { if (jj_3R_20()) return true; return false; } private boolean jj_3R_91() { if (jj_3R_124()) return true; Token xsp; xsp = jj_scanpos; if (jj_3_11()) { jj_scanpos = xsp; if (jj_scan_token(50)) return true; } return false; } private boolean jj_3R_86() { if (jj_3R_20()) return true; return false; } private boolean jj_3R_88() { Token xsp; xsp = jj_scanpos; if (jj_scan_token(35)) { jj_scanpos = xsp; if (jj_scan_token(19)) return true; } return false; } private boolean jj_3R_89() { if (jj_3R_20()) return true; return false; } private boolean jj_3R_87() { if (jj_3R_20()) return true; return false; } private boolean jj_3R_22() { Token xsp; xsp = jj_scanpos; if (jj_scan_token(43)) { jj_scanpos = xsp; if (jj_scan_token(44)) { jj_scanpos = xsp; if (jj_scan_token(37)) { jj_scanpos = xsp; if (jj_scan_token(47)) { jj_scanpos = xsp; if (jj_scan_token(40)) { jj_scanpos = xsp; if (jj_scan_token(36)) { jj_scanpos = xsp; if (jj_scan_token(24)) { jj_scanpos = xsp; if (jj_scan_token(31)) { jj_scanpos = xsp; if (jj_scan_token(21)) { jj_scanpos = xsp; if (jj_3R_49()) { jj_scanpos = xsp; if (jj_3R_50()) { jj_scanpos = xsp; jj_lookingAhead = true; jj_semLA = isType(getToken(1).image); jj_lookingAhead = false; if (!jj_semLA || jj_scan_token(50)) return true; } } } } } } } } } } } return false; } private boolean jj_3R_109() { if (jj_scan_token(59)) return true; if (jj_3R_38()) return true; if (jj_scan_token(60)) return true; return false; } private boolean jj_3R_48() { if (jj_3R_90()) return true; return false; } private boolean jj_3R_85() { Token xsp; xsp = jj_scanpos; if (jj_scan_token(42)) { jj_scanpos = xsp; if (jj_scan_token(20)) { jj_scanpos = xsp; if (jj_scan_token(30)) { jj_scanpos = xsp; if (jj_scan_token(28)) { jj_scanpos = xsp; if (jj_3R_121()) return true; } } } } return false; } private boolean jj_3R_118() { if (jj_scan_token(98)) return true; if (jj_scan_token(IDENTIFIER)) return true; return false; } private boolean jj_3R_117() { if (jj_scan_token(97)) return true; if (jj_scan_token(IDENTIFIER)) return true; return false; } private boolean jj_3_6() { if (jj_3R_19()) return true; return false; } private boolean jj_3R_46() { if (jj_3R_88()) return true; Token xsp; xsp = jj_scanpos; if (jj_3R_89()) jj_scanpos = xsp; return false; } private boolean jj_3R_82() { if (jj_scan_token(56)) return true; if (jj_3R_81()) return true; return false; } private boolean jj_3_10() { if (jj_3R_22()) return true; Token xsp; xsp = jj_scanpos; if (jj_3R_87()) jj_scanpos = xsp; return false; } private boolean jj_3_34() { if (jj_3R_41()) return true; return false; } private boolean jj_3R_45() { if (jj_3R_85()) return true; Token xsp; xsp = jj_scanpos; if (jj_3R_86()) jj_scanpos = xsp; return false; } private boolean jj_3R_20() { Token xsp; xsp = jj_scanpos; if (jj_3R_45()) { jj_scanpos = xsp; if (jj_3_10()) { jj_scanpos = xsp; if (jj_3R_46()) return true; } } return false; } private boolean jj_3R_47() { if (jj_3R_19()) return true; return false; } private boolean jj_3R_21() { Token xsp; if (jj_3R_47()) return true; while (true) { xsp = jj_scanpos; if (jj_3R_47()) { jj_scanpos = xsp; break; } } return false; } private boolean jj_3_4() { if (jj_3R_20()) return true; return false; } private boolean jj_3R_146() { if (jj_3R_41()) return true; return false; } private boolean jj_3_2() { if (jj_3R_18()) return true; return false; } private boolean jj_3R_19() { if (jj_3R_20()) return true; Token xsp; xsp = jj_scanpos; if (jj_3R_48()) jj_scanpos = xsp; if (jj_scan_token(53)) return true; return false; } private boolean jj_3R_116() { if (jj_scan_token(59)) return true; Token xsp; xsp = jj_scanpos; if (jj_3R_146()) jj_scanpos = xsp; if (jj_scan_token(60)) return true; return false; } private boolean jj_3R_80() { Token xsp; xsp = jj_scanpos; if (jj_3R_115()) { jj_scanpos = xsp; if (jj_3R_116()) { jj_scanpos = xsp; if (jj_3R_117()) { jj_scanpos = xsp; if (jj_3R_118()) { jj_scanpos = xsp; if (jj_scan_token(93)) { jj_scanpos = xsp; if (jj_scan_token(94)) return true; } } } } } return false; } private boolean jj_3R_115() { if (jj_scan_token(61)) return true; if (jj_3R_112()) return true; if (jj_scan_token(62)) return true; return false; } private boolean jj_3R_43() { if (jj_3R_20()) return true; return false; } private boolean jj_3R_18() { Token xsp; xsp = jj_scanpos; if (jj_3R_43()) jj_scanpos = xsp; if (jj_3R_26()) return true; xsp = jj_scanpos; if (jj_3_5()) jj_scanpos = xsp; if (jj_3R_44()) return true; return false; } private boolean jj_3R_42() { if (jj_3R_18()) return true; return false; } private boolean jj_3R_41() { if (jj_3R_81()) return true; Token xsp; while (true) { xsp = jj_scanpos; if (jj_3R_82()) { jj_scanpos = xsp; break; } } return false; } private boolean jj_3R_145() { Token xsp; xsp = jj_scanpos; if (jj_scan_token(7)) { jj_scanpos = xsp; if (jj_scan_token(11)) { jj_scanpos = xsp; if (jj_scan_token(13)) { jj_scanpos = xsp; if (jj_scan_token(14)) return true; } } } return false; } private boolean jj_3R_17() { Token xsp; xsp = jj_scanpos; if (jj_3R_42()) { jj_scanpos = xsp; if (jj_3_3()) return true; } return false; } private boolean jj_3R_114() { if (jj_scan_token(59)) return true; if (jj_3R_112()) return true; if (jj_scan_token(60)) return true; return false; } private boolean jj_3_32() { if (jj_3R_35()) return true; return false; } private boolean jj_3R_113() { if (jj_3R_145()) return true; return false; } private boolean jj_3_1() { if (jj_3R_17()) return true; return false; } private boolean jj_3R_79() { Token xsp; xsp = jj_scanpos; if (jj_scan_token(50)) { jj_scanpos = xsp; if (jj_3R_113()) { jj_scanpos = xsp; if (jj_3R_114()) return true; } } return false; } private boolean jj_3R_108() { if (jj_3R_35()) return true; return false; } private boolean jj_3R_40() { if (jj_3R_79()) return true; Token xsp; while (true) { xsp = jj_scanpos; if (jj_3R_80()) { jj_scanpos = xsp; break; } } return false; } private boolean jj_3R_183() { Token xsp; xsp = jj_scanpos; if (jj_scan_token(89)) { jj_scanpos = xsp; if (jj_scan_token(90)) return true; } if (jj_3R_179()) return true; return false; } private boolean jj_3R_107() { Token xsp; xsp = jj_scanpos; if (jj_scan_token(80)) { jj_scanpos = xsp; if (jj_scan_token(63)) { jj_scanpos = xsp; if (jj_scan_token(89)) { jj_scanpos = xsp; if (jj_scan_token(90)) { jj_scanpos = xsp; if (jj_scan_token(95)) { jj_scanpos = xsp; if (jj_scan_token(96)) return true; } } } } } return false; } private boolean jj_3R_184() { Token xsp; xsp = jj_scanpos; if (jj_scan_token(63)) { jj_scanpos = xsp; if (jj_scan_token(91)) { jj_scanpos = xsp; if (jj_scan_token(92)) return true; } } if (jj_3R_182()) return true; return false; } private boolean jj_3_31() { if (jj_scan_token(59)) return true; if (jj_3R_38()) return true; if (jj_scan_token(60)) return true; if (jj_3R_39()) return true; return false; } private boolean jj_3R_73() { if (jj_scan_token(SIZEOF)) return true; Token xsp; xsp = jj_scanpos; if (jj_3R_108()) { jj_scanpos = xsp; if (jj_3R_109()) return true; } return false; } private boolean jj_3R_72() { if (jj_3R_107()) return true; if (jj_3R_39()) return true; return false; } private boolean jj_3R_71() { if (jj_scan_token(94)) return true; if (jj_3R_35()) return true; return false; } private boolean jj_3R_70() { if (jj_scan_token(93)) return true; if (jj_3R_35()) return true; return false; } private boolean jj_3R_180() { Token xsp; xsp = jj_scanpos; if (jj_scan_token(87)) { jj_scanpos = xsp; if (jj_scan_token(88)) return true; } if (jj_3R_173()) return true; return false; } private boolean jj_3_33() { if (jj_3R_40()) return true; return false; } private boolean jj_3R_35() { Token xsp; xsp = jj_scanpos; if (jj_3_33()) { 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; } } } } return false; } private boolean jj_3R_78() { if (jj_3R_35()) return true; return false; } private boolean jj_3R_77() { if (jj_scan_token(59)) return true; if (jj_3R_38()) return true; if (jj_scan_token(60)) return true; if (jj_3R_39()) return true; return false; } private boolean jj_3R_174() { Token xsp; xsp = jj_scanpos; if (jj_scan_token(83)) { jj_scanpos = xsp; if (jj_scan_token(84)) { jj_scanpos = xsp; if (jj_scan_token(85)) { jj_scanpos = xsp; if (jj_scan_token(86)) return true; } } } if (jj_3R_170()) return true; return false; } private boolean jj_3R_171() { Token xsp; xsp = jj_scanpos; if (jj_scan_token(81)) { jj_scanpos = xsp; if (jj_scan_token(82)) return true; } if (jj_3R_164()) return true; return false; } private boolean jj_3R_39() { Token xsp; xsp = jj_scanpos; if (jj_3R_77()) { jj_scanpos = xsp; if (jj_3R_78()) return true; } return false; } private boolean jj_3R_182() { if (jj_3R_39()) return true; Token xsp; xsp = jj_scanpos; if (jj_3R_184()) jj_scanpos = xsp; return false; } private boolean jj_3R_165() { if (jj_scan_token(80)) return true; if (jj_3R_159()) return true; return false; } private boolean jj_3R_179() { if (jj_3R_182()) return true; Token xsp; xsp = jj_scanpos; if (jj_3R_183()) jj_scanpos = xsp; return false; } private boolean jj_3R_154() { if (jj_scan_token(78)) return true; if (jj_3R_143()) return true; return false; } private boolean jj_3R_173() { if (jj_3R_179()) return true; Token xsp; xsp = jj_scanpos; if (jj_3R_180()) jj_scanpos = xsp; return false; } private boolean jj_3R_160() { if (jj_scan_token(79)) return true; if (jj_3R_153()) return true; return false; } private boolean jj_3R_144() { if (jj_scan_token(77)) return true; if (jj_3R_110()) return true; return false; } private boolean jj_3R_170() { if (jj_3R_173()) return true; Token xsp; xsp = jj_scanpos; if (jj_3R_174()) jj_scanpos = xsp; return false; } private boolean jj_3R_164() { if (jj_3R_170()) return true; Token xsp; xsp = jj_scanpos; if (jj_3R_171()) jj_scanpos = xsp; return false; } private boolean jj_3R_111() { if (jj_scan_token(76)) return true; if (jj_3R_74()) return true; return false; } private boolean jj_3R_159() { if (jj_3R_164()) return true; Token xsp; xsp = jj_scanpos; if (jj_3R_165()) jj_scanpos = xsp; return false; } private boolean jj_3R_177() { if (jj_3R_112()) return true; return false; } private boolean jj_3R_153() { if (jj_3R_159()) return true; Token xsp; xsp = jj_scanpos; if (jj_3R_160()) jj_scanpos = xsp; return false; } private boolean jj_3R_75() { if (jj_scan_token(75)) return true; if (jj_3R_112()) return true; if (jj_scan_token(58)) return true; if (jj_3R_37()) return true; return false; } private boolean jj_3R_143() { if (jj_3R_153()) return true; Token xsp; xsp = jj_scanpos; if (jj_3R_154()) jj_scanpos = xsp; return false; } private boolean jj_3R_110() { if (jj_3R_143()) return true; Token xsp; xsp = jj_scanpos; if (jj_3R_144()) jj_scanpos = xsp; return false; } private boolean jj_3R_74() { if (jj_3R_110()) return true; Token xsp; xsp = jj_scanpos; if (jj_3R_111()) jj_scanpos = xsp; return false; } private boolean jj_3R_155() { if (jj_scan_token(56)) return true; if (jj_3R_81()) return true; return false; } private boolean jj_3R_176() { if (jj_3R_112()) return true; return false; } private boolean jj_3_28() { if (jj_scan_token(ELSE)) return true; if (jj_3R_34()) return true; return false; } private boolean jj_3R_102() { if (jj_3R_37()) return true; return false; } private boolean jj_3_29() { if (jj_3R_35()) return true; if (jj_3R_36()) return true; return false; } private boolean jj_3R_37() { if (jj_3R_74()) return true; Token xsp; xsp = jj_scanpos; if (jj_3R_75()) jj_scanpos = xsp; return false; } private boolean jj_3R_36() { Token xsp; xsp = jj_scanpos; if (jj_scan_token(57)) { jj_scanpos = xsp; if (jj_scan_token(65)) { jj_scanpos = xsp; if (jj_scan_token(66)) { jj_scanpos = xsp; if (jj_scan_token(67)) { jj_scanpos = xsp; if (jj_scan_token(68)) { jj_scanpos = xsp; if (jj_scan_token(69)) { jj_scanpos = xsp; if (jj_scan_token(70)) { jj_scanpos = xsp; if (jj_scan_token(71)) { jj_scanpos = xsp; if (jj_scan_token(72)) { jj_scanpos = xsp; if (jj_scan_token(73)) { jj_scanpos = xsp; if (jj_scan_token(74)) return true; } } } } } } } } } } return false; } private boolean jj_3R_178() { if (jj_3R_112()) return true; return false; } private boolean jj_3_30() { if (jj_3R_37()) return true; return false; } private boolean jj_3R_81() { Token xsp; xsp = jj_scanpos; if (jj_3R_119()) { jj_scanpos = xsp; if (jj_3_30()) return true; } return false; } private boolean jj_3R_119() { if (jj_3R_35()) return true; if (jj_3R_36()) return true; if (jj_3R_81()) return true; return false; } private boolean jj_3R_175() { if (jj_3R_112()) return true; return false; } private boolean jj_3R_112() { if (jj_3R_81()) return true; Token xsp; while (true) { xsp = jj_scanpos; if (jj_3R_155()) { jj_scanpos = xsp; break; } } return false; } private boolean jj_3R_142() { if (jj_scan_token(RETURN)) return true; Token xsp; xsp = jj_scanpos; if (jj_3R_178()) jj_scanpos = xsp; if (jj_scan_token(53)) return true; return false; } private boolean jj_3R_141() { if (jj_scan_token(BREAK)) return true; if (jj_scan_token(53)) return true; return false; } private boolean jj_3R_140() { if (jj_scan_token(CONTINUE)) return true; if (jj_scan_token(53)) return true; return false; } private boolean jj_3R_139() { if (jj_scan_token(GOTO)) return true; if (jj_scan_token(IDENTIFIER)) return true; if (jj_scan_token(53)) return true; return false; } private boolean jj_3R_106() { Token xsp; xsp = jj_scanpos; if (jj_3R_139()) { jj_scanpos = xsp; if (jj_3R_140()) { jj_scanpos = xsp; if (jj_3R_141()) { jj_scanpos = xsp; if (jj_3R_142()) return true; } } } return false; } private boolean jj_3R_138() { if (jj_scan_token(FOR)) return true; if (jj_scan_token(59)) return true; Token xsp; xsp = jj_scanpos; if (jj_3R_175()) jj_scanpos = xsp; if (jj_scan_token(53)) return true; xsp = jj_scanpos; if (jj_3R_176()) jj_scanpos = xsp; if (jj_scan_token(53)) return true; xsp = jj_scanpos; if (jj_3R_177()) jj_scanpos = xsp; if (jj_scan_token(60)) return true; if (jj_3R_34()) return true; return false; } private boolean jj_3R_137() { if (jj_scan_token(DO)) return true; if (jj_3R_34()) return true; if (jj_scan_token(WHILE)) return true; if (jj_scan_token(59)) return true; if (jj_3R_112()) return true; if (jj_scan_token(60)) return true; if (jj_scan_token(53)) return true; return false; } private boolean jj_3R_136() { if (jj_scan_token(WHILE)) return true; if (jj_scan_token(59)) return true; if (jj_3R_112()) return true; if (jj_scan_token(60)) return true; if (jj_3R_34()) return true; return false; } private boolean jj_3R_105() { Token xsp; xsp = jj_scanpos; if (jj_3R_136()) { jj_scanpos = xsp; if (jj_3R_137()) { jj_scanpos = xsp; if (jj_3R_138()) return true; } } return false; } private boolean jj_3_27() { if (jj_3R_21()) return true; return false; } private boolean jj_3R_135() { if (jj_scan_token(SWITCH)) return true; if (jj_scan_token(59)) return true; if (jj_3R_112()) return true; if (jj_scan_token(60)) return true; if (jj_3R_34()) return true; return false; } private boolean jj_3R_134() { if (jj_scan_token(IF)) return true; if (jj_scan_token(59)) return true; if (jj_3R_112()) return true; if (jj_scan_token(60)) return true; if (jj_3R_34()) return true; Token xsp; xsp = jj_scanpos; if (jj_3_28()) jj_scanpos = xsp; return false; } private boolean jj_3_25() { if (jj_3R_28()) return true; return false; } private boolean jj_3R_104() { Token xsp; xsp = jj_scanpos; if (jj_3R_134()) { jj_scanpos = xsp; if (jj_3R_135()) return true; } return false; } private boolean jj_3R_147() { if (jj_3R_34()) return true; return false; } private boolean jj_3R_168() { if (jj_scan_token(59)) return true; Token xsp; xsp = jj_scanpos; if (jj_3_25()) jj_scanpos = xsp; if (jj_scan_token(60)) return true; return false; } private boolean jj_3R_84() { if (jj_3R_120()) return true; return false; } private boolean jj_3R_120() { Token xsp; if (jj_3R_147()) return true; while (true) { xsp = jj_scanpos; if (jj_3R_147()) { jj_scanpos = xsp; break; } } return false; } private boolean jj_3R_83() { if (jj_3R_21()) return true; return false; } private boolean jj_3R_44() { if (jj_scan_token(54)) return true; Token xsp; xsp = jj_scanpos; if (jj_3R_83()) jj_scanpos = xsp; xsp = jj_scanpos; if (jj_3R_84()) jj_scanpos = xsp; if (jj_scan_token(55)) return true; return false; } private boolean jj_3R_152() { if (jj_3R_32()) return true; return false; } private boolean jj_3R_133() { if (jj_3R_112()) return true; return false; } private boolean jj_3R_129() { Token xsp; xsp = jj_scanpos; if (jj_3R_152()) jj_scanpos = xsp; return false; } private boolean jj_3R_103() { Token xsp; xsp = jj_scanpos; if (jj_3R_133()) jj_scanpos = xsp; if (jj_scan_token(53)) return true; return false; } private boolean jj_3R_64() { if (jj_scan_token(DFLT)) return true; if (jj_scan_token(58)) return true; if (jj_3R_34()) return true; return false; } private boolean jj_3R_63() { if (jj_scan_token(CASE)) return true; if (jj_3R_102()) return true; if (jj_scan_token(58)) return true; if (jj_3R_34()) return true; return false; } private boolean jj_3R_62() { if (jj_scan_token(IDENTIFIER)) return true; if (jj_scan_token(58)) return true; if (jj_3R_34()) return true; return false; } private boolean jj_3R_33() { Token xsp; xsp = jj_scanpos; if (jj_3R_62()) { jj_scanpos = xsp; if (jj_3R_63()) { jj_scanpos = xsp; if (jj_3R_64()) return true; } } return false; } private boolean jj_3_23() { if (jj_3R_28()) return true; return false; } private boolean jj_3R_166() { if (jj_3R_102()) return true; return false; } private boolean jj_3R_69() { if (jj_3R_106()) return true; return false; } private boolean jj_3R_68() { if (jj_3R_105()) return true; return false; } private boolean jj_3R_67() { if (jj_3R_104()) return true; return false; } private boolean jj_3R_66() { if (jj_3R_44()) return true; return false; } private boolean jj_3R_132() { if (jj_scan_token(59)) return true; Token xsp; xsp = jj_scanpos; if (jj_3_23()) jj_scanpos = xsp; if (jj_scan_token(60)) return true; return false; } private boolean jj_3R_65() { if (jj_3R_103()) return true; return false; } private boolean jj_3R_131() { if (jj_scan_token(61)) return true; Token xsp; xsp = jj_scanpos; if (jj_3R_166()) jj_scanpos = xsp; if (jj_scan_token(62)) return true; return false; } private boolean jj_3_26() { if (jj_3R_33()) return true; return false; } private boolean jj_3R_76() { if (jj_3R_32()) return true; return false; } private boolean jj_3R_172() { if (jj_3R_102()) return true; return false; } private boolean jj_3R_34() { Token xsp; xsp = jj_scanpos; if (jj_3_26()) { jj_scanpos = xsp; if (jj_3R_65()) { jj_scanpos = xsp; if (jj_3R_66()) { jj_scanpos = xsp; if (jj_3R_67()) { jj_scanpos = xsp; if (jj_3R_68()) { jj_scanpos = xsp; if (jj_3R_69()) return true; } } } } } return false; } private boolean jj_3R_167() { if (jj_scan_token(61)) return true; Token xsp; xsp = jj_scanpos; if (jj_3R_172()) jj_scanpos = xsp; if (jj_scan_token(62)) return true; return false; } private boolean jj_3R_161() { Token xsp; xsp = jj_scanpos; if (jj_3R_167()) { jj_scanpos = xsp; if (jj_3R_168()) return true; } return false; } private boolean jj_3_20() { if (jj_3R_26()) return true; return false; } private boolean jj_3_24() { if (jj_scan_token(59)) return true; if (jj_3R_32()) return true; if (jj_scan_token(60)) return true; return false; } private boolean jj_3R_101() { Token xsp; xsp = jj_scanpos; if (jj_3_24()) { jj_scanpos = xsp; if (jj_3R_131()) { jj_scanpos = xsp; if (jj_3R_132()) return true; } } while (true) { xsp = jj_scanpos; if (jj_3R_161()) { jj_scanpos = xsp; break; } } return false; } private boolean jj_3_21() { if (jj_scan_token(56)) return true; if (jj_3R_30()) return true; return false; } private boolean jj_3R_100() { if (jj_3R_31()) return true; return false; } private boolean jj_3R_61() { Token xsp; xsp = jj_scanpos; if (jj_3R_100()) jj_scanpos = xsp; if (jj_3R_101()) return true; return false; } private boolean jj_3_22() { if (jj_3R_31()) return true; return false; } private boolean jj_3R_32() { Token xsp; xsp = jj_scanpos; if (jj_3_22()) { jj_scanpos = xsp; if (jj_3R_61()) return true; } return false; } private boolean jj_3R_128() { if (jj_3R_26()) return true; return false; } private boolean jj_3R_38() { if (jj_3R_25()) return true; Token xsp; xsp = jj_scanpos; if (jj_3R_76()) jj_scanpos = xsp; return false; } private boolean jj_3R_163() { if (jj_scan_token(56)) return true; if (jj_scan_token(IDENTIFIER)) return true; return false; } private boolean jj_3_19() { if (jj_scan_token(56)) return true; if (jj_3R_29()) return true; return false; } private boolean jj_3R_169() { if (jj_3R_30()) return true; Token xsp; while (true) { xsp = jj_scanpos; if (jj_3_21()) { jj_scanpos = xsp; break; } } return false; } private boolean jj_3R_58() { if (jj_scan_token(54)) return true; if (jj_3R_169()) return true; Token xsp; xsp = jj_scanpos; if (jj_scan_token(56)) jj_scanpos = xsp; if (jj_scan_token(55)) return true; return false; } private boolean jj_3R_57() { if (jj_3R_81()) return true; return false; } private boolean jj_3R_30() { Token xsp; xsp = jj_scanpos; if (jj_3R_57()) { jj_scanpos = xsp; if (jj_3R_58()) return true; } return false; } private boolean jj_3R_60() { if (jj_3R_31()) return true; return false; } private boolean jj_3R_158() { if (jj_scan_token(56)) return true; if (jj_scan_token(64)) return true; return false; } private boolean jj_3R_157() { if (jj_scan_token(IDENTIFIER)) return true; Token xsp; while (true) { xsp = jj_scanpos; if (jj_3R_163()) { jj_scanpos = xsp; break; } } return false; } private boolean jj_3R_29() { if (jj_3R_20()) return true; Token xsp; xsp = jj_scanpos; if (jj_3R_128()) { jj_scanpos = xsp; if (jj_3R_129()) return true; } return false; } private boolean jj_3R_56() { if (jj_3R_29()) return true; Token xsp; while (true) { xsp = jj_scanpos; if (jj_3_19()) { jj_scanpos = xsp; break; } } return false; } /** Generated Token Manager. */ public CParserTokenManager token_source; SimpleCharStream jj_input_stream; /** Current token. */ public Token token; /** Next token. */ public Token jj_nt; private int jj_ntk; private Token jj_scanpos, jj_lastpos; private int jj_la; /** Whether we are looking ahead. */ private boolean jj_lookingAhead = false; private boolean jj_semLA; private int jj_gen; final private int[] jj_la1 = new int[81]; static private int[] jj_la1_0; static private int[] jj_la1_1; static private int[] jj_la1_2; static private int[] jj_la1_3; static { jj_la1_init_0(); jj_la1_init_1(); jj_la1_init_2(); jj_la1_init_3(); } private static void jj_la1_init_0() { jj_la1_0 = new int[] {0x0,0x50500000,0x80000,0x50500000,0xa1200000,0x80000,0x0,0x0,0x20000000,0x0,0x0,0x80000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x2006880,0x0,0x0,0x0,0x80000,0x0,0x80000,0x0,0x0,0x0,0x0,0x2006880,0x0,0x0,0x0,0x2006880,0x0,0x0,0x2006880,0x0,0xe046880,0x800000,0x2006880,0xe846880,0xe846880,0x4000000,0x2006880,0x2006880,0x2006880,0x0,0x2006880,0x8040000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x2006880,0x0,0x2000000,0x0,0x0,0x0,0x6880,0x0,0x6880,}; } private static void jj_la1_init_1() { jj_la1_1 = new int[] {0x88040000,0x400,0x8,0x400,0x9b34,0x8,0x40000,0x40000,0x4,0x1000000,0x2000000,0x8,0x1000000,0x88040000,0x8c040000,0x40000,0x40000,0x1000000,0x2000000,0x80000000,0x8040000,0x28000000,0x88040000,0x40000,0x20000000,0x8000000,0x8,0x80000000,0x8,0x1000000,0xa8000000,0x1000000,0x1000000,0x88440000,0xa8000000,0x80000000,0xa8000000,0x88040000,0x28000000,0x28000000,0x88040000,0x28000000,0x88676003,0x40080,0x88040000,0x88676083,0x88676083,0x10000,0x88040000,0x88040000,0x88040000,0x24001,0x88040000,0x2002,0x1000000,0x2000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x80000000,0x80000000,0x88040000,0x8000000,0x80000000,0x80000000,0x28000000,0x28000000,0x8040000,0x1000000,0x0,}; } private static void jj_la1_init_2() { jj_la1_2 = new int[] {0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xe6010000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xe6010000,0x0,0x0,0x0,0xe6010000,0x0,0x0,0xe6010000,0x0,0xe6010000,0x0,0xe6010000,0xe6010000,0xe6010000,0x0,0xe6010000,0xe6010000,0xe6010000,0x0,0xe6010000,0x0,0x0,0x7fe,0x800,0x1000,0x2000,0x4000,0x8000,0x10000,0x60000,0x60000,0x780000,0x780000,0x1800000,0x1800000,0x6000000,0x6000000,0x18000000,0x18000000,0xe6010000,0x0,0xe6010000,0x86010000,0x60000000,0x60000000,0x0,0x0,0x0,}; } private static void jj_la1_init_3() { jj_la1_3 = new int[] {0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x0,0x1,0x0,0x0,0x1,0x0,0x1,0x0,0x1,0x1,0x1,0x0,0x1,0x1,0x1,0x0,0x1,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x1,0x1,0x6,0x6,0x0,0x0,0x0,}; } final private JJCalls[] jj_2_rtns = new JJCalls[34]; private boolean jj_rescan = false; private int jj_gc = 0; /** Constructor with InputStream. */ public CParser(java.io.InputStream stream) { this(stream, null); } /** Constructor with InputStream and supplied encoding */ public CParser(java.io.InputStream stream, String encoding) { try { jj_input_stream = new SimpleCharStream(stream, encoding, 1, 1); } catch(java.io.UnsupportedEncodingException e) { throw new RuntimeException(e); } token_source = new CParserTokenManager(jj_input_stream); token = new Token(); jj_ntk = -1; jj_gen = 0; for (int i = 0; i < 81; i++) jj_la1[i] = -1; for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls(); } /** Reinitialise. */ public void ReInit(java.io.InputStream stream) { ReInit(stream, null); } /** Reinitialise. */ public void ReInit(java.io.InputStream stream, String encoding) { try { jj_input_stream.ReInit(stream, encoding, 1, 1); } catch(java.io.UnsupportedEncodingException e) { throw new RuntimeException(e); } token_source.ReInit(jj_input_stream); token = new Token(); jj_ntk = -1; jj_gen = 0; for (int i = 0; i < 81; i++) jj_la1[i] = -1; for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls(); } /** Constructor. */ public CParser(java.io.Reader stream) { jj_input_stream = new SimpleCharStream(stream, 1, 1); token_source = new CParserTokenManager(jj_input_stream); token = new Token(); jj_ntk = -1; jj_gen = 0; for (int i = 0; i < 81; i++) jj_la1[i] = -1; for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls(); } /** Reinitialise. */ 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 < 81; i++) jj_la1[i] = -1; for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls(); } /** Constructor with generated Token Manager. */ public CParser(CParserTokenManager tm) { token_source = tm; token = new Token(); jj_ntk = -1; jj_gen = 0; for (int i = 0; i < 81; i++) jj_la1[i] = -1; for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls(); } /** Reinitialise. */ public void ReInit(CParserTokenManager tm) { token_source = tm; token = new Token(); jj_ntk = -1; jj_gen = 0; for (int i = 0; i < 81; i++) jj_la1[i] = -1; for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls(); } 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 private final class LookaheadSuccess extends java.lang.Error { } final private LookaheadSuccess jj_ls = new LookaheadSuccess(); 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); } if (jj_scanpos.kind != kind) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) throw jj_ls; return false; } /** Get the next Token. */ 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; } /** Get the specific Token. */ final public Token getToken(int index) { Token t = jj_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; } 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); } private java.util.List<int[]> jj_expentries = new java.util.ArrayList<int[]>(); private int[] jj_expentry; private int jj_kind = -1; private int[] jj_lasttokens = new int[100]; private int jj_endpos; 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]; } jj_entries_loop: for (java.util.Iterator<?> it = jj_expentries.iterator(); it.hasNext();) { int[] oldentry = (int[])(it.next()); if (oldentry.length == jj_expentry.length) { for (int i = 0; i < jj_expentry.length; i++) { if (oldentry[i] != jj_expentry[i]) { continue jj_entries_loop; } } jj_expentries.add(jj_expentry); break jj_entries_loop; } } if (pos != 0) jj_lasttokens[(jj_endpos = pos) - 1] = kind; } } /** Generate ParseException. */ public ParseException generateParseException() { jj_expentries.clear(); boolean[] la1tokens = new boolean[99]; if (jj_kind >= 0) { la1tokens[jj_kind] = true; jj_kind = -1; } for (int i = 0; i < 81; 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 < 99; i++) { if (la1tokens[i]) { jj_expentry = new int[1]; jj_expentry[0] = i; jj_expentries.add(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] = jj_expentries.get(i); } return new ParseException(token, exptokseq, tokenImage); } /** Enable tracing. */ final public void enable_tracing() { } /** Disable tracing. */ final public void disable_tracing() { } private void jj_rescan_token() { jj_rescan = true; for (int i = 0; i < 34; i++) { try { 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; } } p = p.next; } while (p != null); } catch(LookaheadSuccess ls) { } } jj_rescan = false; } 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; } }