1 package org.gnunet.seaspider.parser;
2 /* Generated By:JavaCC: Do not edit this line. CParser.java */
4 import java.io.FileFilter;
5 import java.io.FileInputStream;
6 import java.io.FileNotFoundException;
8 import org.gnunet.seaspider.parser.nodes.*;
9 import org.gnunet.seaspider.parser.visitors.GNUnetDepthFirstVisitor;
11 public class GNUnetParser implements CParserConstants {
12 private static final boolean DEBUG = false;
14 public static void main(String args[])
16 GNUnetParser parser = null;
17 boolean isFirstFile = true;
18 int fileNotFoundCount = 0;
23 if (null == (databasePath = args[0])) {
24 System.out.println("Error: Missing Database Path argument. Program will exit now!");
28 System.out.println("C Parser Version 0.1Alpha: Reading from GNUnet source directory . . .");
29 String gnunetSourcePath = System.getenv("MAINDIR") + "/src";
31 /* Filtering out files */
32 FileFilter filter = new FileFilter() {
33 public boolean accept(File file) {
34 return file.isDirectory();
38 /* File filter to get only source and header files */
39 FileFilter sourceFilter = new FileFilter() {
40 public boolean accept(File file) {
41 String fileName = file.getName();
42 return (fileName.endsWith(".c") || fileName.endsWith(".h"));
46 /* Create the Expressions Database */
47 ExpressionDatabaseHandler.createExpressionDatabase(databasePath);
49 File[] dirArr = (new File(gnunetSourcePath)).listFiles(filter);
50 for (int i = 0; i < dirArr.length; i++) {
52 File[] fileArr = dir.listFiles(sourceFilter);
53 for (int j = 0; j < fileArr.length; j++) {
56 parser = new GNUnetParser(new FileInputStream(fileArr[j].getPath()));
60 parser.ReInit(new FileInputStream(fileArr[j].getPath()));
62 catch (FileNotFoundException e) {
67 System.out.println("Parsing file: " + dir + "/" + fileArr[j].getName());
68 Node root = parser.TranslationUnit();
69 root.accept(new GNUnetDepthFirstVisitor());
70 System.out.println("File " + dir + "/" + fileArr[j].getName() + " parsed successfully.");
73 catch (ParseException e) {
74 System.out.println("Encountered errors during parsing file " + fileArr[j].getName());
82 /* We're done with the Expression Database, close it */
83 ExpressionDatabaseHandler.closeDatabase();
85 System.out.println(successCount + " parsed successfully.");
86 System.out.println("Failed to parse " + failureCount + " files.");
87 System.out.println(fileNotFoundCount + " files not found.");
90 final public TranslationUnit TranslationUnit() throws ParseException {
91 NodeList n0 = new NodeList();
92 ExternalDeclaration n1;
95 n1 = ExternalDeclaration();
97 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
124 n0.nodes.trimToSize();
125 {if (true) return new TranslationUnit(n0);}
126 throw new Error("Missing return statement in function");
129 final public ExternalDeclaration ExternalDeclaration() throws ParseException {
130 NodeListOptional n0 = new NodeListOptional();
131 StorageClassSpecifier n1;
133 FunctionDeclaration n3;
134 StructOrUnionSpecifier n4;
135 VariableDeclaration n5;
139 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
148 n1 = StorageClassSpecifier();
151 n0.nodes.trimToSize();
152 if (jj_2_1(2147483647)) {
153 n3 = FunctionDeclaration();
154 n2 = new NodeChoice(n3, 0);
155 } else if (jj_2_2(2147483647)) {
156 n4 = StructOrUnionSpecifier();
157 n2 = new NodeChoice(n4, 1);
158 } else if (jj_2_3(2147483647)) {
159 n5 = VariableDeclaration();
160 n2 = new NodeChoice(n5, 2);
161 } else if (jj_2_4(2147483647)) {
162 n6 = TypeDeclaration();
163 n2 = new NodeChoice(n6, 3);
165 jj_consume_token(-1);
166 throw new ParseException();
168 {if (true) return new ExternalDeclaration(n0,n2);}
169 throw new Error("Missing return statement in function");
172 final public FunctionDeclaration FunctionDeclaration() throws ParseException {
178 NodeOptional n5 = new NodeOptional();
185 CompoundStatement n12;
186 n0 = TypeSpecifier();
187 n2 = jj_consume_token(IDENTIFIER);
188 n1 = JTBToolkit.makeNodeToken(n2);
189 n4 = jj_consume_token(55);
190 n3 = JTBToolkit.makeNodeToken(n4);
191 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
206 n6 = ParameterList();
213 n8 = jj_consume_token(56);
214 n7 = JTBToolkit.makeNodeToken(n8);
215 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
217 n11 = jj_consume_token(57);
218 n10 = JTBToolkit.makeNodeToken(n11);
219 n9 = new NodeChoice(n10, 0);
222 n12 = CompoundStatement();
223 n9 = new NodeChoice(n12, 1);
227 jj_consume_token(-1);
228 throw new ParseException();
230 {if (true) return new FunctionDeclaration(n0,n1,n3,n5,n7,n9);}
231 throw new Error("Missing return statement in function");
234 final public StorageClassSpecifier StorageClassSpecifier() throws ParseException {
240 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
242 n2 = jj_consume_token(STATIC);
243 n1 = JTBToolkit.makeNodeToken(n2);
244 n0 = new NodeChoice(n1, 0);
247 n4 = jj_consume_token(EXTERN);
248 n3 = JTBToolkit.makeNodeToken(n4);
249 n0 = new NodeChoice(n3, 1);
253 jj_consume_token(-1);
254 throw new ParseException();
256 {if (true) return new StorageClassSpecifier(n0);}
257 throw new Error("Missing return statement in function");
260 final public TypeDeclaration TypeDeclaration() throws ParseException {
268 n1 = jj_consume_token(TYPEDEF);
269 n0 = JTBToolkit.makeNodeToken(n1);
270 if (jj_2_5(2147483647)) {
272 n2 = new NodeChoice(n3, 0);
274 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
290 n2 = new NodeChoice(n4, 1);
294 jj_consume_token(-1);
295 throw new ParseException();
298 n6 = jj_consume_token(57);
299 n5 = JTBToolkit.makeNodeToken(n6);
300 {if (true) return new TypeDeclaration(n0,n2,n5);}
301 throw new Error("Missing return statement in function");
304 final public DataType DataType() throws ParseException {
305 StructOrUnionSpecifier n0;
308 n0 = StructOrUnionSpecifier();
309 n2 = jj_consume_token(IDENTIFIER);
310 n1 = JTBToolkit.makeNodeToken(n2);
311 {if (true) return new DataType(n0,n1);}
312 throw new Error("Missing return statement in function");
315 final public FunctionType FunctionType() throws ParseException {
327 NodeOptional n11 = new NodeOptional();
331 n0 = TypeSpecifier();
332 n2 = jj_consume_token(55);
333 n1 = JTBToolkit.makeNodeToken(n2);
334 n4 = jj_consume_token(58);
335 n3 = JTBToolkit.makeNodeToken(n4);
336 n6 = jj_consume_token(IDENTIFIER);
337 n5 = JTBToolkit.makeNodeToken(n6);
338 n8 = jj_consume_token(56);
339 n7 = JTBToolkit.makeNodeToken(n8);
340 n10 = jj_consume_token(55);
341 n9 = JTBToolkit.makeNodeToken(n10);
342 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
357 n12 = ParameterList();
364 n14 = jj_consume_token(56);
365 n13 = JTBToolkit.makeNodeToken(n14);
366 {if (true) return new FunctionType(n0,n1,n3,n5,n7,n9,n11,n13);}
367 throw new Error("Missing return statement in function");
370 final public ParameterList ParameterList() throws ParseException {
371 ParameterDeclaration n0;
372 NodeListOptional n1 = new NodeListOptional();
376 ParameterDeclaration n5;
377 NodeOptional n6 = new NodeOptional();
383 n0 = ParameterDeclaration();
391 n2 = new NodeSequence(2);
392 n4 = jj_consume_token(59);
393 n3 = JTBToolkit.makeNodeToken(n4);
395 n5 = ParameterDeclaration();
399 n1.nodes.trimToSize();
400 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
402 n7 = new NodeSequence(2);
403 n9 = jj_consume_token(59);
404 n8 = JTBToolkit.makeNodeToken(n9);
406 n11 = jj_consume_token(60);
407 n10 = JTBToolkit.makeNodeToken(n11);
415 {if (true) return new ParameterList(n0,n1,n6);}
416 throw new Error("Missing return statement in function");
419 final public ParameterDeclaration ParameterDeclaration() throws ParseException {
423 NodeOptional n3 = new NodeOptional();
425 n0 = TypeSpecifier();
426 n2 = jj_consume_token(IDENTIFIER);
427 n1 = JTBToolkit.makeNodeToken(n2);
428 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
437 {if (true) return new ParameterDeclaration(n0,n1,n3);}
438 throw new Error("Missing return statement in function");
441 final public VariableDeclaration VariableDeclaration() throws ParseException {
442 VariableClassSpecifier n0;
444 InitDeclaratorList n2;
447 n0 = VariableClassSpecifier();
448 n1 = TypeSpecifier();
449 n2 = InitDeclaratorList();
450 n4 = jj_consume_token(57);
451 n3 = JTBToolkit.makeNodeToken(n4);
452 {if (true) return new VariableDeclaration(n0,n1,n2,n3);}
453 throw new Error("Missing return statement in function");
456 final public LocalVariableDeclaration LocalVariableDeclaration() throws ParseException {
457 NodeOptional n0 = new NodeOptional();
460 VariableDeclaration n3;
461 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
463 n2 = jj_consume_token(STATIC);
464 n1 = JTBToolkit.makeNodeToken(n2);
471 n3 = VariableDeclaration();
472 {if (true) return new LocalVariableDeclaration(n0,n3);}
473 throw new Error("Missing return statement in function");
476 final public VariableClassSpecifier VariableClassSpecifier() throws ParseException {
477 NodeListOptional n0 = new NodeListOptional();
485 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
494 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
496 n3 = jj_consume_token(AUTO);
497 n2 = JTBToolkit.makeNodeToken(n3);
498 n1 = new NodeChoice(n2, 0);
501 n5 = jj_consume_token(REGISTER);
502 n4 = JTBToolkit.makeNodeToken(n5);
503 n1 = new NodeChoice(n4, 1);
507 jj_consume_token(-1);
508 throw new ParseException();
512 n0.nodes.trimToSize();
513 {if (true) return new VariableClassSpecifier(n0);}
514 throw new Error("Missing return statement in function");
517 final public TypeSpecifier TypeSpecifier() throws ParseException {
518 NodeOptional n0 = new NodeOptional();
529 NodeOptional n11 = new NodeOptional();
537 NodeOptional n19 = new NodeOptional();
550 NodeOptional n32 = new NodeOptional();
568 StructOrUnionSpecifier n50;
572 NodeOptional n54 = new NodeOptional();
574 NodeOptional n56 = new NodeOptional();
576 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
578 n2 = jj_consume_token(CONST);
579 n1 = JTBToolkit.makeNodeToken(n2);
586 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
588 n5 = jj_consume_token(VOID);
589 n4 = JTBToolkit.makeNodeToken(n5);
590 n3 = new NodeChoice(n4, 0);
593 n7 = jj_consume_token(CHAR);
594 n6 = JTBToolkit.makeNodeToken(n7);
595 n3 = new NodeChoice(n6, 1);
598 n8 = new NodeSequence(2);
599 n10 = jj_consume_token(SHORT);
600 n9 = JTBToolkit.makeNodeToken(n10);
602 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
604 n13 = jj_consume_token(INT);
605 n12 = JTBToolkit.makeNodeToken(n13);
613 n3 = new NodeChoice(n8, 2);
616 n15 = jj_consume_token(INT);
617 n14 = JTBToolkit.makeNodeToken(n15);
618 n3 = new NodeChoice(n14, 3);
621 n16 = new NodeSequence(2);
622 n18 = jj_consume_token(LONG);
623 n17 = JTBToolkit.makeNodeToken(n18);
625 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
627 n21 = jj_consume_token(LONG);
628 n20 = JTBToolkit.makeNodeToken(n21);
636 n3 = new NodeChoice(n16, 4);
639 n23 = jj_consume_token(FLOAT);
640 n22 = JTBToolkit.makeNodeToken(n23);
641 n3 = new NodeChoice(n22, 5);
644 n25 = jj_consume_token(DOUBLE);
645 n24 = JTBToolkit.makeNodeToken(n25);
646 n3 = new NodeChoice(n24, 6);
650 n26 = new NodeSequence(2);
651 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
653 n29 = jj_consume_token(SIGNED);
654 n28 = JTBToolkit.makeNodeToken(n29);
655 n27 = new NodeChoice(n28, 0);
658 n31 = jj_consume_token(UNSIGNED);
659 n30 = JTBToolkit.makeNodeToken(n31);
660 n27 = new NodeChoice(n30, 1);
664 jj_consume_token(-1);
665 throw new ParseException();
668 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
673 n39 = new NodeOptional();
674 n47 = new NodeOptional();
675 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
677 n35 = jj_consume_token(CHAR);
678 n34 = JTBToolkit.makeNodeToken(n35);
679 n33 = new NodeChoice(n34, 0);
682 n36 = new NodeSequence(2);
683 n38 = jj_consume_token(SHORT);
684 n37 = JTBToolkit.makeNodeToken(n38);
686 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
688 n41 = jj_consume_token(INT);
689 n40 = JTBToolkit.makeNodeToken(n41);
697 n33 = new NodeChoice(n36, 1);
700 n43 = jj_consume_token(INT);
701 n42 = JTBToolkit.makeNodeToken(n43);
702 n33 = new NodeChoice(n42, 2);
705 n44 = new NodeSequence(2);
706 n46 = jj_consume_token(LONG);
707 n45 = JTBToolkit.makeNodeToken(n46);
709 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
711 n49 = jj_consume_token(LONG);
712 n48 = JTBToolkit.makeNodeToken(n49);
720 n33 = new NodeChoice(n44, 3);
724 jj_consume_token(-1);
725 throw new ParseException();
734 n3 = new NodeChoice(n26, 7);
738 n50 = StructOrUnionSpecifier();
739 n3 = new NodeChoice(n50, 8);
742 n51 = EnumSpecifier();
743 n3 = new NodeChoice(n51, 9);
746 n53 = jj_consume_token(IDENTIFIER);
747 n52 = JTBToolkit.makeNodeToken(n53);
748 n3 = new NodeChoice(n52, 10);
752 jj_consume_token(-1);
753 throw new ParseException();
755 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
764 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
773 {if (true) return new TypeSpecifier(n0,n3,n54,n56);}
774 throw new Error("Missing return statement in function");
777 final public NoIdentifierTypeSpecifier NoIdentifierTypeSpecifier() throws ParseException {
778 NodeOptional n0 = new NodeOptional();
789 NodeOptional n11 = new NodeOptional();
797 NodeOptional n19 = new NodeOptional();
810 NodeOptional n32 = new NodeOptional();
828 StructOrUnionSpecifier n50;
830 NodeOptional n52 = new NodeOptional();
832 NodeOptional n54 = new NodeOptional();
834 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
836 n2 = jj_consume_token(CONST);
837 n1 = JTBToolkit.makeNodeToken(n2);
844 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
846 n5 = jj_consume_token(VOID);
847 n4 = JTBToolkit.makeNodeToken(n5);
848 n3 = new NodeChoice(n4, 0);
851 n7 = jj_consume_token(CHAR);
852 n6 = JTBToolkit.makeNodeToken(n7);
853 n3 = new NodeChoice(n6, 1);
856 n8 = new NodeSequence(2);
857 n10 = jj_consume_token(SHORT);
858 n9 = JTBToolkit.makeNodeToken(n10);
860 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
862 n13 = jj_consume_token(INT);
863 n12 = JTBToolkit.makeNodeToken(n13);
871 n3 = new NodeChoice(n8, 2);
874 n15 = jj_consume_token(INT);
875 n14 = JTBToolkit.makeNodeToken(n15);
876 n3 = new NodeChoice(n14, 3);
879 n16 = new NodeSequence(2);
880 n18 = jj_consume_token(LONG);
881 n17 = JTBToolkit.makeNodeToken(n18);
883 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
885 n21 = jj_consume_token(LONG);
886 n20 = JTBToolkit.makeNodeToken(n21);
894 n3 = new NodeChoice(n16, 4);
897 n23 = jj_consume_token(FLOAT);
898 n22 = JTBToolkit.makeNodeToken(n23);
899 n3 = new NodeChoice(n22, 5);
902 n25 = jj_consume_token(DOUBLE);
903 n24 = JTBToolkit.makeNodeToken(n25);
904 n3 = new NodeChoice(n24, 6);
908 n26 = new NodeSequence(2);
909 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
911 n29 = jj_consume_token(SIGNED);
912 n28 = JTBToolkit.makeNodeToken(n29);
913 n27 = new NodeChoice(n28, 0);
916 n31 = jj_consume_token(UNSIGNED);
917 n30 = JTBToolkit.makeNodeToken(n31);
918 n27 = new NodeChoice(n30, 1);
922 jj_consume_token(-1);
923 throw new ParseException();
926 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
931 n39 = new NodeOptional();
932 n47 = new NodeOptional();
933 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
935 n35 = jj_consume_token(CHAR);
936 n34 = JTBToolkit.makeNodeToken(n35);
937 n33 = new NodeChoice(n34, 0);
940 n36 = new NodeSequence(2);
941 n38 = jj_consume_token(SHORT);
942 n37 = JTBToolkit.makeNodeToken(n38);
944 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
946 n41 = jj_consume_token(INT);
947 n40 = JTBToolkit.makeNodeToken(n41);
955 n33 = new NodeChoice(n36, 1);
958 n43 = jj_consume_token(INT);
959 n42 = JTBToolkit.makeNodeToken(n43);
960 n33 = new NodeChoice(n42, 2);
963 n44 = new NodeSequence(2);
964 n46 = jj_consume_token(LONG);
965 n45 = JTBToolkit.makeNodeToken(n46);
967 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
969 n49 = jj_consume_token(LONG);
970 n48 = JTBToolkit.makeNodeToken(n49);
978 n33 = new NodeChoice(n44, 3);
982 jj_consume_token(-1);
983 throw new ParseException();
992 n3 = new NodeChoice(n26, 7);
996 n50 = StructOrUnionSpecifier();
997 n3 = new NodeChoice(n50, 8);
1000 n51 = EnumSpecifier();
1001 n3 = new NodeChoice(n51, 9);
1004 jj_la1[31] = jj_gen;
1005 jj_consume_token(-1);
1006 throw new ParseException();
1008 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1014 jj_la1[32] = jj_gen;
1017 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1023 jj_la1[33] = jj_gen;
1026 {if (true) return new NoIdentifierTypeSpecifier(n0,n3,n52,n54);}
1027 throw new Error("Missing return statement in function");
1030 final public StructOrUnionSpecifier StructOrUnionSpecifier() throws ParseException {
1034 NodeOptional n3 = new NodeOptional();
1039 StructDeclarationList n8;
1047 n1 = new NodeSequence(6);
1048 n2 = StructOrUnion();
1050 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1052 n5 = jj_consume_token(IDENTIFIER);
1053 n4 = JTBToolkit.makeNodeToken(n5);
1057 jj_la1[34] = jj_gen;
1061 n7 = jj_consume_token(61);
1062 n6 = JTBToolkit.makeNodeToken(n7);
1064 n8 = StructDeclarationList();
1066 n10 = jj_consume_token(62);
1067 n9 = JTBToolkit.makeNodeToken(n10);
1069 n0 = new NodeChoice(n1, 0);
1071 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1074 n11 = new NodeSequence(2);
1075 n12 = StructOrUnion();
1077 n14 = jj_consume_token(IDENTIFIER);
1078 n13 = JTBToolkit.makeNodeToken(n14);
1080 n0 = new NodeChoice(n11, 1);
1083 jj_la1[35] = jj_gen;
1084 jj_consume_token(-1);
1085 throw new ParseException();
1088 {if (true) return new StructOrUnionSpecifier(n0);}
1089 throw new Error("Missing return statement in function");
1092 final public StructOrUnion StructOrUnion() throws ParseException {
1098 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1100 n2 = jj_consume_token(STRUCT);
1101 n1 = JTBToolkit.makeNodeToken(n2);
1102 n0 = new NodeChoice(n1, 0);
1105 n4 = jj_consume_token(UNION);
1106 n3 = JTBToolkit.makeNodeToken(n4);
1107 n0 = new NodeChoice(n3, 1);
1110 jj_la1[36] = jj_gen;
1111 jj_consume_token(-1);
1112 throw new ParseException();
1114 {if (true) return new StructOrUnion(n0);}
1115 throw new Error("Missing return statement in function");
1118 final public StructDeclarationList StructDeclarationList() throws ParseException {
1119 NodeList n0 = new NodeList();
1120 StructDeclaration n1;
1123 n1 = StructDeclaration();
1125 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1143 jj_la1[37] = jj_gen;
1147 n0.nodes.trimToSize();
1148 {if (true) return new StructDeclarationList(n0);}
1149 throw new Error("Missing return statement in function");
1152 final public InitDeclaratorList InitDeclaratorList() throws ParseException {
1154 NodeListOptional n1 = new NodeListOptional();
1159 n0 = InitDeclarator();
1162 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1167 jj_la1[38] = jj_gen;
1170 n2 = new NodeSequence(2);
1171 n4 = jj_consume_token(59);
1172 n3 = JTBToolkit.makeNodeToken(n4);
1174 n5 = InitDeclarator();
1178 n1.nodes.trimToSize();
1179 {if (true) return new InitDeclaratorList(n0,n1);}
1180 throw new Error("Missing return statement in function");
1183 final public InitDeclarator InitDeclarator() throws ParseException {
1186 NodeOptional n2 = new NodeOptional();
1188 NodeOptional n4 = new NodeOptional();
1193 n1 = jj_consume_token(IDENTIFIER);
1194 n0 = JTBToolkit.makeNodeToken(n1);
1195 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1201 jj_la1[39] = jj_gen;
1204 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1206 n5 = new NodeSequence(2);
1207 n7 = jj_consume_token(63);
1208 n6 = JTBToolkit.makeNodeToken(n7);
1215 jj_la1[40] = jj_gen;
1218 {if (true) return new InitDeclarator(n0,n2,n4);}
1219 throw new Error("Missing return statement in function");
1222 final public StructDeclaration StructDeclaration() throws ParseException {
1226 NodeOptional n3 = new NodeOptional();
1232 ConstantExpression n9;
1233 NodeOptional n10 = new NodeOptional();
1238 n0 = TypeSpecifier();
1239 n2 = jj_consume_token(IDENTIFIER);
1240 n1 = JTBToolkit.makeNodeToken(n2);
1241 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1244 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1247 n4 = new NodeChoice(n5, 0);
1250 n6 = new NodeSequence(2);
1251 n8 = jj_consume_token(64);
1252 n7 = JTBToolkit.makeNodeToken(n8);
1254 n9 = ConstantExpression();
1256 n4 = new NodeChoice(n6, 1);
1259 jj_la1[41] = jj_gen;
1260 jj_consume_token(-1);
1261 throw new ParseException();
1266 jj_la1[42] = jj_gen;
1269 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1271 n12 = jj_consume_token(IDENTIFIER);
1272 n11 = JTBToolkit.makeNodeToken(n12);
1276 jj_la1[43] = jj_gen;
1279 n14 = jj_consume_token(57);
1280 n13 = JTBToolkit.makeNodeToken(n14);
1281 {if (true) return new StructDeclaration(n0,n1,n3,n10,n13);}
1282 throw new Error("Missing return statement in function");
1285 final public EnumSpecifier EnumSpecifier() throws ParseException {
1290 NodeOptional n4 = new NodeOptional();
1300 n1 = jj_consume_token(ENUM);
1301 n0 = JTBToolkit.makeNodeToken(n1);
1303 n3 = new NodeSequence(5);
1304 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1306 n6 = jj_consume_token(IDENTIFIER);
1307 n5 = JTBToolkit.makeNodeToken(n6);
1311 jj_la1[44] = jj_gen;
1315 n8 = jj_consume_token(61);
1316 n7 = JTBToolkit.makeNodeToken(n8);
1318 n9 = EnumeratorList();
1320 n11 = jj_consume_token(62);
1321 n10 = JTBToolkit.makeNodeToken(n11);
1323 n2 = new NodeChoice(n3, 0);
1325 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1327 n13 = jj_consume_token(IDENTIFIER);
1328 n12 = JTBToolkit.makeNodeToken(n13);
1329 n2 = new NodeChoice(n12, 1);
1332 jj_la1[45] = jj_gen;
1333 jj_consume_token(-1);
1334 throw new ParseException();
1337 {if (true) return new EnumSpecifier(n0,n2);}
1338 throw new Error("Missing return statement in function");
1341 final public EnumeratorList EnumeratorList() throws ParseException {
1343 NodeListOptional n1 = new NodeListOptional();
1351 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1356 jj_la1[46] = jj_gen;
1359 n2 = new NodeSequence(2);
1360 n4 = jj_consume_token(59);
1361 n3 = JTBToolkit.makeNodeToken(n4);
1367 n1.nodes.trimToSize();
1368 {if (true) return new EnumeratorList(n0,n1);}
1369 throw new Error("Missing return statement in function");
1372 final public Enumerator Enumerator() throws ParseException {
1375 NodeOptional n2 = new NodeOptional();
1379 ConstantExpression n6;
1380 n1 = jj_consume_token(IDENTIFIER);
1381 n0 = JTBToolkit.makeNodeToken(n1);
1382 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1384 n3 = new NodeSequence(2);
1385 n5 = jj_consume_token(63);
1386 n4 = JTBToolkit.makeNodeToken(n5);
1388 n6 = ConstantExpression();
1393 jj_la1[47] = jj_gen;
1396 {if (true) return new Enumerator(n0,n2);}
1397 throw new Error("Missing return statement in function");
1400 final public Pointer Pointer() throws ParseException {
1403 NodeOptional n2 = new NodeOptional();
1406 NodeOptional n5 = new NodeOptional();
1408 n1 = jj_consume_token(58);
1409 n0 = JTBToolkit.makeNodeToken(n1);
1410 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1412 n4 = jj_consume_token(CONST);
1413 n3 = JTBToolkit.makeNodeToken(n4);
1417 jj_la1[48] = jj_gen;
1420 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1426 jj_la1[49] = jj_gen;
1429 {if (true) return new Pointer(n0,n2,n5);}
1430 throw new Error("Missing return statement in function");
1433 final public IdentifierList IdentifierList() throws ParseException {
1436 NodeListOptional n2 = new NodeListOptional();
1442 n1 = jj_consume_token(IDENTIFIER);
1443 n0 = JTBToolkit.makeNodeToken(n1);
1446 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1451 jj_la1[50] = jj_gen;
1454 n3 = new NodeSequence(2);
1455 n5 = jj_consume_token(59);
1456 n4 = JTBToolkit.makeNodeToken(n5);
1458 n7 = jj_consume_token(IDENTIFIER);
1459 n6 = JTBToolkit.makeNodeToken(n7);
1463 n2.nodes.trimToSize();
1464 {if (true) return new IdentifierList(n0,n2);}
1465 throw new Error("Missing return statement in function");
1468 final public Initializer Initializer() throws ParseException {
1470 AssignmentExpression n1;
1475 NodeOptional n6 = new NodeOptional();
1480 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1481 case INTEGER_LITERAL:
1482 case FLOATING_POINT_LITERAL:
1483 case CHARACTER_LITERAL:
1484 case STRING_LITERAL:
1496 n1 = AssignmentExpression();
1497 n0 = new NodeChoice(n1, 0);
1500 n2 = new NodeSequence(4);
1501 n4 = jj_consume_token(61);
1502 n3 = JTBToolkit.makeNodeToken(n4);
1504 n5 = InitializerList();
1506 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1508 n8 = jj_consume_token(59);
1509 n7 = JTBToolkit.makeNodeToken(n8);
1513 jj_la1[51] = jj_gen;
1517 n10 = jj_consume_token(62);
1518 n9 = JTBToolkit.makeNodeToken(n10);
1520 n0 = new NodeChoice(n2, 1);
1523 jj_la1[52] = jj_gen;
1524 jj_consume_token(-1);
1525 throw new ParseException();
1527 {if (true) return new Initializer(n0);}
1528 throw new Error("Missing return statement in function");
1531 final public InitializerList InitializerList() throws ParseException {
1533 NodeListOptional n1 = new NodeListOptional();
1546 n2 = new NodeSequence(2);
1547 n4 = jj_consume_token(59);
1548 n3 = JTBToolkit.makeNodeToken(n4);
1554 n1.nodes.trimToSize();
1555 {if (true) return new InitializerList(n0,n1);}
1556 throw new Error("Missing return statement in function");
1559 final public Array Array() throws ParseException {
1562 NodeOptional n2 = new NodeOptional();
1563 ConstantExpression n3;
1566 n1 = jj_consume_token(65);
1567 n0 = JTBToolkit.makeNodeToken(n1);
1568 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1569 case INTEGER_LITERAL:
1570 case FLOATING_POINT_LITERAL:
1571 case CHARACTER_LITERAL:
1572 case STRING_LITERAL:
1584 n3 = ConstantExpression();
1588 jj_la1[53] = jj_gen;
1591 n5 = jj_consume_token(66);
1592 n4 = JTBToolkit.makeNodeToken(n5);
1593 {if (true) return new Array(n0,n2,n4);}
1594 throw new Error("Missing return statement in function");
1597 final public Statement Statement() throws ParseException {
1599 LabeledStatement n1;
1600 ExpressionStatement n2;
1601 CompoundStatement n3;
1602 SelectionStatement n4;
1603 IterationStatement n5;
1606 n1 = LabeledStatement();
1607 n0 = new NodeChoice(n1, 0);
1609 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1610 case INTEGER_LITERAL:
1611 case FLOATING_POINT_LITERAL:
1612 case CHARACTER_LITERAL:
1613 case STRING_LITERAL:
1626 n2 = ExpressionStatement();
1627 n0 = new NodeChoice(n2, 1);
1630 n3 = CompoundStatement();
1631 n0 = new NodeChoice(n3, 2);
1635 n4 = SelectionStatement();
1636 n0 = new NodeChoice(n4, 3);
1641 n5 = IterationStatement();
1642 n0 = new NodeChoice(n5, 4);
1648 n6 = JumpStatement();
1649 n0 = new NodeChoice(n6, 5);
1652 jj_la1[54] = jj_gen;
1653 jj_consume_token(-1);
1654 throw new ParseException();
1657 {if (true) return new Statement(n0);}
1658 throw new Error("Missing return statement in function");
1661 final public LabeledStatement LabeledStatement() throws ParseException {
1672 ConstantExpression n10;
1682 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1684 n1 = new NodeSequence(3);
1685 n3 = jj_consume_token(IDENTIFIER);
1686 n2 = JTBToolkit.makeNodeToken(n3);
1688 n5 = jj_consume_token(64);
1689 n4 = JTBToolkit.makeNodeToken(n5);
1693 n0 = new NodeChoice(n1, 0);
1696 n7 = new NodeSequence(4);
1697 n9 = jj_consume_token(CASE);
1698 n8 = JTBToolkit.makeNodeToken(n9);
1700 n10 = ConstantExpression();
1702 n12 = jj_consume_token(64);
1703 n11 = JTBToolkit.makeNodeToken(n12);
1707 n0 = new NodeChoice(n7, 1);
1710 n14 = new NodeSequence(3);
1711 n16 = jj_consume_token(DFLT);
1712 n15 = JTBToolkit.makeNodeToken(n16);
1714 n18 = jj_consume_token(64);
1715 n17 = JTBToolkit.makeNodeToken(n18);
1719 n0 = new NodeChoice(n14, 2);
1722 jj_la1[55] = jj_gen;
1723 jj_consume_token(-1);
1724 throw new ParseException();
1726 {if (true) return new LabeledStatement(n0);}
1727 throw new Error("Missing return statement in function");
1730 final public ExpressionStatement ExpressionStatement() throws ParseException {
1731 NodeOptional n0 = new NodeOptional();
1735 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1736 case INTEGER_LITERAL:
1737 case FLOATING_POINT_LITERAL:
1738 case CHARACTER_LITERAL:
1739 case STRING_LITERAL:
1755 jj_la1[56] = jj_gen;
1758 n3 = jj_consume_token(57);
1759 n2 = JTBToolkit.makeNodeToken(n3);
1760 {if (true) return new ExpressionStatement(n0,n2);}
1761 throw new Error("Missing return statement in function");
1764 final public CompoundStatement CompoundStatement() throws ParseException {
1767 NodeListOptional n2 = new NodeListOptional();
1769 LocalVariableDeclaration n4;
1773 n1 = jj_consume_token(61);
1774 n0 = JTBToolkit.makeNodeToken(n1);
1777 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1778 case INTEGER_LITERAL:
1779 case FLOATING_POINT_LITERAL:
1780 case CHARACTER_LITERAL:
1781 case STRING_LITERAL:
1825 jj_la1[57] = jj_gen;
1828 if (jj_2_11(2147483647)) {
1829 n4 = LocalVariableDeclaration();
1830 n3 = new NodeChoice(n4, 0);
1832 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1833 case INTEGER_LITERAL:
1834 case FLOATING_POINT_LITERAL:
1835 case CHARACTER_LITERAL:
1836 case STRING_LITERAL:
1862 n3 = new NodeChoice(n5, 1);
1865 jj_la1[58] = jj_gen;
1866 jj_consume_token(-1);
1867 throw new ParseException();
1872 n2.nodes.trimToSize();
1873 n7 = jj_consume_token(62);
1874 n6 = JTBToolkit.makeNodeToken(n7);
1875 {if (true) return new CompoundStatement(n0,n2,n6);}
1876 throw new Error("Missing return statement in function");
1879 final public SelectionStatement SelectionStatement() throws ParseException {
1890 NodeOptional n10 = new NodeOptional();
1904 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1906 n1 = new NodeSequence(6);
1907 n3 = jj_consume_token(IF);
1908 n2 = JTBToolkit.makeNodeToken(n3);
1910 n5 = jj_consume_token(55);
1911 n4 = JTBToolkit.makeNodeToken(n5);
1915 n8 = jj_consume_token(56);
1916 n7 = JTBToolkit.makeNodeToken(n8);
1921 n11 = new NodeSequence(2);
1922 n13 = jj_consume_token(ELSE);
1923 n12 = JTBToolkit.makeNodeToken(n13);
1932 n0 = new NodeChoice(n1, 0);
1935 n15 = new NodeSequence(5);
1936 n17 = jj_consume_token(SWITCH);
1937 n16 = JTBToolkit.makeNodeToken(n17);
1939 n19 = jj_consume_token(55);
1940 n18 = JTBToolkit.makeNodeToken(n19);
1944 n22 = jj_consume_token(56);
1945 n21 = JTBToolkit.makeNodeToken(n22);
1949 n0 = new NodeChoice(n15, 1);
1952 jj_la1[59] = jj_gen;
1953 jj_consume_token(-1);
1954 throw new ParseException();
1956 {if (true) return new SelectionStatement(n0);}
1957 throw new Error("Missing return statement in function");
1960 final public IterationStatement IterationStatement() throws ParseException {
1989 NodeOptional n28 = new NodeOptional();
1993 NodeOptional n32 = new NodeOptional();
1997 NodeOptional n36 = new NodeOptional();
2002 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2004 n1 = new NodeSequence(5);
2005 n3 = jj_consume_token(WHILE);
2006 n2 = JTBToolkit.makeNodeToken(n3);
2008 n5 = jj_consume_token(55);
2009 n4 = JTBToolkit.makeNodeToken(n5);
2013 n8 = jj_consume_token(56);
2014 n7 = JTBToolkit.makeNodeToken(n8);
2018 n0 = new NodeChoice(n1, 0);
2021 n10 = new NodeSequence(7);
2022 n12 = jj_consume_token(DO);
2023 n11 = JTBToolkit.makeNodeToken(n12);
2027 n15 = jj_consume_token(WHILE);
2028 n14 = JTBToolkit.makeNodeToken(n15);
2030 n17 = jj_consume_token(55);
2031 n16 = JTBToolkit.makeNodeToken(n17);
2035 n20 = jj_consume_token(56);
2036 n19 = JTBToolkit.makeNodeToken(n20);
2038 n22 = jj_consume_token(57);
2039 n21 = JTBToolkit.makeNodeToken(n22);
2041 n0 = new NodeChoice(n10, 1);
2044 n23 = new NodeSequence(9);
2045 n25 = jj_consume_token(FOR);
2046 n24 = JTBToolkit.makeNodeToken(n25);
2048 n27 = jj_consume_token(55);
2049 n26 = JTBToolkit.makeNodeToken(n27);
2051 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2052 case INTEGER_LITERAL:
2053 case FLOATING_POINT_LITERAL:
2054 case CHARACTER_LITERAL:
2055 case STRING_LITERAL:
2071 jj_la1[60] = jj_gen;
2075 n31 = jj_consume_token(57);
2076 n30 = JTBToolkit.makeNodeToken(n31);
2078 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2079 case INTEGER_LITERAL:
2080 case FLOATING_POINT_LITERAL:
2081 case CHARACTER_LITERAL:
2082 case STRING_LITERAL:
2098 jj_la1[61] = jj_gen;
2102 n35 = jj_consume_token(57);
2103 n34 = JTBToolkit.makeNodeToken(n35);
2105 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2106 case INTEGER_LITERAL:
2107 case FLOATING_POINT_LITERAL:
2108 case CHARACTER_LITERAL:
2109 case STRING_LITERAL:
2125 jj_la1[62] = jj_gen;
2129 n39 = jj_consume_token(56);
2130 n38 = JTBToolkit.makeNodeToken(n39);
2134 n0 = new NodeChoice(n23, 2);
2137 jj_la1[63] = jj_gen;
2138 jj_consume_token(-1);
2139 throw new ParseException();
2141 {if (true) return new IterationStatement(n0);}
2142 throw new Error("Missing return statement in function");
2145 final public JumpStatement JumpStatement() throws ParseException {
2167 NodeOptional n21 = new NodeOptional();
2171 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2173 n1 = new NodeSequence(3);
2174 n3 = jj_consume_token(GOTO);
2175 n2 = JTBToolkit.makeNodeToken(n3);
2177 n5 = jj_consume_token(IDENTIFIER);
2178 n4 = JTBToolkit.makeNodeToken(n5);
2180 n7 = jj_consume_token(57);
2181 n6 = JTBToolkit.makeNodeToken(n7);
2183 n0 = new NodeChoice(n1, 0);
2186 n8 = new NodeSequence(2);
2187 n10 = jj_consume_token(CONTINUE);
2188 n9 = JTBToolkit.makeNodeToken(n10);
2190 n12 = jj_consume_token(57);
2191 n11 = JTBToolkit.makeNodeToken(n12);
2193 n0 = new NodeChoice(n8, 1);
2196 n13 = new NodeSequence(2);
2197 n15 = jj_consume_token(BREAK);
2198 n14 = JTBToolkit.makeNodeToken(n15);
2200 n17 = jj_consume_token(57);
2201 n16 = JTBToolkit.makeNodeToken(n17);
2203 n0 = new NodeChoice(n13, 2);
2206 n18 = new NodeSequence(3);
2207 n20 = jj_consume_token(RETURN);
2208 n19 = JTBToolkit.makeNodeToken(n20);
2210 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2211 case INTEGER_LITERAL:
2212 case FLOATING_POINT_LITERAL:
2213 case CHARACTER_LITERAL:
2214 case STRING_LITERAL:
2230 jj_la1[64] = jj_gen;
2234 n24 = jj_consume_token(57);
2235 n23 = JTBToolkit.makeNodeToken(n24);
2237 n0 = new NodeChoice(n18, 3);
2240 jj_la1[65] = jj_gen;
2241 jj_consume_token(-1);
2242 throw new ParseException();
2244 {if (true) return new JumpStatement(n0);}
2245 throw new Error("Missing return statement in function");
2248 final public Expression Expression() throws ParseException {
2249 AssignmentExpression n0;
2250 NodeListOptional n1 = new NodeListOptional();
2254 AssignmentExpression n5;
2255 n0 = AssignmentExpression();
2258 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2263 jj_la1[66] = jj_gen;
2266 n2 = new NodeSequence(2);
2267 n4 = jj_consume_token(59);
2268 n3 = JTBToolkit.makeNodeToken(n4);
2270 n5 = AssignmentExpression();
2274 n1.nodes.trimToSize();
2275 {if (true) return new Expression(n0,n1);}
2276 throw new Error("Missing return statement in function");
2279 final public AssignmentExpression AssignmentExpression() throws ParseException {
2283 AssignmentOperator n3;
2284 AssignmentExpression n4;
2285 ConditionalExpression n5;
2286 if (jj_2_13(2147483647)) {
2287 n1 = new NodeSequence(4);
2288 n2 = UnaryExpression();
2290 n3 = AssignmentOperator();
2292 n4 = AssignmentExpression();
2294 n0 = new NodeChoice(n1, 0);
2295 } else if (jj_2_14(3)) {
2296 n5 = ConditionalExpression();
2297 n0 = new NodeChoice(n5, 1);
2299 jj_consume_token(-1);
2300 throw new ParseException();
2302 {if (true) return new AssignmentExpression(n0);}
2303 throw new Error("Missing return statement in function");
2306 final public AssignmentOperator AssignmentOperator() throws ParseException {
2330 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2332 n2 = jj_consume_token(63);
2333 n1 = JTBToolkit.makeNodeToken(n2);
2334 n0 = new NodeChoice(n1, 0);
2337 n4 = jj_consume_token(67);
2338 n3 = JTBToolkit.makeNodeToken(n4);
2339 n0 = new NodeChoice(n3, 1);
2342 n6 = jj_consume_token(68);
2343 n5 = JTBToolkit.makeNodeToken(n6);
2344 n0 = new NodeChoice(n5, 2);
2347 n8 = jj_consume_token(69);
2348 n7 = JTBToolkit.makeNodeToken(n8);
2349 n0 = new NodeChoice(n7, 3);
2352 n10 = jj_consume_token(70);
2353 n9 = JTBToolkit.makeNodeToken(n10);
2354 n0 = new NodeChoice(n9, 4);
2357 n12 = jj_consume_token(71);
2358 n11 = JTBToolkit.makeNodeToken(n12);
2359 n0 = new NodeChoice(n11, 5);
2362 n14 = jj_consume_token(72);
2363 n13 = JTBToolkit.makeNodeToken(n14);
2364 n0 = new NodeChoice(n13, 6);
2367 n16 = jj_consume_token(73);
2368 n15 = JTBToolkit.makeNodeToken(n16);
2369 n0 = new NodeChoice(n15, 7);
2372 n18 = jj_consume_token(74);
2373 n17 = JTBToolkit.makeNodeToken(n18);
2374 n0 = new NodeChoice(n17, 8);
2377 n20 = jj_consume_token(75);
2378 n19 = JTBToolkit.makeNodeToken(n20);
2379 n0 = new NodeChoice(n19, 9);
2382 n22 = jj_consume_token(76);
2383 n21 = JTBToolkit.makeNodeToken(n22);
2384 n0 = new NodeChoice(n21, 10);
2387 jj_la1[67] = jj_gen;
2388 jj_consume_token(-1);
2389 throw new ParseException();
2391 {if (true) return new AssignmentOperator(n0);}
2392 throw new Error("Missing return statement in function");
2395 final public ConditionalExpression ConditionalExpression() throws ParseException {
2396 LogicalORExpression n0;
2397 NodeOptional n1 = new NodeOptional();
2404 ConditionalExpression n8;
2405 n0 = LogicalORExpression();
2406 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2408 n2 = new NodeSequence(4);
2409 n4 = jj_consume_token(77);
2410 n3 = JTBToolkit.makeNodeToken(n4);
2414 n7 = jj_consume_token(64);
2415 n6 = JTBToolkit.makeNodeToken(n7);
2417 n8 = ConditionalExpression();
2422 jj_la1[68] = jj_gen;
2425 {if (true) return new ConditionalExpression(n0,n1);}
2426 throw new Error("Missing return statement in function");
2429 final public ConstantExpression ConstantExpression() throws ParseException {
2430 ConditionalExpression n0;
2431 n0 = ConditionalExpression();
2432 {if (true) return new ConstantExpression(n0);}
2433 throw new Error("Missing return statement in function");
2436 final public LogicalORExpression LogicalORExpression() throws ParseException {
2437 LogicalANDExpression n0;
2438 NodeOptional n1 = new NodeOptional();
2442 LogicalORExpression n5;
2443 n0 = LogicalANDExpression();
2444 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2446 n2 = new NodeSequence(2);
2447 n4 = jj_consume_token(78);
2448 n3 = JTBToolkit.makeNodeToken(n4);
2450 n5 = LogicalORExpression();
2455 jj_la1[69] = jj_gen;
2458 {if (true) return new LogicalORExpression(n0,n1);}
2459 throw new Error("Missing return statement in function");
2462 final public LogicalANDExpression LogicalANDExpression() throws ParseException {
2463 InclusiveORExpression n0;
2464 NodeOptional n1 = new NodeOptional();
2468 LogicalANDExpression n5;
2469 n0 = InclusiveORExpression();
2470 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2472 n2 = new NodeSequence(2);
2473 n4 = jj_consume_token(79);
2474 n3 = JTBToolkit.makeNodeToken(n4);
2476 n5 = LogicalANDExpression();
2481 jj_la1[70] = jj_gen;
2484 {if (true) return new LogicalANDExpression(n0,n1);}
2485 throw new Error("Missing return statement in function");
2488 final public InclusiveORExpression InclusiveORExpression() throws ParseException {
2489 ExclusiveORExpression n0;
2490 NodeOptional n1 = new NodeOptional();
2494 InclusiveORExpression n5;
2495 n0 = ExclusiveORExpression();
2496 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2498 n2 = new NodeSequence(2);
2499 n4 = jj_consume_token(80);
2500 n3 = JTBToolkit.makeNodeToken(n4);
2502 n5 = InclusiveORExpression();
2507 jj_la1[71] = jj_gen;
2510 {if (true) return new InclusiveORExpression(n0,n1);}
2511 throw new Error("Missing return statement in function");
2514 final public ExclusiveORExpression ExclusiveORExpression() throws ParseException {
2516 NodeOptional n1 = new NodeOptional();
2520 ExclusiveORExpression n5;
2521 n0 = ANDExpression();
2522 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2524 n2 = new NodeSequence(2);
2525 n4 = jj_consume_token(81);
2526 n3 = JTBToolkit.makeNodeToken(n4);
2528 n5 = ExclusiveORExpression();
2533 jj_la1[72] = jj_gen;
2536 {if (true) return new ExclusiveORExpression(n0,n1);}
2537 throw new Error("Missing return statement in function");
2540 final public ANDExpression ANDExpression() throws ParseException {
2541 EqualityExpression n0;
2542 NodeOptional n1 = new NodeOptional();
2547 n0 = EqualityExpression();
2548 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2550 n2 = new NodeSequence(2);
2551 n4 = jj_consume_token(82);
2552 n3 = JTBToolkit.makeNodeToken(n4);
2554 n5 = ANDExpression();
2559 jj_la1[73] = jj_gen;
2562 {if (true) return new ANDExpression(n0,n1);}
2563 throw new Error("Missing return statement in function");
2566 final public EqualityExpression EqualityExpression() throws ParseException {
2567 RelationalExpression n0;
2568 NodeOptional n1 = new NodeOptional();
2575 EqualityExpression n8;
2576 n0 = RelationalExpression();
2577 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2580 n2 = new NodeSequence(2);
2581 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2583 n5 = jj_consume_token(83);
2584 n4 = JTBToolkit.makeNodeToken(n5);
2585 n3 = new NodeChoice(n4, 0);
2588 n7 = jj_consume_token(84);
2589 n6 = JTBToolkit.makeNodeToken(n7);
2590 n3 = new NodeChoice(n6, 1);
2593 jj_la1[74] = jj_gen;
2594 jj_consume_token(-1);
2595 throw new ParseException();
2598 n8 = EqualityExpression();
2603 jj_la1[75] = jj_gen;
2606 {if (true) return new EqualityExpression(n0,n1);}
2607 throw new Error("Missing return statement in function");
2610 final public RelationalExpression RelationalExpression() throws ParseException {
2612 NodeOptional n1 = new NodeOptional();
2623 RelationalExpression n12;
2624 n0 = ShiftExpression();
2625 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2630 n2 = new NodeSequence(2);
2631 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2633 n5 = jj_consume_token(85);
2634 n4 = JTBToolkit.makeNodeToken(n5);
2635 n3 = new NodeChoice(n4, 0);
2638 n7 = jj_consume_token(86);
2639 n6 = JTBToolkit.makeNodeToken(n7);
2640 n3 = new NodeChoice(n6, 1);
2643 n9 = jj_consume_token(87);
2644 n8 = JTBToolkit.makeNodeToken(n9);
2645 n3 = new NodeChoice(n8, 2);
2648 n11 = jj_consume_token(88);
2649 n10 = JTBToolkit.makeNodeToken(n11);
2650 n3 = new NodeChoice(n10, 3);
2653 jj_la1[76] = jj_gen;
2654 jj_consume_token(-1);
2655 throw new ParseException();
2658 n12 = RelationalExpression();
2663 jj_la1[77] = jj_gen;
2666 {if (true) return new RelationalExpression(n0,n1);}
2667 throw new Error("Missing return statement in function");
2670 final public ShiftExpression ShiftExpression() throws ParseException {
2671 AdditiveExpression n0;
2672 NodeOptional n1 = new NodeOptional();
2680 n0 = AdditiveExpression();
2681 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2684 n2 = new NodeSequence(2);
2685 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2687 n5 = jj_consume_token(89);
2688 n4 = JTBToolkit.makeNodeToken(n5);
2689 n3 = new NodeChoice(n4, 0);
2692 n7 = jj_consume_token(90);
2693 n6 = JTBToolkit.makeNodeToken(n7);
2694 n3 = new NodeChoice(n6, 1);
2697 jj_la1[78] = jj_gen;
2698 jj_consume_token(-1);
2699 throw new ParseException();
2702 n8 = ShiftExpression();
2707 jj_la1[79] = jj_gen;
2710 {if (true) return new ShiftExpression(n0,n1);}
2711 throw new Error("Missing return statement in function");
2714 final public AdditiveExpression AdditiveExpression() throws ParseException {
2715 MultiplicativeExpression n0;
2716 NodeOptional n1 = new NodeOptional();
2723 AdditiveExpression n8;
2724 n0 = MultiplicativeExpression();
2725 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2728 n2 = new NodeSequence(2);
2729 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2731 n5 = jj_consume_token(91);
2732 n4 = JTBToolkit.makeNodeToken(n5);
2733 n3 = new NodeChoice(n4, 0);
2736 n7 = jj_consume_token(92);
2737 n6 = JTBToolkit.makeNodeToken(n7);
2738 n3 = new NodeChoice(n6, 1);
2741 jj_la1[80] = jj_gen;
2742 jj_consume_token(-1);
2743 throw new ParseException();
2746 n8 = AdditiveExpression();
2751 jj_la1[81] = jj_gen;
2754 {if (true) return new AdditiveExpression(n0,n1);}
2755 throw new Error("Missing return statement in function");
2758 final public MultiplicativeExpression MultiplicativeExpression() throws ParseException {
2760 NodeOptional n1 = new NodeOptional();
2769 MultiplicativeExpression n10;
2770 n0 = CastExpression();
2771 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2775 n2 = new NodeSequence(2);
2776 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2778 n5 = jj_consume_token(58);
2779 n4 = JTBToolkit.makeNodeToken(n5);
2780 n3 = new NodeChoice(n4, 0);
2783 n7 = jj_consume_token(93);
2784 n6 = JTBToolkit.makeNodeToken(n7);
2785 n3 = new NodeChoice(n6, 1);
2788 n9 = jj_consume_token(94);
2789 n8 = JTBToolkit.makeNodeToken(n9);
2790 n3 = new NodeChoice(n8, 2);
2793 jj_la1[82] = jj_gen;
2794 jj_consume_token(-1);
2795 throw new ParseException();
2798 n10 = MultiplicativeExpression();
2803 jj_la1[83] = jj_gen;
2806 {if (true) return new MultiplicativeExpression(n0,n1);}
2807 throw new Error("Missing return statement in function");
2810 final public CastExpression CastExpression() throws ParseException {
2820 if (jj_2_15(2147483647)) {
2821 n1 = new NodeSequence(5);
2822 n3 = jj_consume_token(55);
2823 n2 = JTBToolkit.makeNodeToken(n3);
2825 n4 = TypeSpecifier();
2827 n6 = jj_consume_token(56);
2828 n5 = JTBToolkit.makeNodeToken(n6);
2830 n7 = CastExpression();
2832 n0 = new NodeChoice(n1, 0);
2834 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2835 case INTEGER_LITERAL:
2836 case FLOATING_POINT_LITERAL:
2837 case CHARACTER_LITERAL:
2838 case STRING_LITERAL:
2850 n8 = UnaryExpression();
2851 n0 = new NodeChoice(n8, 1);
2854 jj_la1[84] = jj_gen;
2855 jj_consume_token(-1);
2856 throw new ParseException();
2859 {if (true) return new CastExpression(n0);}
2860 throw new Error("Missing return statement in function");
2863 final public UnaryExpression UnaryExpression() throws ParseException {
2865 PostfixExpression n1;
2881 UnaryExpression n17;
2889 n1 = PostfixExpression();
2890 n0 = new NodeChoice(n1, 0);
2892 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2894 n2 = new NodeSequence(2);
2895 n4 = jj_consume_token(95);
2896 n3 = JTBToolkit.makeNodeToken(n4);
2898 n5 = UnaryExpression();
2900 n0 = new NodeChoice(n2, 1);
2903 n6 = new NodeSequence(2);
2904 n8 = jj_consume_token(96);
2905 n7 = JTBToolkit.makeNodeToken(n8);
2907 n9 = UnaryExpression();
2909 n0 = new NodeChoice(n6, 2);
2917 n10 = new NodeSequence(2);
2918 n11 = UnaryOperator();
2920 n12 = CastExpression();
2922 n0 = new NodeChoice(n10, 3);
2925 n13 = new NodeSequence(2);
2926 n15 = jj_consume_token(SIZEOF);
2927 n14 = JTBToolkit.makeNodeToken(n15);
2929 if (jj_2_16(2147483647)) {
2930 n17 = UnaryExpression();
2931 n16 = new NodeChoice(n17, 0);
2933 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2935 n18 = new NodeSequence(3);
2936 n20 = jj_consume_token(55);
2937 n19 = JTBToolkit.makeNodeToken(n20);
2939 n21 = TypeSpecifier();
2941 n23 = jj_consume_token(56);
2942 n22 = JTBToolkit.makeNodeToken(n23);
2944 n16 = new NodeChoice(n18, 1);
2947 jj_la1[85] = jj_gen;
2948 jj_consume_token(-1);
2949 throw new ParseException();
2953 n0 = new NodeChoice(n13, 4);
2956 jj_la1[86] = jj_gen;
2957 jj_consume_token(-1);
2958 throw new ParseException();
2961 {if (true) return new UnaryExpression(n0);}
2962 throw new Error("Missing return statement in function");
2965 final public UnaryOperator UnaryOperator() throws ParseException {
2979 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2981 n2 = jj_consume_token(82);
2982 n1 = JTBToolkit.makeNodeToken(n2);
2983 n0 = new NodeChoice(n1, 0);
2986 n4 = jj_consume_token(58);
2987 n3 = JTBToolkit.makeNodeToken(n4);
2988 n0 = new NodeChoice(n3, 1);
2991 n6 = jj_consume_token(91);
2992 n5 = JTBToolkit.makeNodeToken(n6);
2993 n0 = new NodeChoice(n5, 2);
2996 n8 = jj_consume_token(92);
2997 n7 = JTBToolkit.makeNodeToken(n8);
2998 n0 = new NodeChoice(n7, 3);
3001 n10 = jj_consume_token(97);
3002 n9 = JTBToolkit.makeNodeToken(n10);
3003 n0 = new NodeChoice(n9, 4);
3006 n12 = jj_consume_token(98);
3007 n11 = JTBToolkit.makeNodeToken(n12);
3008 n0 = new NodeChoice(n11, 5);
3011 jj_la1[87] = jj_gen;
3012 jj_consume_token(-1);
3013 throw new ParseException();
3015 {if (true) return new UnaryOperator(n0);}
3016 throw new Error("Missing return statement in function");
3019 final public PostfixExpression PostfixExpression() throws ParseException {
3020 PrimaryExpression n0;
3021 NodeListOptional n1 = new NodeListOptional();
3033 ArgumentExpressionList n13;
3050 n0 = PrimaryExpression();
3053 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
3063 jj_la1[88] = jj_gen;
3066 n12 = new NodeOptional();
3067 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
3069 n3 = new NodeSequence(3);
3070 n5 = jj_consume_token(65);
3071 n4 = JTBToolkit.makeNodeToken(n5);
3075 n8 = jj_consume_token(66);
3076 n7 = JTBToolkit.makeNodeToken(n8);
3078 n2 = new NodeChoice(n3, 0);
3081 n9 = new NodeSequence(3);
3082 n11 = jj_consume_token(55);
3083 n10 = JTBToolkit.makeNodeToken(n11);
3085 if (jj_2_18(2147483647)) {
3086 n13 = ArgumentExpressionList();
3092 n15 = jj_consume_token(56);
3093 n14 = JTBToolkit.makeNodeToken(n15);
3095 n2 = new NodeChoice(n9, 1);
3098 n16 = new NodeSequence(2);
3099 n18 = jj_consume_token(99);
3100 n17 = JTBToolkit.makeNodeToken(n18);
3102 n20 = jj_consume_token(IDENTIFIER);
3103 n19 = JTBToolkit.makeNodeToken(n20);
3105 n2 = new NodeChoice(n16, 2);
3108 n21 = new NodeSequence(2);
3109 n23 = jj_consume_token(100);
3110 n22 = JTBToolkit.makeNodeToken(n23);
3112 n25 = jj_consume_token(IDENTIFIER);
3113 n24 = JTBToolkit.makeNodeToken(n25);
3115 n2 = new NodeChoice(n21, 3);
3118 n27 = jj_consume_token(95);
3119 n26 = JTBToolkit.makeNodeToken(n27);
3120 n2 = new NodeChoice(n26, 4);
3123 n29 = jj_consume_token(96);
3124 n28 = JTBToolkit.makeNodeToken(n29);
3125 n2 = new NodeChoice(n28, 5);
3128 jj_la1[89] = jj_gen;
3129 jj_consume_token(-1);
3130 throw new ParseException();
3134 n1.nodes.trimToSize();
3135 {if (true) return new PostfixExpression(n0,n1);}
3136 throw new Error("Missing return statement in function");
3139 final public PrimaryExpression PrimaryExpression() throws ParseException {
3150 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
3152 n2 = jj_consume_token(IDENTIFIER);
3153 n1 = JTBToolkit.makeNodeToken(n2);
3154 n0 = new NodeChoice(n1, 0);
3156 case INTEGER_LITERAL:
3157 case FLOATING_POINT_LITERAL:
3158 case CHARACTER_LITERAL:
3159 case STRING_LITERAL:
3161 n0 = new NodeChoice(n3, 1);
3164 n4 = new NodeSequence(3);
3165 n6 = jj_consume_token(55);
3166 n5 = JTBToolkit.makeNodeToken(n6);
3170 n9 = jj_consume_token(56);
3171 n8 = JTBToolkit.makeNodeToken(n9);
3173 n0 = new NodeChoice(n4, 2);
3176 jj_la1[90] = jj_gen;
3177 jj_consume_token(-1);
3178 throw new ParseException();
3180 {if (true) return new PrimaryExpression(n0);}
3181 throw new Error("Missing return statement in function");
3184 final public ArgumentExpressionList ArgumentExpressionList() throws ParseException {
3185 AssignmentOrTypeExpression n0;
3186 NodeListOptional n1 = new NodeListOptional();
3190 AssignmentOrTypeExpression n5;
3191 n0 = AssignmentOrTypeExpression();
3194 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
3199 jj_la1[91] = jj_gen;
3202 n2 = new NodeSequence(2);
3203 n4 = jj_consume_token(59);
3204 n3 = JTBToolkit.makeNodeToken(n4);
3206 n5 = AssignmentOrTypeExpression();
3210 n1.nodes.trimToSize();
3211 {if (true) return new ArgumentExpressionList(n0,n1);}
3212 throw new Error("Missing return statement in function");
3215 final public AssignmentOrTypeExpression AssignmentOrTypeExpression() throws ParseException {
3217 NoIdentifierTypeSpecifier n1;
3218 AssignmentExpression n2;
3219 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
3233 n1 = NoIdentifierTypeSpecifier();
3234 n0 = new NodeChoice(n1, 0);
3236 case INTEGER_LITERAL:
3237 case FLOATING_POINT_LITERAL:
3238 case CHARACTER_LITERAL:
3239 case STRING_LITERAL:
3251 n2 = AssignmentExpression();
3252 n0 = new NodeChoice(n2, 1);
3255 jj_la1[92] = jj_gen;
3256 jj_consume_token(-1);
3257 throw new ParseException();
3259 {if (true) return new AssignmentOrTypeExpression(n0);}
3260 throw new Error("Missing return statement in function");
3263 final public Constant Constant() throws ParseException {
3273 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
3274 case INTEGER_LITERAL:
3275 n2 = jj_consume_token(INTEGER_LITERAL);
3276 n1 = JTBToolkit.makeNodeToken(n2);
3277 n0 = new NodeChoice(n1, 0);
3279 case FLOATING_POINT_LITERAL:
3280 n4 = jj_consume_token(FLOATING_POINT_LITERAL);
3281 n3 = JTBToolkit.makeNodeToken(n4);
3282 n0 = new NodeChoice(n3, 1);
3284 case CHARACTER_LITERAL:
3285 n6 = jj_consume_token(CHARACTER_LITERAL);
3286 n5 = JTBToolkit.makeNodeToken(n6);
3287 n0 = new NodeChoice(n5, 2);
3289 case STRING_LITERAL:
3290 n8 = jj_consume_token(STRING_LITERAL);
3291 n7 = JTBToolkit.makeNodeToken(n8);
3292 n0 = new NodeChoice(n7, 3);
3295 jj_la1[93] = jj_gen;
3296 jj_consume_token(-1);
3297 throw new ParseException();
3299 {if (true) return new Constant(n0);}
3300 throw new Error("Missing return statement in function");
3303 private boolean jj_2_1(int xla) {
3304 jj_la = xla; jj_lastpos = jj_scanpos = token;
3305 try { return !jj_3_1(); }
3306 catch(LookaheadSuccess ls) { return true; }
3307 finally { jj_save(0, xla); }
3310 private boolean jj_2_2(int xla) {
3311 jj_la = xla; jj_lastpos = jj_scanpos = token;
3312 try { return !jj_3_2(); }
3313 catch(LookaheadSuccess ls) { return true; }
3314 finally { jj_save(1, xla); }
3317 private boolean jj_2_3(int xla) {
3318 jj_la = xla; jj_lastpos = jj_scanpos = token;
3319 try { return !jj_3_3(); }
3320 catch(LookaheadSuccess ls) { return true; }
3321 finally { jj_save(2, xla); }
3324 private boolean jj_2_4(int xla) {
3325 jj_la = xla; jj_lastpos = jj_scanpos = token;
3326 try { return !jj_3_4(); }
3327 catch(LookaheadSuccess ls) { return true; }
3328 finally { jj_save(3, xla); }
3331 private boolean jj_2_5(int xla) {
3332 jj_la = xla; jj_lastpos = jj_scanpos = token;
3333 try { return !jj_3_5(); }
3334 catch(LookaheadSuccess ls) { return true; }
3335 finally { jj_save(4, xla); }
3338 private boolean jj_2_6(int xla) {
3339 jj_la = xla; jj_lastpos = jj_scanpos = token;
3340 try { return !jj_3_6(); }
3341 catch(LookaheadSuccess ls) { return true; }
3342 finally { jj_save(5, xla); }
3345 private boolean jj_2_7(int xla) {
3346 jj_la = xla; jj_lastpos = jj_scanpos = token;
3347 try { return !jj_3_7(); }
3348 catch(LookaheadSuccess ls) { return true; }
3349 finally { jj_save(6, xla); }
3352 private boolean jj_2_8(int xla) {
3353 jj_la = xla; jj_lastpos = jj_scanpos = token;
3354 try { return !jj_3_8(); }
3355 catch(LookaheadSuccess ls) { return true; }
3356 finally { jj_save(7, xla); }
3359 private boolean jj_2_9(int xla) {
3360 jj_la = xla; jj_lastpos = jj_scanpos = token;
3361 try { return !jj_3_9(); }
3362 catch(LookaheadSuccess ls) { return true; }
3363 finally { jj_save(8, xla); }
3366 private boolean jj_2_10(int xla) {
3367 jj_la = xla; jj_lastpos = jj_scanpos = token;
3368 try { return !jj_3_10(); }
3369 catch(LookaheadSuccess ls) { return true; }
3370 finally { jj_save(9, xla); }
3373 private boolean jj_2_11(int xla) {
3374 jj_la = xla; jj_lastpos = jj_scanpos = token;
3375 try { return !jj_3_11(); }
3376 catch(LookaheadSuccess ls) { return true; }
3377 finally { jj_save(10, xla); }
3380 private boolean jj_2_12(int xla) {
3381 jj_la = xla; jj_lastpos = jj_scanpos = token;
3382 try { return !jj_3_12(); }
3383 catch(LookaheadSuccess ls) { return true; }
3384 finally { jj_save(11, xla); }
3387 private boolean jj_2_13(int xla) {
3388 jj_la = xla; jj_lastpos = jj_scanpos = token;
3389 try { return !jj_3_13(); }
3390 catch(LookaheadSuccess ls) { return true; }
3391 finally { jj_save(12, xla); }
3394 private boolean jj_2_14(int xla) {
3395 jj_la = xla; jj_lastpos = jj_scanpos = token;
3396 try { return !jj_3_14(); }
3397 catch(LookaheadSuccess ls) { return true; }
3398 finally { jj_save(13, xla); }
3401 private boolean jj_2_15(int xla) {
3402 jj_la = xla; jj_lastpos = jj_scanpos = token;
3403 try { return !jj_3_15(); }
3404 catch(LookaheadSuccess ls) { return true; }
3405 finally { jj_save(14, xla); }
3408 private boolean jj_2_16(int xla) {
3409 jj_la = xla; jj_lastpos = jj_scanpos = token;
3410 try { return !jj_3_16(); }
3411 catch(LookaheadSuccess ls) { return true; }
3412 finally { jj_save(15, xla); }
3415 private boolean jj_2_17(int xla) {
3416 jj_la = xla; jj_lastpos = jj_scanpos = token;
3417 try { return !jj_3_17(); }
3418 catch(LookaheadSuccess ls) { return true; }
3419 finally { jj_save(16, xla); }
3422 private boolean jj_2_18(int xla) {
3423 jj_la = xla; jj_lastpos = jj_scanpos = token;
3424 try { return !jj_3_18(); }
3425 catch(LookaheadSuccess ls) { return true; }
3426 finally { jj_save(17, xla); }
3429 private boolean jj_3R_113() {
3430 if (jj_scan_token(55)) return true;
3431 if (jj_3R_32()) return true;
3432 if (jj_scan_token(56)) return true;
3436 private boolean jj_3R_192() {
3437 if (jj_scan_token(DOUBLE)) return true;
3441 private boolean jj_3R_168() {
3442 if (jj_3R_123()) return true;
3446 private boolean jj_3_6() {
3447 if (jj_scan_token(59)) return true;
3448 if (jj_3R_19()) return true;
3452 private boolean jj_3R_191() {
3453 if (jj_scan_token(FLOAT)) return true;
3457 private boolean jj_3R_112() {
3458 if (jj_3R_29()) return true;
3462 private boolean jj_3R_203() {
3463 if (jj_scan_token(LONG)) return true;
3467 private boolean jj_3R_167() {
3468 if (jj_scan_token(CONST)) return true;
3472 private boolean jj_3R_97() {
3473 if (jj_3R_19()) return true;
3477 if (jj_3_6()) { jj_scanpos = xsp; break; }
3480 if (jj_3R_136()) jj_scanpos = xsp;
3484 private boolean jj_3R_123() {
3485 if (jj_scan_token(58)) return true;
3488 if (jj_3R_167()) jj_scanpos = xsp;
3490 if (jj_3R_168()) jj_scanpos = xsp;
3494 private boolean jj_3R_190() {
3495 if (jj_scan_token(LONG)) return true;
3498 if (jj_3R_203()) jj_scanpos = xsp;
3502 private boolean jj_3R_63() {
3503 if (jj_scan_token(SIZEOF)) return true;
3508 if (jj_3R_113()) return true;
3513 private boolean jj_3R_161() {
3514 if (jj_scan_token(79)) return true;
3515 if (jj_3R_114()) return true;
3519 private boolean jj_3R_189() {
3520 if (jj_scan_token(INT)) return true;
3524 private boolean jj_3R_202() {
3525 if (jj_scan_token(INT)) return true;
3529 private boolean jj_3R_114() {
3530 if (jj_3R_160()) return true;
3533 if (jj_3R_161()) jj_scanpos = xsp;
3537 private boolean jj_3R_62() {
3538 if (jj_3R_111()) return true;
3539 if (jj_3R_33()) return true;
3543 private boolean jj_3R_188() {
3544 if (jj_scan_token(SHORT)) return true;
3547 if (jj_3R_202()) jj_scanpos = xsp;
3551 private boolean jj_3R_61() {
3552 if (jj_scan_token(96)) return true;
3553 if (jj_3R_29()) return true;
3557 private boolean jj_3R_187() {
3558 if (jj_scan_token(CHAR)) return true;
3562 private boolean jj_3R_142() {
3563 if (jj_3R_97()) return true;
3567 private boolean jj_3R_186() {
3568 if (jj_scan_token(VOID)) return true;
3572 private boolean jj_3R_104() {
3573 if (jj_scan_token(63)) return true;
3574 if (jj_3R_106()) return true;
3578 private boolean jj_3R_60() {
3579 if (jj_scan_token(95)) return true;
3580 if (jj_3R_29()) return true;
3584 private boolean jj_3R_47() {
3585 if (jj_scan_token(IDENTIFIER)) return true;
3588 if (jj_3R_104()) jj_scanpos = xsp;
3592 private boolean jj_3_17() {
3593 if (jj_3R_34()) return true;
3597 private boolean jj_3R_185() {
3598 if (jj_scan_token(CONST)) return true;
3602 private boolean jj_3R_102() {
3603 if (jj_3R_32()) return true;
3604 if (jj_scan_token(55)) return true;
3605 if (jj_scan_token(58)) return true;
3606 if (jj_scan_token(IDENTIFIER)) return true;
3607 if (jj_scan_token(56)) return true;
3608 if (jj_scan_token(55)) return true;
3611 if (jj_3R_142()) jj_scanpos = xsp;
3612 if (jj_scan_token(56)) return true;
3616 private boolean jj_3R_115() {
3617 if (jj_scan_token(78)) return true;
3618 if (jj_3R_75()) return true;
3622 private boolean jj_3R_172() {
3625 if (jj_3R_185()) jj_scanpos = xsp;
3645 if (jj_3R_195()) return true;
3656 if (jj_3R_196()) jj_scanpos = xsp;
3658 if (jj_3R_197()) jj_scanpos = xsp;
3662 private boolean jj_3R_75() {
3663 if (jj_3R_114()) return true;
3666 if (jj_3R_115()) jj_scanpos = xsp;
3670 private boolean jj_3R_146() {
3671 if (jj_scan_token(SWITCH)) return true;
3672 if (jj_scan_token(55)) return true;
3673 if (jj_3R_116()) return true;
3674 if (jj_scan_token(56)) return true;
3675 if (jj_3R_28()) return true;
3679 private boolean jj_3R_29() {
3690 if (jj_3R_63()) return true;
3698 private boolean jj_3_12() {
3699 if (jj_scan_token(ELSE)) return true;
3700 if (jj_3R_28()) return true;
3704 private boolean jj_3R_48() {
3705 if (jj_scan_token(59)) return true;
3706 if (jj_3R_47()) return true;
3710 private boolean jj_3R_106() {
3711 if (jj_3R_31()) return true;
3715 private boolean jj_3R_24() {
3716 if (jj_3R_47()) return true;
3720 if (jj_3R_48()) { jj_scanpos = xsp; break; }
3725 private boolean jj_3R_18() {
3726 if (jj_3R_15()) return true;
3727 if (jj_scan_token(IDENTIFIER)) return true;
3731 private boolean jj_3R_145() {
3732 if (jj_scan_token(IF)) return true;
3733 if (jj_scan_token(55)) return true;
3734 if (jj_3R_116()) return true;
3735 if (jj_scan_token(56)) return true;
3736 if (jj_3R_28()) return true;
3739 if (jj_3_12()) jj_scanpos = xsp;
3743 private boolean jj_3_5() {
3744 if (jj_3R_18()) return true;
3745 if (jj_scan_token(57)) return true;
3749 private boolean jj_3R_108() {
3754 if (jj_3R_146()) return true;
3759 private boolean jj_3R_166() {
3760 if (jj_scan_token(IDENTIFIER)) return true;
3764 private boolean jj_3R_43() {
3765 if (jj_3R_102()) return true;
3769 private boolean jj_3R_92() {
3770 if (jj_3R_29()) return true;
3774 private boolean jj_3R_76() {
3775 if (jj_scan_token(77)) return true;
3776 if (jj_3R_116()) return true;
3777 if (jj_scan_token(64)) return true;
3778 if (jj_3R_31()) return true;
3782 private boolean jj_3_15() {
3783 if (jj_scan_token(55)) return true;
3784 if (jj_3R_32()) return true;
3785 if (jj_scan_token(56)) return true;
3786 if (jj_3R_33()) return true;
3790 private boolean jj_3R_42() {
3791 if (jj_3R_18()) return true;
3795 private boolean jj_3R_31() {
3796 if (jj_3R_75()) return true;
3799 if (jj_3R_76()) jj_scanpos = xsp;
3803 private boolean jj_3R_23() {
3804 if (jj_scan_token(IDENTIFIER)) return true;
3808 private boolean jj_3R_91() {
3809 if (jj_scan_token(55)) return true;
3810 if (jj_3R_32()) return true;
3811 if (jj_scan_token(56)) return true;
3812 if (jj_3R_33()) return true;
3816 private boolean jj_3R_17() {
3817 if (jj_scan_token(TYPEDEF)) return true;
3822 if (jj_3R_43()) return true;
3824 if (jj_scan_token(57)) return true;
3828 private boolean jj_3_8() {
3831 if (jj_3R_23()) jj_scanpos = xsp;
3832 if (jj_scan_token(61)) return true;
3833 if (jj_3R_24()) return true;
3834 if (jj_scan_token(62)) return true;
3838 private boolean jj_3R_33() {
3843 if (jj_3R_92()) return true;
3848 private boolean jj_3R_122() {
3849 if (jj_scan_token(ENUM)) return true;
3854 if (jj_3R_166()) return true;
3859 private boolean jj_3R_74() {
3860 if (jj_scan_token(76)) return true;
3864 private boolean jj_3_11() {
3865 if (jj_3R_27()) return true;
3869 private boolean jj_3R_73() {
3870 if (jj_scan_token(75)) return true;
3874 private boolean jj_3R_90() {
3875 if (jj_3R_124()) return true;
3879 private boolean jj_3R_72() {
3880 if (jj_scan_token(74)) return true;
3884 private boolean jj_3R_175() {
3885 if (jj_3R_28()) return true;
3889 private boolean jj_3R_71() {
3890 if (jj_scan_token(73)) return true;
3894 private boolean jj_3R_89() {
3895 if (jj_3R_123()) return true;
3899 private boolean jj_3R_70() {
3900 if (jj_scan_token(72)) return true;
3904 private boolean jj_3R_174() {
3905 if (jj_3R_27()) return true;
3909 private boolean jj_3R_88() {
3910 if (jj_scan_token(IDENTIFIER)) return true;
3914 private boolean jj_3R_69() {
3915 if (jj_scan_token(71)) return true;
3919 private boolean jj_3R_244() {
3920 if (jj_scan_token(94)) return true;
3924 private boolean jj_3R_87() {
3925 if (jj_3R_122()) return true;
3929 private boolean jj_3R_137() {
3934 if (jj_3R_175()) return true;
3939 private boolean jj_3R_68() {
3940 if (jj_scan_token(70)) return true;
3944 private boolean jj_3R_243() {
3945 if (jj_scan_token(93)) return true;
3949 private boolean jj_3R_86() {
3950 if (jj_3R_15()) return true;
3954 private boolean jj_3R_179() {
3955 if (jj_scan_token(LONG)) return true;
3959 private boolean jj_3R_67() {
3960 if (jj_scan_token(69)) return true;
3964 private boolean jj_3R_242() {
3965 if (jj_scan_token(58)) return true;
3969 private boolean jj_3R_98() {
3970 if (jj_scan_token(61)) return true;
3974 if (jj_3R_137()) { jj_scanpos = xsp; break; }
3976 if (jj_scan_token(62)) return true;
3980 private boolean jj_3R_199() {
3981 if (jj_scan_token(IDENTIFIER)) return true;
3985 private boolean jj_3R_66() {
3986 if (jj_scan_token(68)) return true;
3990 private boolean jj_3R_183() {
3991 if (jj_scan_token(STRING_LITERAL)) return true;
3995 private boolean jj_3R_65() {
3996 if (jj_scan_token(67)) return true;
4000 private boolean jj_3R_165() {
4001 if (jj_scan_token(LONG)) return true;
4004 if (jj_3R_179()) jj_scanpos = xsp;
4008 private boolean jj_3R_182() {
4009 if (jj_scan_token(CHARACTER_LITERAL)) return true;
4013 private boolean jj_3R_38() {
4014 if (jj_3R_98()) return true;
4018 private boolean jj_3R_64() {
4019 if (jj_scan_token(63)) return true;
4023 private boolean jj_3R_239() {
4030 if (jj_3R_244()) return true;
4033 if (jj_3R_235()) return true;
4037 private boolean jj_3R_208() {
4038 if (jj_scan_token(64)) return true;
4039 if (jj_3R_106()) return true;
4043 private boolean jj_3R_164() {
4044 if (jj_scan_token(INT)) return true;
4048 private boolean jj_3R_181() {
4049 if (jj_scan_token(FLOATING_POINT_LITERAL)) return true;
4053 private boolean jj_3R_37() {
4054 if (jj_scan_token(57)) return true;
4058 private boolean jj_3R_207() {
4059 if (jj_3R_124()) return true;
4063 private boolean jj_3R_178() {
4064 if (jj_scan_token(INT)) return true;
4068 private boolean jj_3R_180() {
4069 if (jj_scan_token(INTEGER_LITERAL)) return true;
4073 private boolean jj_3R_235() {
4074 if (jj_3R_33()) return true;
4077 if (jj_3R_239()) jj_scanpos = xsp;
4081 private boolean jj_3R_198() {
4086 if (jj_3R_208()) return true;
4091 private boolean jj_3R_30() {
4114 if (jj_3R_74()) return true;
4128 private boolean jj_3R_170() {
4137 if (jj_3R_183()) return true;
4144 private boolean jj_3R_163() {
4145 if (jj_scan_token(SHORT)) return true;
4148 if (jj_3R_178()) jj_scanpos = xsp;
4152 private boolean jj_3R_144() {
4153 if (jj_3R_116()) return true;
4157 private boolean jj_3R_36() {
4158 if (jj_3R_97()) return true;
4162 private boolean jj_3R_162() {
4163 if (jj_scan_token(CHAR)) return true;
4167 private boolean jj_3R_103() {
4168 if (jj_3R_32()) return true;
4169 if (jj_scan_token(IDENTIFIER)) return true;
4172 if (jj_3R_198()) jj_scanpos = xsp;
4174 if (jj_3R_199()) jj_scanpos = xsp;
4175 if (jj_scan_token(57)) return true;
4179 private boolean jj_3R_107() {
4182 if (jj_3R_144()) jj_scanpos = xsp;
4183 if (jj_scan_token(57)) return true;
4187 private boolean jj_3R_14() {
4188 if (jj_3R_32()) return true;
4189 if (jj_scan_token(IDENTIFIER)) return true;
4190 if (jj_scan_token(55)) return true;
4193 if (jj_3R_36()) jj_scanpos = xsp;
4194 if (jj_scan_token(56)) return true;
4198 if (jj_3R_38()) return true;
4203 private boolean jj_3R_121() {
4212 if (jj_3R_165()) return true;
4219 private boolean jj_3R_120() {
4220 if (jj_scan_token(UNSIGNED)) return true;
4224 private boolean jj_3R_119() {
4225 if (jj_scan_token(SIGNED)) return true;
4229 private boolean jj_3R_241() {
4230 if (jj_scan_token(92)) return true;
4234 private boolean jj_3R_135() {
4235 if (jj_3R_105()) return true;
4239 private boolean jj_3R_240() {
4240 if (jj_scan_token(91)) return true;
4244 private boolean jj_3R_134() {
4245 if (jj_3R_172()) return true;
4249 private boolean jj_3_4() {
4250 if (jj_3R_17()) return true;
4254 private boolean jj_3R_53() {
4255 if (jj_scan_token(DFLT)) return true;
4256 if (jj_scan_token(64)) return true;
4257 if (jj_3R_28()) return true;
4261 private boolean jj_3R_95() {
4266 if (jj_3R_135()) return true;
4271 private boolean jj_3_3() {
4272 if (jj_3R_16()) return true;
4276 private boolean jj_3R_85() {
4281 if (jj_3R_120()) return true;
4284 if (jj_3R_121()) jj_scanpos = xsp;
4288 private boolean jj_3R_84() {
4289 if (jj_scan_token(DOUBLE)) return true;
4293 private boolean jj_3R_236() {
4298 if (jj_3R_241()) return true;
4300 if (jj_3R_229()) return true;
4304 private boolean jj_3_2() {
4305 if (jj_3R_15()) return true;
4309 private boolean jj_3R_83() {
4310 if (jj_scan_token(FLOAT)) return true;
4314 private boolean jj_3_14() {
4315 if (jj_3R_31()) return true;
4319 private boolean jj_3_13() {
4320 if (jj_3R_29()) return true;
4321 if (jj_3R_30()) return true;
4325 private boolean jj_3R_141() {
4326 if (jj_scan_token(63)) return true;
4327 if (jj_3R_25()) return true;
4331 private boolean jj_3_1() {
4332 if (jj_3R_14()) return true;
4336 private boolean jj_3R_229() {
4337 if (jj_3R_235()) return true;
4340 if (jj_3R_236()) jj_scanpos = xsp;
4344 private boolean jj_3R_118() {
4345 if (jj_scan_token(LONG)) return true;
4349 private boolean jj_3R_52() {
4350 if (jj_scan_token(CASE)) return true;
4351 if (jj_3R_106()) return true;
4352 if (jj_scan_token(64)) return true;
4353 if (jj_3R_28()) return true;
4357 private boolean jj_3R_140() {
4358 if (jj_3R_124()) return true;
4362 private boolean jj_3R_143() {
4363 if (jj_3R_29()) return true;
4364 if (jj_3R_30()) return true;
4365 if (jj_3R_105()) return true;
4369 private boolean jj_3R_82() {
4370 if (jj_scan_token(LONG)) return true;
4373 if (jj_3R_118()) jj_scanpos = xsp;
4377 private boolean jj_3R_100() {
4378 if (jj_scan_token(IDENTIFIER)) return true;
4381 if (jj_3R_140()) jj_scanpos = xsp;
4383 if (jj_3R_141()) jj_scanpos = xsp;
4387 private boolean jj_3R_96() {
4388 if (jj_scan_token(59)) return true;
4389 if (jj_3R_95()) return true;
4393 private boolean jj_3R_51() {
4394 if (jj_scan_token(IDENTIFIER)) return true;
4395 if (jj_scan_token(64)) return true;
4396 if (jj_3R_28()) return true;
4400 private boolean jj_3R_81() {
4401 if (jj_scan_token(INT)) return true;
4405 private boolean jj_3R_105() {
4410 if (jj_3_14()) return true;
4415 private boolean jj_3R_35() {
4416 if (jj_3R_95()) return true;
4420 if (jj_3R_96()) { jj_scanpos = xsp; break; }
4425 private boolean jj_3R_117() {
4426 if (jj_scan_token(INT)) return true;
4430 private boolean jj_3R_26() {
4437 if (jj_3R_53()) return true;
4443 private boolean jj_3R_238() {
4444 if (jj_scan_token(90)) return true;
4448 private boolean jj_3R_80() {
4449 if (jj_scan_token(SHORT)) return true;
4452 if (jj_3R_117()) jj_scanpos = xsp;
4456 private boolean jj_3R_237() {
4457 if (jj_scan_token(89)) return true;
4461 private boolean jj_3R_79() {
4462 if (jj_scan_token(CHAR)) return true;
4466 private boolean jj_3R_78() {
4467 if (jj_scan_token(VOID)) return true;
4471 private boolean jj_3R_101() {
4472 if (jj_scan_token(59)) return true;
4473 if (jj_3R_100()) return true;
4477 private boolean jj_3R_230() {
4482 if (jj_3R_238()) return true;
4484 if (jj_3R_221()) return true;
4488 private boolean jj_3R_184() {
4489 if (jj_scan_token(59)) return true;
4490 if (jj_3R_105()) return true;
4494 private boolean jj_3R_77() {
4495 if (jj_scan_token(CONST)) return true;
4499 private boolean jj_3R_127() {
4500 if (jj_scan_token(55)) return true;
4501 if (jj_3R_116()) return true;
4502 if (jj_scan_token(56)) return true;
4506 private boolean jj_3R_41() {
4507 if (jj_3R_100()) return true;
4511 if (jj_3R_101()) { jj_scanpos = xsp; break; }
4516 private boolean jj_3R_221() {
4517 if (jj_3R_229()) return true;
4520 if (jj_3R_230()) jj_scanpos = xsp;
4524 private boolean jj_3R_116() {
4525 if (jj_3R_105()) return true;
4529 if (jj_3R_184()) { jj_scanpos = xsp; break; }
4534 private boolean jj_3R_32() {
4537 if (jj_3R_77()) jj_scanpos = xsp;
4559 if (jj_3R_88()) return true;
4571 if (jj_3R_89()) jj_scanpos = xsp;
4573 if (jj_3R_90()) jj_scanpos = xsp;
4577 private boolean jj_3R_126() {
4578 if (jj_3R_170()) return true;
4582 private boolean jj_3R_125() {
4583 if (jj_scan_token(IDENTIFIER)) return true;
4587 private boolean jj_3R_93() {
4594 if (jj_3R_127()) return true;
4600 private boolean jj_3R_59() {
4601 if (jj_3R_110()) return true;
4605 private boolean jj_3R_58() {
4606 if (jj_3R_109()) return true;
4610 private boolean jj_3R_57() {
4611 if (jj_3R_108()) return true;
4615 private boolean jj_3R_46() {
4616 if (jj_3R_103()) return true;
4620 private boolean jj_3R_228() {
4621 if (jj_3R_116()) return true;
4625 private boolean jj_3R_56() {
4626 if (jj_3R_98()) return true;
4630 private boolean jj_3R_234() {
4631 if (jj_scan_token(88)) return true;
4635 private boolean jj_3R_22() {
4637 if (jj_3R_46()) return true;
4640 if (jj_3R_46()) { jj_scanpos = xsp; break; }
4645 private boolean jj_3R_55() {
4646 if (jj_3R_107()) return true;
4650 private boolean jj_3R_233() {
4651 if (jj_scan_token(87)) return true;
4655 private boolean jj_3R_153() {
4656 if (jj_scan_token(RETURN)) return true;
4659 if (jj_3R_228()) jj_scanpos = xsp;
4660 if (jj_scan_token(57)) return true;
4664 private boolean jj_3_10() {
4665 if (jj_3R_26()) return true;
4669 private boolean jj_3R_232() {
4670 if (jj_scan_token(86)) return true;
4674 private boolean jj_3R_133() {
4675 if (jj_scan_token(96)) return true;
4679 private boolean jj_3R_231() {
4680 if (jj_scan_token(85)) return true;
4684 private boolean jj_3R_152() {
4685 if (jj_scan_token(BREAK)) return true;
4686 if (jj_scan_token(57)) return true;
4690 private boolean jj_3R_45() {
4691 if (jj_scan_token(UNION)) return true;
4695 private boolean jj_3R_132() {
4696 if (jj_scan_token(95)) return true;
4700 private boolean jj_3R_28() {
4713 if (jj_3R_59()) return true;
4722 private boolean jj_3R_44() {
4723 if (jj_scan_token(STRUCT)) return true;
4727 private boolean jj_3R_222() {
4736 if (jj_3R_234()) return true;
4740 if (jj_3R_217()) return true;
4744 private boolean jj_3R_151() {
4745 if (jj_scan_token(CONTINUE)) return true;
4746 if (jj_scan_token(57)) return true;
4750 private boolean jj_3R_131() {
4751 if (jj_scan_token(100)) return true;
4752 if (jj_scan_token(IDENTIFIER)) return true;
4756 private boolean jj_3_18() {
4757 if (jj_3R_35()) return true;
4761 private boolean jj_3R_20() {
4766 if (jj_3R_45()) return true;
4771 private boolean jj_3R_217() {
4772 if (jj_3R_221()) return true;
4775 if (jj_3R_222()) jj_scanpos = xsp;
4779 private boolean jj_3R_130() {
4780 if (jj_scan_token(99)) return true;
4781 if (jj_scan_token(IDENTIFIER)) return true;
4785 private boolean jj_3R_150() {
4786 if (jj_scan_token(GOTO)) return true;
4787 if (jj_scan_token(IDENTIFIER)) return true;
4788 if (jj_scan_token(57)) return true;
4792 private boolean jj_3R_171() {
4793 if (jj_3R_35()) return true;
4797 private boolean jj_3R_169() {
4798 if (jj_3R_106()) return true;
4802 private boolean jj_3R_110() {
4811 if (jj_3R_153()) return true;
4818 private boolean jj_3R_124() {
4819 if (jj_scan_token(65)) return true;
4822 if (jj_3R_169()) jj_scanpos = xsp;
4823 if (jj_scan_token(66)) return true;
4827 private boolean jj_3R_129() {
4828 if (jj_scan_token(55)) return true;
4831 if (jj_3R_171()) jj_scanpos = xsp;
4832 if (jj_scan_token(56)) return true;
4836 private boolean jj_3R_39() {
4837 if (jj_3R_20()) return true;
4838 if (jj_scan_token(IDENTIFIER)) return true;
4842 private boolean jj_3R_224() {
4843 if (jj_scan_token(84)) return true;
4847 private boolean jj_3R_128() {
4848 if (jj_scan_token(65)) return true;
4849 if (jj_3R_116()) return true;
4850 if (jj_scan_token(66)) return true;
4854 private boolean jj_3R_139() {
4855 if (jj_scan_token(REGISTER)) return true;
4859 private boolean jj_3R_223() {
4860 if (jj_scan_token(83)) return true;
4864 private boolean jj_3R_21() {
4865 if (jj_scan_token(IDENTIFIER)) return true;
4869 private boolean jj_3R_138() {
4870 if (jj_scan_token(AUTO)) return true;
4874 private boolean jj_3R_94() {
4887 if (jj_3R_133()) return true;
4896 private boolean jj_3R_99() {
4901 if (jj_3R_139()) return true;
4906 private boolean jj_3R_34() {
4907 if (jj_3R_93()) return true;
4911 if (jj_3R_94()) { jj_scanpos = xsp; break; }
4916 private boolean jj_3_7() {
4917 if (jj_3R_20()) return true;
4920 if (jj_3R_21()) jj_scanpos = xsp;
4921 if (jj_scan_token(61)) return true;
4922 if (jj_3R_22()) return true;
4923 if (jj_scan_token(62)) return true;
4927 private boolean jj_3_9() {
4928 if (jj_scan_token(59)) return true;
4929 if (jj_3R_25()) return true;
4933 private boolean jj_3R_218() {
4938 if (jj_3R_224()) return true;
4940 if (jj_3R_211()) return true;
4944 private boolean jj_3R_40() {
4948 if (jj_3R_99()) { jj_scanpos = xsp; break; }
4953 private boolean jj_3R_15() {
4958 if (jj_3R_39()) return true;
4963 private boolean jj_3R_209() {
4964 if (jj_3R_25()) return true;
4968 if (jj_3_9()) { jj_scanpos = xsp; break; }
4973 private boolean jj_3R_211() {
4974 if (jj_3R_217()) return true;
4977 if (jj_3R_218()) jj_scanpos = xsp;
4981 private boolean jj_3R_227() {
4982 if (jj_3R_116()) return true;
4986 private boolean jj_3R_54() {
4987 if (jj_scan_token(STATIC)) return true;
4991 private boolean jj_3R_226() {
4992 if (jj_3R_116()) return true;
4996 private boolean jj_3R_210() {
4997 if (jj_scan_token(59)) return true;
5001 private boolean jj_3R_27() {
5004 if (jj_3R_54()) jj_scanpos = xsp;
5005 if (jj_3R_16()) return true;
5009 private boolean jj_3R_225() {
5010 if (jj_3R_116()) return true;
5014 private boolean jj_3R_212() {
5015 if (jj_scan_token(82)) return true;
5016 if (jj_3R_200()) return true;
5020 private boolean jj_3R_197() {
5021 if (jj_3R_124()) return true;
5025 private boolean jj_3R_50() {
5026 if (jj_scan_token(61)) return true;
5027 if (jj_3R_209()) return true;
5030 if (jj_3R_210()) jj_scanpos = xsp;
5031 if (jj_scan_token(62)) return true;
5035 private boolean jj_3R_196() {
5036 if (jj_3R_123()) return true;
5040 private boolean jj_3R_200() {
5041 if (jj_3R_211()) return true;
5044 if (jj_3R_212()) jj_scanpos = xsp;
5048 private boolean jj_3R_49() {
5049 if (jj_3R_105()) return true;
5053 private boolean jj_3R_195() {
5054 if (jj_3R_122()) return true;
5058 private boolean jj_3R_159() {
5059 if (jj_scan_token(98)) return true;
5063 private boolean jj_3R_149() {
5064 if (jj_scan_token(FOR)) return true;
5065 if (jj_scan_token(55)) return true;
5068 if (jj_3R_225()) jj_scanpos = xsp;
5069 if (jj_scan_token(57)) return true;
5071 if (jj_3R_226()) jj_scanpos = xsp;
5072 if (jj_scan_token(57)) return true;
5074 if (jj_3R_227()) jj_scanpos = xsp;
5075 if (jj_scan_token(56)) return true;
5076 if (jj_3R_28()) return true;
5080 private boolean jj_3R_194() {
5081 if (jj_3R_15()) return true;
5085 private boolean jj_3R_220() {
5086 if (jj_scan_token(LONG)) return true;
5090 private boolean jj_3R_158() {
5091 if (jj_scan_token(97)) return true;
5095 private boolean jj_3R_16() {
5096 if (jj_3R_40()) return true;
5097 if (jj_3R_32()) return true;
5098 if (jj_3R_41()) return true;
5099 if (jj_scan_token(57)) return true;
5103 private boolean jj_3R_25() {
5108 if (jj_3R_50()) return true;
5113 private boolean jj_3R_157() {
5114 if (jj_scan_token(92)) return true;
5118 private boolean jj_3R_156() {
5119 if (jj_scan_token(91)) return true;
5123 private boolean jj_3R_216() {
5124 if (jj_scan_token(LONG)) return true;
5127 if (jj_3R_220()) jj_scanpos = xsp;
5131 private boolean jj_3R_155() {
5132 if (jj_scan_token(58)) return true;
5136 private boolean jj_3R_215() {
5137 if (jj_scan_token(INT)) return true;
5141 private boolean jj_3R_154() {
5142 if (jj_scan_token(82)) return true;
5146 private boolean jj_3R_219() {
5147 if (jj_scan_token(INT)) return true;
5151 private boolean jj_3R_201() {
5152 if (jj_scan_token(81)) return true;
5153 if (jj_3R_176()) return true;
5157 private boolean jj_3R_148() {
5158 if (jj_scan_token(DO)) return true;
5159 if (jj_3R_28()) return true;
5160 if (jj_scan_token(WHILE)) return true;
5161 if (jj_scan_token(55)) return true;
5162 if (jj_3R_116()) return true;
5163 if (jj_scan_token(56)) return true;
5164 if (jj_scan_token(57)) return true;
5168 private boolean jj_3R_173() {
5169 if (jj_3R_124()) return true;
5173 private boolean jj_3R_176() {
5174 if (jj_3R_200()) return true;
5177 if (jj_3R_201()) jj_scanpos = xsp;
5181 private boolean jj_3R_214() {
5182 if (jj_scan_token(SHORT)) return true;
5185 if (jj_3R_219()) jj_scanpos = xsp;
5189 private boolean jj_3R_111() {
5202 if (jj_3R_159()) return true;
5211 private boolean jj_3R_19() {
5212 if (jj_3R_32()) return true;
5213 if (jj_scan_token(IDENTIFIER)) return true;
5216 if (jj_3R_173()) jj_scanpos = xsp;
5220 private boolean jj_3R_213() {
5221 if (jj_scan_token(CHAR)) return true;
5225 private boolean jj_3R_147() {
5226 if (jj_scan_token(WHILE)) return true;
5227 if (jj_scan_token(55)) return true;
5228 if (jj_3R_116()) return true;
5229 if (jj_scan_token(56)) return true;
5230 if (jj_3R_28()) return true;
5234 private boolean jj_3R_206() {
5243 if (jj_3R_216()) return true;
5250 private boolean jj_3R_205() {
5251 if (jj_scan_token(UNSIGNED)) return true;
5255 private boolean jj_3R_109() {
5262 if (jj_3R_149()) return true;
5268 private boolean jj_3R_204() {
5269 if (jj_scan_token(SIGNED)) return true;
5273 private boolean jj_3R_177() {
5274 if (jj_scan_token(80)) return true;
5275 if (jj_3R_160()) return true;
5279 private boolean jj_3R_136() {
5280 if (jj_scan_token(59)) return true;
5281 if (jj_scan_token(60)) return true;
5285 private boolean jj_3_16() {
5286 if (jj_3R_29()) return true;
5290 private boolean jj_3R_160() {
5291 if (jj_3R_176()) return true;
5294 if (jj_3R_177()) jj_scanpos = xsp;
5298 private boolean jj_3R_193() {
5303 if (jj_3R_205()) return true;
5306 if (jj_3R_206()) jj_scanpos = xsp;
5310 /** Generated Token Manager. */
5311 public CParserTokenManager token_source;
5312 SimpleCharStream jj_input_stream;
5313 /** Current token. */
5318 private Token jj_scanpos, jj_lastpos;
5321 final private int[] jj_la1 = new int[94];
5322 static private int[] jj_la1_0;
5323 static private int[] jj_la1_1;
5324 static private int[] jj_la1_2;
5325 static private int[] jj_la1_3;
5332 private static void jj_la1_init_0() {
5333 jj_la1_0 = new int[] {0xc5c00000,0x40000000,0x84800000,0x0,0x40000000,0x84800000,0x84800000,0x0,0x0,0x0,0x400000,0x400000,0x0,0x0,0x0,0x800000,0x0,0x0,0x0,0x0,0x84800000,0x0,0x0,0x0,0x0,0x0,0x800000,0x0,0x0,0x0,0x0,0x84800000,0x0,0x0,0x0,0x80000000,0x80000000,0x84800000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x80d1000,0x80d1000,0x381d1000,0x2000000,0x80d1000,0xbedd1000,0x3a1d1000,0x10000000,0x80d1000,0x80d1000,0x80d1000,0x0,0x80d1000,0x20100000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x80d1000,0x0,0x8000000,0x0,0x0,0x0,0xd1000,0x0,0x8c8d1000,0xd1000,};
5335 private static void jj_la1_init_1() {
5336 jj_la1_1 = new int[] {0x127cf3,0x1,0x126cf2,0x22000000,0x1,0x126cf2,0x126cf2,0x8000000,0x0,0x1,0x1000,0x1000,0x20,0x20000,0x400,0x2,0x20000,0x400,0x24480,0x24480,0x126cd2,0x4000000,0x0,0x20,0x20000,0x400,0x2,0x20000,0x400,0x24480,0x24480,0x26cd2,0x4000000,0x0,0x100000,0x10,0x10,0x126cf2,0x8000000,0x0,0x80000000,0x0,0x0,0x100000,0x100000,0x100000,0x8000000,0x80000000,0x20,0x4000000,0x8000000,0x8000000,0x24900000,0x4900000,0x269d800c,0x100200,0x4900000,0x269ffeff,0x269d820c,0x40000,0x4900000,0x4900000,0x4900000,0x90004,0x4900000,0x8008,0x8000000,0x80000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x4000000,0x4000000,0x4900000,0x800000,0x4000000,0x4000000,0x800000,0x800000,0x900000,0x8000000,0x4926cf2,0x0,};
5338 private static void jj_la1_init_2() {
5339 jj_la1_2 = new int[] {0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x2,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x2,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x2,0x0,0x0,0x0,0x0,0x0,0x2,0x0,0x3,0x3,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x98040000,0x98040000,0x98040000,0x0,0x98040000,0x98040000,0x98040000,0x0,0x98040000,0x98040000,0x98040000,0x0,0x98040000,0x0,0x0,0x1ff8,0x2000,0x4000,0x8000,0x10000,0x20000,0x40000,0x180000,0x180000,0x1e00000,0x1e00000,0x6000000,0x6000000,0x18000000,0x18000000,0x60000000,0x60000000,0x98040000,0x0,0x98040000,0x18040000,0x80000002,0x80000002,0x0,0x0,0x98040000,0x0,};
5341 private static void jj_la1_init_3() {
5342 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,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7,0x7,0x7,0x0,0x7,0x7,0x7,0x0,0x7,0x7,0x7,0x0,0x7,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7,0x0,0x7,0x6,0x19,0x19,0x0,0x0,0x7,0x0,};
5344 final private JJCalls[] jj_2_rtns = new JJCalls[18];
5345 private boolean jj_rescan = false;
5346 private int jj_gc = 0;
5348 /** Constructor with InputStream. */
5349 public GNUnetParser(java.io.InputStream stream) {
5352 /** Constructor with InputStream and supplied encoding */
5353 public GNUnetParser(java.io.InputStream stream, String encoding) {
5354 try { jj_input_stream = new SimpleCharStream(stream, encoding, 1, 1); } catch(java.io.UnsupportedEncodingException e) { throw new RuntimeException(e); }
5355 token_source = new CParserTokenManager(jj_input_stream);
5356 token = new Token();
5359 for (int i = 0; i < 94; i++) jj_la1[i] = -1;
5360 for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
5363 /** Reinitialise. */
5364 public void ReInit(java.io.InputStream stream) {
5365 ReInit(stream, null);
5367 /** Reinitialise. */
5368 public void ReInit(java.io.InputStream stream, String encoding) {
5369 try { jj_input_stream.ReInit(stream, encoding, 1, 1); } catch(java.io.UnsupportedEncodingException e) { throw new RuntimeException(e); }
5370 token_source.ReInit(jj_input_stream);
5371 token = new Token();
5374 for (int i = 0; i < 94; i++) jj_la1[i] = -1;
5375 for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
5379 public GNUnetParser(java.io.Reader stream) {
5380 jj_input_stream = new SimpleCharStream(stream, 1, 1);
5381 token_source = new CParserTokenManager(jj_input_stream);
5382 token = new Token();
5385 for (int i = 0; i < 94; i++) jj_la1[i] = -1;
5386 for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
5389 /** Reinitialise. */
5390 public void ReInit(java.io.Reader stream) {
5391 jj_input_stream.ReInit(stream, 1, 1);
5392 token_source.ReInit(jj_input_stream);
5393 token = new Token();
5396 for (int i = 0; i < 94; i++) jj_la1[i] = -1;
5397 for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
5400 /** Constructor with generated Token Manager. */
5401 public GNUnetParser(CParserTokenManager tm) {
5403 token = new Token();
5406 for (int i = 0; i < 94; i++) jj_la1[i] = -1;
5407 for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
5410 /** Reinitialise. */
5411 public void ReInit(CParserTokenManager tm) {
5413 token = new Token();
5416 for (int i = 0; i < 94; i++) jj_la1[i] = -1;
5417 for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
5420 private Token jj_consume_token(int kind) throws ParseException {
5422 if ((oldToken = token).next != null) token = token.next;
5423 else token = token.next = token_source.getNextToken();
5425 if (token.kind == kind) {
5427 if (++jj_gc > 100) {
5429 for (int i = 0; i < jj_2_rtns.length; i++) {
5430 JJCalls c = jj_2_rtns[i];
5432 if (c.gen < jj_gen) c.first = null;
5441 throw generateParseException();
5444 static private final class LookaheadSuccess extends java.lang.Error { }
5445 final private LookaheadSuccess jj_ls = new LookaheadSuccess();
5446 private boolean jj_scan_token(int kind) {
5447 if (jj_scanpos == jj_lastpos) {
5449 if (jj_scanpos.next == null) {
5450 jj_lastpos = jj_scanpos = jj_scanpos.next = token_source.getNextToken();
5452 jj_lastpos = jj_scanpos = jj_scanpos.next;
5455 jj_scanpos = jj_scanpos.next;
5458 int i = 0; Token tok = token;
5459 while (tok != null && tok != jj_scanpos) { i++; tok = tok.next; }
5460 if (tok != null) jj_add_error_token(kind, i);
5462 if (jj_scanpos.kind != kind) return true;
5463 if (jj_la == 0 && jj_scanpos == jj_lastpos) throw jj_ls;
5468 /** Get the next Token. */
5469 final public Token getNextToken() {
5470 if (token.next != null) token = token.next;
5471 else token = token.next = token_source.getNextToken();
5477 /** Get the specific Token. */
5478 final public Token getToken(int index) {
5480 for (int i = 0; i < index; i++) {
5481 if (t.next != null) t = t.next;
5482 else t = t.next = token_source.getNextToken();
5487 private int jj_ntk() {
5488 if ((jj_nt=token.next) == null)
5489 return (jj_ntk = (token.next=token_source.getNextToken()).kind);
5491 return (jj_ntk = jj_nt.kind);
5494 private java.util.List<int[]> jj_expentries = new java.util.ArrayList<int[]>();
5495 private int[] jj_expentry;
5496 private int jj_kind = -1;
5497 private int[] jj_lasttokens = new int[100];
5498 private int jj_endpos;
5500 private void jj_add_error_token(int kind, int pos) {
5501 if (pos >= 100) return;
5502 if (pos == jj_endpos + 1) {
5503 jj_lasttokens[jj_endpos++] = kind;
5504 } else if (jj_endpos != 0) {
5505 jj_expentry = new int[jj_endpos];
5506 for (int i = 0; i < jj_endpos; i++) {
5507 jj_expentry[i] = jj_lasttokens[i];
5509 jj_entries_loop: for (java.util.Iterator<?> it = jj_expentries.iterator(); it.hasNext();) {
5510 int[] oldentry = (int[])(it.next());
5511 if (oldentry.length == jj_expentry.length) {
5512 for (int i = 0; i < jj_expentry.length; i++) {
5513 if (oldentry[i] != jj_expentry[i]) {
5514 continue jj_entries_loop;
5517 jj_expentries.add(jj_expentry);
5518 break jj_entries_loop;
5521 if (pos != 0) jj_lasttokens[(jj_endpos = pos) - 1] = kind;
5525 /** Generate ParseException. */
5526 public ParseException generateParseException() {
5527 jj_expentries.clear();
5528 boolean[] la1tokens = new boolean[101];
5530 la1tokens[jj_kind] = true;
5533 for (int i = 0; i < 94; i++) {
5534 if (jj_la1[i] == jj_gen) {
5535 for (int j = 0; j < 32; j++) {
5536 if ((jj_la1_0[i] & (1<<j)) != 0) {
5537 la1tokens[j] = true;
5539 if ((jj_la1_1[i] & (1<<j)) != 0) {
5540 la1tokens[32+j] = true;
5542 if ((jj_la1_2[i] & (1<<j)) != 0) {
5543 la1tokens[64+j] = true;
5545 if ((jj_la1_3[i] & (1<<j)) != 0) {
5546 la1tokens[96+j] = true;
5551 for (int i = 0; i < 101; i++) {
5553 jj_expentry = new int[1];
5555 jj_expentries.add(jj_expentry);
5560 jj_add_error_token(0, 0);
5561 int[][] exptokseq = new int[jj_expentries.size()][];
5562 for (int i = 0; i < jj_expentries.size(); i++) {
5563 exptokseq[i] = jj_expentries.get(i);
5565 return new ParseException(token, exptokseq, tokenImage);
5568 /** Enable tracing. */
5569 final public void enable_tracing() {
5572 /** Disable tracing. */
5573 final public void disable_tracing() {
5576 private void jj_rescan_token() {
5578 for (int i = 0; i < 18; i++) {
5580 JJCalls p = jj_2_rtns[i];
5582 if (p.gen > jj_gen) {
5583 jj_la = p.arg; jj_lastpos = jj_scanpos = p.first;
5585 case 0: jj_3_1(); break;
5586 case 1: jj_3_2(); break;
5587 case 2: jj_3_3(); break;
5588 case 3: jj_3_4(); break;
5589 case 4: jj_3_5(); break;
5590 case 5: jj_3_6(); break;
5591 case 6: jj_3_7(); break;
5592 case 7: jj_3_8(); break;
5593 case 8: jj_3_9(); break;
5594 case 9: jj_3_10(); break;
5595 case 10: jj_3_11(); break;
5596 case 11: jj_3_12(); break;
5597 case 12: jj_3_13(); break;
5598 case 13: jj_3_14(); break;
5599 case 14: jj_3_15(); break;
5600 case 15: jj_3_16(); break;
5601 case 16: jj_3_17(); break;
5602 case 17: jj_3_18(); break;
5606 } while (p != null);
5607 } catch(LookaheadSuccess ls) { }
5612 private void jj_save(int index, int xla) {
5613 JJCalls p = jj_2_rtns[index];
5614 while (p.gen > jj_gen) {
5615 if (p.next == null) { p = p.next = new JJCalls(); break; }
5618 p.gen = jj_gen + xla - jj_la; p.first = token; p.arg = xla;
5621 static final class JJCalls {
5631 static NodeToken makeNodeToken(Token t) {
5632 return new NodeToken(t.image.intern(), t.kind, t.beginLine, t.beginColumn, t.endLine, t.endColumn);