/* 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;
}
}