1 package org.gnunet.monkey.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;
7 import org.gnunet.monkey.parser.nodes.*;
9 public class GNUnetParser implements CParserConstants {
10 private static final boolean DEBUG = false;
12 public static void main(String args[])
14 GNUnetParser parser = null;
15 boolean isFirstFile = true;
16 int fileNotFoundCount = 0;
19 System.out.println("C Parser Version 0.1Alpha: Reading from GNUnet source directory . . .");
20 String gnunetSourcePath = System.getenv("MAINDIR") + "/src";
22 /* Filtering out files */
23 FileFilter filter = new FileFilter() {
24 public boolean accept(File file) {
25 return file.isDirectory();
29 /* File filter to get only source and header files */
30 FileFilter sourceFilter = new FileFilter() {
31 public boolean accept(File file) {
32 String fileName = file.getName();
33 return (fileName.endsWith(".c") || fileName.endsWith(".h"));
37 File[] dirArr = (new File(gnunetSourcePath)).listFiles(filter);
38 for (int i = 0; i < dirArr.length; i++) {
40 File[] fileArr = dir.listFiles(sourceFilter);
41 for (int j = 0; j < fileArr.length; j++) {
44 parser = new GNUnetParser(new FileInputStream(fileArr[j].getPath()));
48 parser.ReInit(new FileInputStream(fileArr[j].getPath()));
50 catch (FileNotFoundException e) {
55 parser.TranslationUnit();
56 System.out.println("File " + fileArr[j].getName() + " parsed successfully.");
59 catch (ParseException e) {
60 System.out.println("Encountered errors during parsing file " + fileArr[j].getName());
67 System.out.println(successCount + " parsed successfully.");
68 System.out.println("Failed to parse " + failureCount + " files.");
69 System.out.println(fileNotFoundCount + " files not found.");
72 final public TranslationUnit TranslationUnit() throws ParseException {
73 NodeList n0 = new NodeList();
74 ExternalDeclaration n1;
77 n1 = ExternalDeclaration();
79 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
106 n0.nodes.trimToSize();
107 {if (true) return new TranslationUnit(n0);}
108 throw new Error("Missing return statement in function");
111 final public ExternalDeclaration ExternalDeclaration() throws ParseException {
112 NodeListOptional n0 = new NodeListOptional();
113 StorageClassSpecifier n1;
115 FunctionDeclaration n3;
116 StructOrUnionSpecifier n4;
117 VariableDeclaration n5;
121 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
130 n1 = StorageClassSpecifier();
133 n0.nodes.trimToSize();
134 if (jj_2_1(2147483647)) {
135 n3 = FunctionDeclaration();
136 n2 = new NodeChoice(n3, 0);
137 } else if (jj_2_2(2147483647)) {
138 n4 = StructOrUnionSpecifier();
139 n2 = new NodeChoice(n4, 1);
140 } else if (jj_2_3(2147483647)) {
141 n5 = VariableDeclaration();
142 n2 = new NodeChoice(n5, 2);
143 } else if (jj_2_4(2147483647)) {
144 n6 = TypeDeclaration();
145 n2 = new NodeChoice(n6, 3);
147 jj_consume_token(-1);
148 throw new ParseException();
150 {if (true) return new ExternalDeclaration(n0,n2);}
151 throw new Error("Missing return statement in function");
154 final public FunctionDeclaration FunctionDeclaration() throws ParseException {
160 NodeOptional n5 = new NodeOptional();
167 CompoundStatement n12;
168 n0 = TypeSpecifier();
169 n2 = jj_consume_token(IDENTIFIER);
170 n1 = JTBToolkit.makeNodeToken(n2);
171 n4 = jj_consume_token(55);
172 n3 = JTBToolkit.makeNodeToken(n4);
173 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
188 n6 = ParameterList();
195 n8 = jj_consume_token(56);
196 n7 = JTBToolkit.makeNodeToken(n8);
197 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
199 n11 = jj_consume_token(57);
200 n10 = JTBToolkit.makeNodeToken(n11);
201 n9 = new NodeChoice(n10, 0);
204 n12 = CompoundStatement();
205 n9 = new NodeChoice(n12, 1);
209 jj_consume_token(-1);
210 throw new ParseException();
212 {if (true) return new FunctionDeclaration(n0,n1,n3,n5,n7,n9);}
213 throw new Error("Missing return statement in function");
216 final public StorageClassSpecifier StorageClassSpecifier() throws ParseException {
222 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
224 n2 = jj_consume_token(STATIC);
225 n1 = JTBToolkit.makeNodeToken(n2);
226 n0 = new NodeChoice(n1, 0);
229 n4 = jj_consume_token(EXTERN);
230 n3 = JTBToolkit.makeNodeToken(n4);
231 n0 = new NodeChoice(n3, 1);
235 jj_consume_token(-1);
236 throw new ParseException();
238 {if (true) return new StorageClassSpecifier(n0);}
239 throw new Error("Missing return statement in function");
242 final public TypeDeclaration TypeDeclaration() throws ParseException {
250 n1 = jj_consume_token(TYPEDEF);
251 n0 = JTBToolkit.makeNodeToken(n1);
252 if (jj_2_5(2147483647)) {
254 n2 = new NodeChoice(n3, 0);
256 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
272 n2 = new NodeChoice(n4, 1);
276 jj_consume_token(-1);
277 throw new ParseException();
280 n6 = jj_consume_token(57);
281 n5 = JTBToolkit.makeNodeToken(n6);
282 {if (true) return new TypeDeclaration(n0,n2,n5);}
283 throw new Error("Missing return statement in function");
286 final public DataType DataType() throws ParseException {
287 StructOrUnionSpecifier n0;
290 n0 = StructOrUnionSpecifier();
291 n2 = jj_consume_token(IDENTIFIER);
292 n1 = JTBToolkit.makeNodeToken(n2);
293 {if (true) return new DataType(n0,n1);}
294 throw new Error("Missing return statement in function");
297 final public FunctionType FunctionType() throws ParseException {
309 NodeOptional n11 = new NodeOptional();
313 n0 = TypeSpecifier();
314 n2 = jj_consume_token(55);
315 n1 = JTBToolkit.makeNodeToken(n2);
316 n4 = jj_consume_token(58);
317 n3 = JTBToolkit.makeNodeToken(n4);
318 n6 = jj_consume_token(IDENTIFIER);
319 n5 = JTBToolkit.makeNodeToken(n6);
320 n8 = jj_consume_token(56);
321 n7 = JTBToolkit.makeNodeToken(n8);
322 n10 = jj_consume_token(55);
323 n9 = JTBToolkit.makeNodeToken(n10);
324 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
339 n12 = ParameterList();
346 n14 = jj_consume_token(56);
347 n13 = JTBToolkit.makeNodeToken(n14);
348 {if (true) return new FunctionType(n0,n1,n3,n5,n7,n9,n11,n13);}
349 throw new Error("Missing return statement in function");
352 final public ParameterList ParameterList() throws ParseException {
353 ParameterDeclaration n0;
354 NodeListOptional n1 = new NodeListOptional();
358 ParameterDeclaration n5;
359 NodeOptional n6 = new NodeOptional();
365 n0 = ParameterDeclaration();
373 n2 = new NodeSequence(2);
374 n4 = jj_consume_token(59);
375 n3 = JTBToolkit.makeNodeToken(n4);
377 n5 = ParameterDeclaration();
381 n1.nodes.trimToSize();
382 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
384 n7 = new NodeSequence(2);
385 n9 = jj_consume_token(59);
386 n8 = JTBToolkit.makeNodeToken(n9);
388 n11 = jj_consume_token(60);
389 n10 = JTBToolkit.makeNodeToken(n11);
397 {if (true) return new ParameterList(n0,n1,n6);}
398 throw new Error("Missing return statement in function");
401 final public ParameterDeclaration ParameterDeclaration() throws ParseException {
405 NodeOptional n3 = new NodeOptional();
407 n0 = TypeSpecifier();
408 n2 = jj_consume_token(IDENTIFIER);
409 n1 = JTBToolkit.makeNodeToken(n2);
410 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
419 {if (true) return new ParameterDeclaration(n0,n1,n3);}
420 throw new Error("Missing return statement in function");
423 final public VariableDeclaration VariableDeclaration() throws ParseException {
424 VariableClassSpecifier n0;
426 InitDeclaratorList n2;
429 n0 = VariableClassSpecifier();
430 n1 = TypeSpecifier();
431 n2 = InitDeclaratorList();
432 n4 = jj_consume_token(57);
433 n3 = JTBToolkit.makeNodeToken(n4);
434 {if (true) return new VariableDeclaration(n0,n1,n2,n3);}
435 throw new Error("Missing return statement in function");
438 final public LocalVariableDeclaration LocalVariableDeclaration() throws ParseException {
439 NodeOptional n0 = new NodeOptional();
442 VariableDeclaration n3;
443 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
445 n2 = jj_consume_token(STATIC);
446 n1 = JTBToolkit.makeNodeToken(n2);
453 n3 = VariableDeclaration();
454 {if (true) return new LocalVariableDeclaration(n0,n3);}
455 throw new Error("Missing return statement in function");
458 final public VariableClassSpecifier VariableClassSpecifier() throws ParseException {
459 NodeListOptional n0 = new NodeListOptional();
467 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
476 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
478 n3 = jj_consume_token(AUTO);
479 n2 = JTBToolkit.makeNodeToken(n3);
480 n1 = new NodeChoice(n2, 0);
483 n5 = jj_consume_token(REGISTER);
484 n4 = JTBToolkit.makeNodeToken(n5);
485 n1 = new NodeChoice(n4, 1);
489 jj_consume_token(-1);
490 throw new ParseException();
494 n0.nodes.trimToSize();
495 {if (true) return new VariableClassSpecifier(n0);}
496 throw new Error("Missing return statement in function");
499 final public TypeSpecifier TypeSpecifier() throws ParseException {
500 NodeOptional n0 = new NodeOptional();
511 NodeOptional n11 = new NodeOptional();
519 NodeOptional n19 = new NodeOptional();
532 NodeOptional n32 = new NodeOptional();
550 StructOrUnionSpecifier n50;
554 NodeOptional n54 = new NodeOptional();
556 NodeOptional n56 = new NodeOptional();
558 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
560 n2 = jj_consume_token(CONST);
561 n1 = JTBToolkit.makeNodeToken(n2);
568 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
570 n5 = jj_consume_token(VOID);
571 n4 = JTBToolkit.makeNodeToken(n5);
572 n3 = new NodeChoice(n4, 0);
575 n7 = jj_consume_token(CHAR);
576 n6 = JTBToolkit.makeNodeToken(n7);
577 n3 = new NodeChoice(n6, 1);
580 n8 = new NodeSequence(2);
581 n10 = jj_consume_token(SHORT);
582 n9 = JTBToolkit.makeNodeToken(n10);
584 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
586 n13 = jj_consume_token(INT);
587 n12 = JTBToolkit.makeNodeToken(n13);
595 n3 = new NodeChoice(n8, 2);
598 n15 = jj_consume_token(INT);
599 n14 = JTBToolkit.makeNodeToken(n15);
600 n3 = new NodeChoice(n14, 3);
603 n16 = new NodeSequence(2);
604 n18 = jj_consume_token(LONG);
605 n17 = JTBToolkit.makeNodeToken(n18);
607 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
609 n21 = jj_consume_token(LONG);
610 n20 = JTBToolkit.makeNodeToken(n21);
618 n3 = new NodeChoice(n16, 4);
621 n23 = jj_consume_token(FLOAT);
622 n22 = JTBToolkit.makeNodeToken(n23);
623 n3 = new NodeChoice(n22, 5);
626 n25 = jj_consume_token(DOUBLE);
627 n24 = JTBToolkit.makeNodeToken(n25);
628 n3 = new NodeChoice(n24, 6);
632 n26 = new NodeSequence(2);
633 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
635 n29 = jj_consume_token(SIGNED);
636 n28 = JTBToolkit.makeNodeToken(n29);
637 n27 = new NodeChoice(n28, 0);
640 n31 = jj_consume_token(UNSIGNED);
641 n30 = JTBToolkit.makeNodeToken(n31);
642 n27 = new NodeChoice(n30, 1);
646 jj_consume_token(-1);
647 throw new ParseException();
650 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
655 n39 = new NodeOptional();
656 n47 = new NodeOptional();
657 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
659 n35 = jj_consume_token(CHAR);
660 n34 = JTBToolkit.makeNodeToken(n35);
661 n33 = new NodeChoice(n34, 0);
664 n36 = new NodeSequence(2);
665 n38 = jj_consume_token(SHORT);
666 n37 = JTBToolkit.makeNodeToken(n38);
668 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
670 n41 = jj_consume_token(INT);
671 n40 = JTBToolkit.makeNodeToken(n41);
679 n33 = new NodeChoice(n36, 1);
682 n43 = jj_consume_token(INT);
683 n42 = JTBToolkit.makeNodeToken(n43);
684 n33 = new NodeChoice(n42, 2);
687 n44 = new NodeSequence(2);
688 n46 = jj_consume_token(LONG);
689 n45 = JTBToolkit.makeNodeToken(n46);
691 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
693 n49 = jj_consume_token(LONG);
694 n48 = JTBToolkit.makeNodeToken(n49);
702 n33 = new NodeChoice(n44, 3);
706 jj_consume_token(-1);
707 throw new ParseException();
716 n3 = new NodeChoice(n26, 7);
720 n50 = StructOrUnionSpecifier();
721 n3 = new NodeChoice(n50, 8);
724 n51 = EnumSpecifier();
725 n3 = new NodeChoice(n51, 9);
728 n53 = jj_consume_token(IDENTIFIER);
729 n52 = JTBToolkit.makeNodeToken(n53);
730 n3 = new NodeChoice(n52, 10);
734 jj_consume_token(-1);
735 throw new ParseException();
737 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
746 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
755 {if (true) return new TypeSpecifier(n0,n3,n54,n56);}
756 throw new Error("Missing return statement in function");
759 final public NoIdentifierTypeSpecifier NoIdentifierTypeSpecifier() throws ParseException {
760 NodeOptional n0 = new NodeOptional();
771 NodeOptional n11 = new NodeOptional();
779 NodeOptional n19 = new NodeOptional();
792 NodeOptional n32 = new NodeOptional();
810 StructOrUnionSpecifier n50;
812 NodeOptional n52 = new NodeOptional();
814 NodeOptional n54 = new NodeOptional();
816 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
818 n2 = jj_consume_token(CONST);
819 n1 = JTBToolkit.makeNodeToken(n2);
826 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
828 n5 = jj_consume_token(VOID);
829 n4 = JTBToolkit.makeNodeToken(n5);
830 n3 = new NodeChoice(n4, 0);
833 n7 = jj_consume_token(CHAR);
834 n6 = JTBToolkit.makeNodeToken(n7);
835 n3 = new NodeChoice(n6, 1);
838 n8 = new NodeSequence(2);
839 n10 = jj_consume_token(SHORT);
840 n9 = JTBToolkit.makeNodeToken(n10);
842 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
844 n13 = jj_consume_token(INT);
845 n12 = JTBToolkit.makeNodeToken(n13);
853 n3 = new NodeChoice(n8, 2);
856 n15 = jj_consume_token(INT);
857 n14 = JTBToolkit.makeNodeToken(n15);
858 n3 = new NodeChoice(n14, 3);
861 n16 = new NodeSequence(2);
862 n18 = jj_consume_token(LONG);
863 n17 = JTBToolkit.makeNodeToken(n18);
865 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
867 n21 = jj_consume_token(LONG);
868 n20 = JTBToolkit.makeNodeToken(n21);
876 n3 = new NodeChoice(n16, 4);
879 n23 = jj_consume_token(FLOAT);
880 n22 = JTBToolkit.makeNodeToken(n23);
881 n3 = new NodeChoice(n22, 5);
884 n25 = jj_consume_token(DOUBLE);
885 n24 = JTBToolkit.makeNodeToken(n25);
886 n3 = new NodeChoice(n24, 6);
890 n26 = new NodeSequence(2);
891 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
893 n29 = jj_consume_token(SIGNED);
894 n28 = JTBToolkit.makeNodeToken(n29);
895 n27 = new NodeChoice(n28, 0);
898 n31 = jj_consume_token(UNSIGNED);
899 n30 = JTBToolkit.makeNodeToken(n31);
900 n27 = new NodeChoice(n30, 1);
904 jj_consume_token(-1);
905 throw new ParseException();
908 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
913 n39 = new NodeOptional();
914 n47 = new NodeOptional();
915 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
917 n35 = jj_consume_token(CHAR);
918 n34 = JTBToolkit.makeNodeToken(n35);
919 n33 = new NodeChoice(n34, 0);
922 n36 = new NodeSequence(2);
923 n38 = jj_consume_token(SHORT);
924 n37 = JTBToolkit.makeNodeToken(n38);
926 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
928 n41 = jj_consume_token(INT);
929 n40 = JTBToolkit.makeNodeToken(n41);
937 n33 = new NodeChoice(n36, 1);
940 n43 = jj_consume_token(INT);
941 n42 = JTBToolkit.makeNodeToken(n43);
942 n33 = new NodeChoice(n42, 2);
945 n44 = new NodeSequence(2);
946 n46 = jj_consume_token(LONG);
947 n45 = JTBToolkit.makeNodeToken(n46);
949 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
951 n49 = jj_consume_token(LONG);
952 n48 = JTBToolkit.makeNodeToken(n49);
960 n33 = new NodeChoice(n44, 3);
964 jj_consume_token(-1);
965 throw new ParseException();
974 n3 = new NodeChoice(n26, 7);
978 n50 = StructOrUnionSpecifier();
979 n3 = new NodeChoice(n50, 8);
982 n51 = EnumSpecifier();
983 n3 = new NodeChoice(n51, 9);
987 jj_consume_token(-1);
988 throw new ParseException();
990 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
999 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1005 jj_la1[33] = jj_gen;
1008 {if (true) return new NoIdentifierTypeSpecifier(n0,n3,n52,n54);}
1009 throw new Error("Missing return statement in function");
1012 final public StructOrUnionSpecifier StructOrUnionSpecifier() throws ParseException {
1016 NodeOptional n3 = new NodeOptional();
1021 StructDeclarationList n8;
1029 n1 = new NodeSequence(6);
1030 n2 = StructOrUnion();
1032 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1034 n5 = jj_consume_token(IDENTIFIER);
1035 n4 = JTBToolkit.makeNodeToken(n5);
1039 jj_la1[34] = jj_gen;
1043 n7 = jj_consume_token(61);
1044 n6 = JTBToolkit.makeNodeToken(n7);
1046 n8 = StructDeclarationList();
1048 n10 = jj_consume_token(62);
1049 n9 = JTBToolkit.makeNodeToken(n10);
1051 n0 = new NodeChoice(n1, 0);
1053 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1056 n11 = new NodeSequence(2);
1057 n12 = StructOrUnion();
1059 n14 = jj_consume_token(IDENTIFIER);
1060 n13 = JTBToolkit.makeNodeToken(n14);
1062 n0 = new NodeChoice(n11, 1);
1065 jj_la1[35] = jj_gen;
1066 jj_consume_token(-1);
1067 throw new ParseException();
1070 {if (true) return new StructOrUnionSpecifier(n0);}
1071 throw new Error("Missing return statement in function");
1074 final public StructOrUnion StructOrUnion() throws ParseException {
1080 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1082 n2 = jj_consume_token(STRUCT);
1083 n1 = JTBToolkit.makeNodeToken(n2);
1084 n0 = new NodeChoice(n1, 0);
1087 n4 = jj_consume_token(UNION);
1088 n3 = JTBToolkit.makeNodeToken(n4);
1089 n0 = new NodeChoice(n3, 1);
1092 jj_la1[36] = jj_gen;
1093 jj_consume_token(-1);
1094 throw new ParseException();
1096 {if (true) return new StructOrUnion(n0);}
1097 throw new Error("Missing return statement in function");
1100 final public StructDeclarationList StructDeclarationList() throws ParseException {
1101 NodeList n0 = new NodeList();
1102 StructDeclaration n1;
1105 n1 = StructDeclaration();
1107 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1125 jj_la1[37] = jj_gen;
1129 n0.nodes.trimToSize();
1130 {if (true) return new StructDeclarationList(n0);}
1131 throw new Error("Missing return statement in function");
1134 final public InitDeclaratorList InitDeclaratorList() throws ParseException {
1136 NodeListOptional n1 = new NodeListOptional();
1141 n0 = InitDeclarator();
1144 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1149 jj_la1[38] = jj_gen;
1152 n2 = new NodeSequence(2);
1153 n4 = jj_consume_token(59);
1154 n3 = JTBToolkit.makeNodeToken(n4);
1156 n5 = InitDeclarator();
1160 n1.nodes.trimToSize();
1161 {if (true) return new InitDeclaratorList(n0,n1);}
1162 throw new Error("Missing return statement in function");
1165 final public InitDeclarator InitDeclarator() throws ParseException {
1168 NodeOptional n2 = new NodeOptional();
1170 NodeOptional n4 = new NodeOptional();
1175 n1 = jj_consume_token(IDENTIFIER);
1176 n0 = JTBToolkit.makeNodeToken(n1);
1177 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1183 jj_la1[39] = jj_gen;
1186 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1188 n5 = new NodeSequence(2);
1189 n7 = jj_consume_token(63);
1190 n6 = JTBToolkit.makeNodeToken(n7);
1197 jj_la1[40] = jj_gen;
1200 {if (true) return new InitDeclarator(n0,n2,n4);}
1201 throw new Error("Missing return statement in function");
1204 final public StructDeclaration StructDeclaration() throws ParseException {
1208 NodeOptional n3 = new NodeOptional();
1214 ConstantExpression n9;
1215 NodeOptional n10 = new NodeOptional();
1220 n0 = TypeSpecifier();
1221 n2 = jj_consume_token(IDENTIFIER);
1222 n1 = JTBToolkit.makeNodeToken(n2);
1223 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1226 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1229 n4 = new NodeChoice(n5, 0);
1232 n6 = new NodeSequence(2);
1233 n8 = jj_consume_token(64);
1234 n7 = JTBToolkit.makeNodeToken(n8);
1236 n9 = ConstantExpression();
1238 n4 = new NodeChoice(n6, 1);
1241 jj_la1[41] = jj_gen;
1242 jj_consume_token(-1);
1243 throw new ParseException();
1248 jj_la1[42] = jj_gen;
1251 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1253 n12 = jj_consume_token(IDENTIFIER);
1254 n11 = JTBToolkit.makeNodeToken(n12);
1258 jj_la1[43] = jj_gen;
1261 n14 = jj_consume_token(57);
1262 n13 = JTBToolkit.makeNodeToken(n14);
1263 {if (true) return new StructDeclaration(n0,n1,n3,n10,n13);}
1264 throw new Error("Missing return statement in function");
1267 final public EnumSpecifier EnumSpecifier() throws ParseException {
1272 NodeOptional n4 = new NodeOptional();
1282 n1 = jj_consume_token(ENUM);
1283 n0 = JTBToolkit.makeNodeToken(n1);
1285 n3 = new NodeSequence(5);
1286 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1288 n6 = jj_consume_token(IDENTIFIER);
1289 n5 = JTBToolkit.makeNodeToken(n6);
1293 jj_la1[44] = jj_gen;
1297 n8 = jj_consume_token(61);
1298 n7 = JTBToolkit.makeNodeToken(n8);
1300 n9 = EnumeratorList();
1302 n11 = jj_consume_token(62);
1303 n10 = JTBToolkit.makeNodeToken(n11);
1305 n2 = new NodeChoice(n3, 0);
1307 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1309 n13 = jj_consume_token(IDENTIFIER);
1310 n12 = JTBToolkit.makeNodeToken(n13);
1311 n2 = new NodeChoice(n12, 1);
1314 jj_la1[45] = jj_gen;
1315 jj_consume_token(-1);
1316 throw new ParseException();
1319 {if (true) return new EnumSpecifier(n0,n2);}
1320 throw new Error("Missing return statement in function");
1323 final public EnumeratorList EnumeratorList() throws ParseException {
1325 NodeListOptional n1 = new NodeListOptional();
1333 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1338 jj_la1[46] = jj_gen;
1341 n2 = new NodeSequence(2);
1342 n4 = jj_consume_token(59);
1343 n3 = JTBToolkit.makeNodeToken(n4);
1349 n1.nodes.trimToSize();
1350 {if (true) return new EnumeratorList(n0,n1);}
1351 throw new Error("Missing return statement in function");
1354 final public Enumerator Enumerator() throws ParseException {
1357 NodeOptional n2 = new NodeOptional();
1361 ConstantExpression n6;
1362 n1 = jj_consume_token(IDENTIFIER);
1363 n0 = JTBToolkit.makeNodeToken(n1);
1364 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1366 n3 = new NodeSequence(2);
1367 n5 = jj_consume_token(63);
1368 n4 = JTBToolkit.makeNodeToken(n5);
1370 n6 = ConstantExpression();
1375 jj_la1[47] = jj_gen;
1378 {if (true) return new Enumerator(n0,n2);}
1379 throw new Error("Missing return statement in function");
1382 final public Pointer Pointer() throws ParseException {
1385 NodeOptional n2 = new NodeOptional();
1388 NodeOptional n5 = new NodeOptional();
1390 n1 = jj_consume_token(58);
1391 n0 = JTBToolkit.makeNodeToken(n1);
1392 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1394 n4 = jj_consume_token(CONST);
1395 n3 = JTBToolkit.makeNodeToken(n4);
1399 jj_la1[48] = jj_gen;
1402 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1408 jj_la1[49] = jj_gen;
1411 {if (true) return new Pointer(n0,n2,n5);}
1412 throw new Error("Missing return statement in function");
1415 final public IdentifierList IdentifierList() throws ParseException {
1418 NodeListOptional n2 = new NodeListOptional();
1424 n1 = jj_consume_token(IDENTIFIER);
1425 n0 = JTBToolkit.makeNodeToken(n1);
1428 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1433 jj_la1[50] = jj_gen;
1436 n3 = new NodeSequence(2);
1437 n5 = jj_consume_token(59);
1438 n4 = JTBToolkit.makeNodeToken(n5);
1440 n7 = jj_consume_token(IDENTIFIER);
1441 n6 = JTBToolkit.makeNodeToken(n7);
1445 n2.nodes.trimToSize();
1446 {if (true) return new IdentifierList(n0,n2);}
1447 throw new Error("Missing return statement in function");
1450 final public Initializer Initializer() throws ParseException {
1452 AssignmentExpression n1;
1457 NodeOptional n6 = new NodeOptional();
1462 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1463 case INTEGER_LITERAL:
1464 case FLOATING_POINT_LITERAL:
1465 case CHARACTER_LITERAL:
1466 case STRING_LITERAL:
1478 n1 = AssignmentExpression();
1479 n0 = new NodeChoice(n1, 0);
1482 n2 = new NodeSequence(4);
1483 n4 = jj_consume_token(61);
1484 n3 = JTBToolkit.makeNodeToken(n4);
1486 n5 = InitializerList();
1488 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1490 n8 = jj_consume_token(59);
1491 n7 = JTBToolkit.makeNodeToken(n8);
1495 jj_la1[51] = jj_gen;
1499 n10 = jj_consume_token(62);
1500 n9 = JTBToolkit.makeNodeToken(n10);
1502 n0 = new NodeChoice(n2, 1);
1505 jj_la1[52] = jj_gen;
1506 jj_consume_token(-1);
1507 throw new ParseException();
1509 {if (true) return new Initializer(n0);}
1510 throw new Error("Missing return statement in function");
1513 final public InitializerList InitializerList() throws ParseException {
1515 NodeListOptional n1 = new NodeListOptional();
1528 n2 = new NodeSequence(2);
1529 n4 = jj_consume_token(59);
1530 n3 = JTBToolkit.makeNodeToken(n4);
1536 n1.nodes.trimToSize();
1537 {if (true) return new InitializerList(n0,n1);}
1538 throw new Error("Missing return statement in function");
1541 final public Array Array() throws ParseException {
1544 NodeOptional n2 = new NodeOptional();
1545 ConstantExpression n3;
1548 n1 = jj_consume_token(65);
1549 n0 = JTBToolkit.makeNodeToken(n1);
1550 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1551 case INTEGER_LITERAL:
1552 case FLOATING_POINT_LITERAL:
1553 case CHARACTER_LITERAL:
1554 case STRING_LITERAL:
1566 n3 = ConstantExpression();
1570 jj_la1[53] = jj_gen;
1573 n5 = jj_consume_token(66);
1574 n4 = JTBToolkit.makeNodeToken(n5);
1575 {if (true) return new Array(n0,n2,n4);}
1576 throw new Error("Missing return statement in function");
1579 final public Statement Statement() throws ParseException {
1581 LabeledStatement n1;
1582 ExpressionStatement n2;
1583 CompoundStatement n3;
1584 SelectionStatement n4;
1585 IterationStatement n5;
1588 n1 = LabeledStatement();
1589 n0 = new NodeChoice(n1, 0);
1591 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1592 case INTEGER_LITERAL:
1593 case FLOATING_POINT_LITERAL:
1594 case CHARACTER_LITERAL:
1595 case STRING_LITERAL:
1608 n2 = ExpressionStatement();
1609 n0 = new NodeChoice(n2, 1);
1612 n3 = CompoundStatement();
1613 n0 = new NodeChoice(n3, 2);
1617 n4 = SelectionStatement();
1618 n0 = new NodeChoice(n4, 3);
1623 n5 = IterationStatement();
1624 n0 = new NodeChoice(n5, 4);
1630 n6 = JumpStatement();
1631 n0 = new NodeChoice(n6, 5);
1634 jj_la1[54] = jj_gen;
1635 jj_consume_token(-1);
1636 throw new ParseException();
1639 {if (true) return new Statement(n0);}
1640 throw new Error("Missing return statement in function");
1643 final public LabeledStatement LabeledStatement() throws ParseException {
1654 ConstantExpression n10;
1664 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1666 n1 = new NodeSequence(3);
1667 n3 = jj_consume_token(IDENTIFIER);
1668 n2 = JTBToolkit.makeNodeToken(n3);
1670 n5 = jj_consume_token(64);
1671 n4 = JTBToolkit.makeNodeToken(n5);
1675 n0 = new NodeChoice(n1, 0);
1678 n7 = new NodeSequence(4);
1679 n9 = jj_consume_token(CASE);
1680 n8 = JTBToolkit.makeNodeToken(n9);
1682 n10 = ConstantExpression();
1684 n12 = jj_consume_token(64);
1685 n11 = JTBToolkit.makeNodeToken(n12);
1689 n0 = new NodeChoice(n7, 1);
1692 n14 = new NodeSequence(3);
1693 n16 = jj_consume_token(DFLT);
1694 n15 = JTBToolkit.makeNodeToken(n16);
1696 n18 = jj_consume_token(64);
1697 n17 = JTBToolkit.makeNodeToken(n18);
1701 n0 = new NodeChoice(n14, 2);
1704 jj_la1[55] = jj_gen;
1705 jj_consume_token(-1);
1706 throw new ParseException();
1708 {if (true) return new LabeledStatement(n0);}
1709 throw new Error("Missing return statement in function");
1712 final public ExpressionStatement ExpressionStatement() throws ParseException {
1713 NodeOptional n0 = new NodeOptional();
1717 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1718 case INTEGER_LITERAL:
1719 case FLOATING_POINT_LITERAL:
1720 case CHARACTER_LITERAL:
1721 case STRING_LITERAL:
1737 jj_la1[56] = jj_gen;
1740 n3 = jj_consume_token(57);
1741 n2 = JTBToolkit.makeNodeToken(n3);
1742 {if (true) return new ExpressionStatement(n0,n2);}
1743 throw new Error("Missing return statement in function");
1746 final public CompoundStatement CompoundStatement() throws ParseException {
1749 NodeListOptional n2 = new NodeListOptional();
1751 LocalVariableDeclaration n4;
1755 n1 = jj_consume_token(61);
1756 n0 = JTBToolkit.makeNodeToken(n1);
1759 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1760 case INTEGER_LITERAL:
1761 case FLOATING_POINT_LITERAL:
1762 case CHARACTER_LITERAL:
1763 case STRING_LITERAL:
1807 jj_la1[57] = jj_gen;
1810 if (jj_2_11(2147483647)) {
1811 n4 = LocalVariableDeclaration();
1812 n3 = new NodeChoice(n4, 0);
1814 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1815 case INTEGER_LITERAL:
1816 case FLOATING_POINT_LITERAL:
1817 case CHARACTER_LITERAL:
1818 case STRING_LITERAL:
1844 n3 = new NodeChoice(n5, 1);
1847 jj_la1[58] = jj_gen;
1848 jj_consume_token(-1);
1849 throw new ParseException();
1854 n2.nodes.trimToSize();
1855 n7 = jj_consume_token(62);
1856 n6 = JTBToolkit.makeNodeToken(n7);
1857 {if (true) return new CompoundStatement(n0,n2,n6);}
1858 throw new Error("Missing return statement in function");
1861 final public SelectionStatement SelectionStatement() throws ParseException {
1872 NodeOptional n10 = new NodeOptional();
1886 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1888 n1 = new NodeSequence(6);
1889 n3 = jj_consume_token(IF);
1890 n2 = JTBToolkit.makeNodeToken(n3);
1892 n5 = jj_consume_token(55);
1893 n4 = JTBToolkit.makeNodeToken(n5);
1897 n8 = jj_consume_token(56);
1898 n7 = JTBToolkit.makeNodeToken(n8);
1903 n11 = new NodeSequence(2);
1904 n13 = jj_consume_token(ELSE);
1905 n12 = JTBToolkit.makeNodeToken(n13);
1914 n0 = new NodeChoice(n1, 0);
1917 n15 = new NodeSequence(5);
1918 n17 = jj_consume_token(SWITCH);
1919 n16 = JTBToolkit.makeNodeToken(n17);
1921 n19 = jj_consume_token(55);
1922 n18 = JTBToolkit.makeNodeToken(n19);
1926 n22 = jj_consume_token(56);
1927 n21 = JTBToolkit.makeNodeToken(n22);
1931 n0 = new NodeChoice(n15, 1);
1934 jj_la1[59] = jj_gen;
1935 jj_consume_token(-1);
1936 throw new ParseException();
1938 {if (true) return new SelectionStatement(n0);}
1939 throw new Error("Missing return statement in function");
1942 final public IterationStatement IterationStatement() throws ParseException {
1971 NodeOptional n28 = new NodeOptional();
1975 NodeOptional n32 = new NodeOptional();
1979 NodeOptional n36 = new NodeOptional();
1984 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1986 n1 = new NodeSequence(5);
1987 n3 = jj_consume_token(WHILE);
1988 n2 = JTBToolkit.makeNodeToken(n3);
1990 n5 = jj_consume_token(55);
1991 n4 = JTBToolkit.makeNodeToken(n5);
1995 n8 = jj_consume_token(56);
1996 n7 = JTBToolkit.makeNodeToken(n8);
2000 n0 = new NodeChoice(n1, 0);
2003 n10 = new NodeSequence(7);
2004 n12 = jj_consume_token(DO);
2005 n11 = JTBToolkit.makeNodeToken(n12);
2009 n15 = jj_consume_token(WHILE);
2010 n14 = JTBToolkit.makeNodeToken(n15);
2012 n17 = jj_consume_token(55);
2013 n16 = JTBToolkit.makeNodeToken(n17);
2017 n20 = jj_consume_token(56);
2018 n19 = JTBToolkit.makeNodeToken(n20);
2020 n22 = jj_consume_token(57);
2021 n21 = JTBToolkit.makeNodeToken(n22);
2023 n0 = new NodeChoice(n10, 1);
2026 n23 = new NodeSequence(9);
2027 n25 = jj_consume_token(FOR);
2028 n24 = JTBToolkit.makeNodeToken(n25);
2030 n27 = jj_consume_token(55);
2031 n26 = JTBToolkit.makeNodeToken(n27);
2033 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2034 case INTEGER_LITERAL:
2035 case FLOATING_POINT_LITERAL:
2036 case CHARACTER_LITERAL:
2037 case STRING_LITERAL:
2053 jj_la1[60] = jj_gen;
2057 n31 = jj_consume_token(57);
2058 n30 = JTBToolkit.makeNodeToken(n31);
2060 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2061 case INTEGER_LITERAL:
2062 case FLOATING_POINT_LITERAL:
2063 case CHARACTER_LITERAL:
2064 case STRING_LITERAL:
2080 jj_la1[61] = jj_gen;
2084 n35 = jj_consume_token(57);
2085 n34 = JTBToolkit.makeNodeToken(n35);
2087 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2088 case INTEGER_LITERAL:
2089 case FLOATING_POINT_LITERAL:
2090 case CHARACTER_LITERAL:
2091 case STRING_LITERAL:
2107 jj_la1[62] = jj_gen;
2111 n39 = jj_consume_token(56);
2112 n38 = JTBToolkit.makeNodeToken(n39);
2116 n0 = new NodeChoice(n23, 2);
2119 jj_la1[63] = jj_gen;
2120 jj_consume_token(-1);
2121 throw new ParseException();
2123 {if (true) return new IterationStatement(n0);}
2124 throw new Error("Missing return statement in function");
2127 final public JumpStatement JumpStatement() throws ParseException {
2149 NodeOptional n21 = new NodeOptional();
2153 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2155 n1 = new NodeSequence(3);
2156 n3 = jj_consume_token(GOTO);
2157 n2 = JTBToolkit.makeNodeToken(n3);
2159 n5 = jj_consume_token(IDENTIFIER);
2160 n4 = JTBToolkit.makeNodeToken(n5);
2162 n7 = jj_consume_token(57);
2163 n6 = JTBToolkit.makeNodeToken(n7);
2165 n0 = new NodeChoice(n1, 0);
2168 n8 = new NodeSequence(2);
2169 n10 = jj_consume_token(CONTINUE);
2170 n9 = JTBToolkit.makeNodeToken(n10);
2172 n12 = jj_consume_token(57);
2173 n11 = JTBToolkit.makeNodeToken(n12);
2175 n0 = new NodeChoice(n8, 1);
2178 n13 = new NodeSequence(2);
2179 n15 = jj_consume_token(BREAK);
2180 n14 = JTBToolkit.makeNodeToken(n15);
2182 n17 = jj_consume_token(57);
2183 n16 = JTBToolkit.makeNodeToken(n17);
2185 n0 = new NodeChoice(n13, 2);
2188 n18 = new NodeSequence(3);
2189 n20 = jj_consume_token(RETURN);
2190 n19 = JTBToolkit.makeNodeToken(n20);
2192 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2193 case INTEGER_LITERAL:
2194 case FLOATING_POINT_LITERAL:
2195 case CHARACTER_LITERAL:
2196 case STRING_LITERAL:
2212 jj_la1[64] = jj_gen;
2216 n24 = jj_consume_token(57);
2217 n23 = JTBToolkit.makeNodeToken(n24);
2219 n0 = new NodeChoice(n18, 3);
2222 jj_la1[65] = jj_gen;
2223 jj_consume_token(-1);
2224 throw new ParseException();
2226 {if (true) return new JumpStatement(n0);}
2227 throw new Error("Missing return statement in function");
2230 final public Expression Expression() throws ParseException {
2231 AssignmentExpression n0;
2232 NodeListOptional n1 = new NodeListOptional();
2236 AssignmentExpression n5;
2237 n0 = AssignmentExpression();
2240 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2245 jj_la1[66] = jj_gen;
2248 n2 = new NodeSequence(2);
2249 n4 = jj_consume_token(59);
2250 n3 = JTBToolkit.makeNodeToken(n4);
2252 n5 = AssignmentExpression();
2256 n1.nodes.trimToSize();
2257 {if (true) return new Expression(n0,n1);}
2258 throw new Error("Missing return statement in function");
2261 final public AssignmentExpression AssignmentExpression() throws ParseException {
2265 AssignmentOperator n3;
2266 AssignmentExpression n4;
2267 ConditionalExpression n5;
2268 if (jj_2_13(2147483647)) {
2269 n1 = new NodeSequence(4);
2270 n2 = UnaryExpression();
2272 n3 = AssignmentOperator();
2274 n4 = AssignmentExpression();
2276 n0 = new NodeChoice(n1, 0);
2277 } else if (jj_2_14(3)) {
2278 n5 = ConditionalExpression();
2279 n0 = new NodeChoice(n5, 1);
2281 jj_consume_token(-1);
2282 throw new ParseException();
2284 {if (true) return new AssignmentExpression(n0);}
2285 throw new Error("Missing return statement in function");
2288 final public AssignmentOperator AssignmentOperator() throws ParseException {
2312 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2314 n2 = jj_consume_token(63);
2315 n1 = JTBToolkit.makeNodeToken(n2);
2316 n0 = new NodeChoice(n1, 0);
2319 n4 = jj_consume_token(67);
2320 n3 = JTBToolkit.makeNodeToken(n4);
2321 n0 = new NodeChoice(n3, 1);
2324 n6 = jj_consume_token(68);
2325 n5 = JTBToolkit.makeNodeToken(n6);
2326 n0 = new NodeChoice(n5, 2);
2329 n8 = jj_consume_token(69);
2330 n7 = JTBToolkit.makeNodeToken(n8);
2331 n0 = new NodeChoice(n7, 3);
2334 n10 = jj_consume_token(70);
2335 n9 = JTBToolkit.makeNodeToken(n10);
2336 n0 = new NodeChoice(n9, 4);
2339 n12 = jj_consume_token(71);
2340 n11 = JTBToolkit.makeNodeToken(n12);
2341 n0 = new NodeChoice(n11, 5);
2344 n14 = jj_consume_token(72);
2345 n13 = JTBToolkit.makeNodeToken(n14);
2346 n0 = new NodeChoice(n13, 6);
2349 n16 = jj_consume_token(73);
2350 n15 = JTBToolkit.makeNodeToken(n16);
2351 n0 = new NodeChoice(n15, 7);
2354 n18 = jj_consume_token(74);
2355 n17 = JTBToolkit.makeNodeToken(n18);
2356 n0 = new NodeChoice(n17, 8);
2359 n20 = jj_consume_token(75);
2360 n19 = JTBToolkit.makeNodeToken(n20);
2361 n0 = new NodeChoice(n19, 9);
2364 n22 = jj_consume_token(76);
2365 n21 = JTBToolkit.makeNodeToken(n22);
2366 n0 = new NodeChoice(n21, 10);
2369 jj_la1[67] = jj_gen;
2370 jj_consume_token(-1);
2371 throw new ParseException();
2373 {if (true) return new AssignmentOperator(n0);}
2374 throw new Error("Missing return statement in function");
2377 final public ConditionalExpression ConditionalExpression() throws ParseException {
2378 LogicalORExpression n0;
2379 NodeOptional n1 = new NodeOptional();
2386 ConditionalExpression n8;
2387 n0 = LogicalORExpression();
2388 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2390 n2 = new NodeSequence(4);
2391 n4 = jj_consume_token(77);
2392 n3 = JTBToolkit.makeNodeToken(n4);
2396 n7 = jj_consume_token(64);
2397 n6 = JTBToolkit.makeNodeToken(n7);
2399 n8 = ConditionalExpression();
2404 jj_la1[68] = jj_gen;
2407 {if (true) return new ConditionalExpression(n0,n1);}
2408 throw new Error("Missing return statement in function");
2411 final public ConstantExpression ConstantExpression() throws ParseException {
2412 ConditionalExpression n0;
2413 n0 = ConditionalExpression();
2414 {if (true) return new ConstantExpression(n0);}
2415 throw new Error("Missing return statement in function");
2418 final public LogicalORExpression LogicalORExpression() throws ParseException {
2419 LogicalANDExpression n0;
2420 NodeOptional n1 = new NodeOptional();
2424 LogicalORExpression n5;
2425 n0 = LogicalANDExpression();
2426 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2428 n2 = new NodeSequence(2);
2429 n4 = jj_consume_token(78);
2430 n3 = JTBToolkit.makeNodeToken(n4);
2432 n5 = LogicalORExpression();
2437 jj_la1[69] = jj_gen;
2440 {if (true) return new LogicalORExpression(n0,n1);}
2441 throw new Error("Missing return statement in function");
2444 final public LogicalANDExpression LogicalANDExpression() throws ParseException {
2445 InclusiveORExpression n0;
2446 NodeOptional n1 = new NodeOptional();
2450 LogicalANDExpression n5;
2451 n0 = InclusiveORExpression();
2452 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2454 n2 = new NodeSequence(2);
2455 n4 = jj_consume_token(79);
2456 n3 = JTBToolkit.makeNodeToken(n4);
2458 n5 = LogicalANDExpression();
2463 jj_la1[70] = jj_gen;
2466 {if (true) return new LogicalANDExpression(n0,n1);}
2467 throw new Error("Missing return statement in function");
2470 final public InclusiveORExpression InclusiveORExpression() throws ParseException {
2471 ExclusiveORExpression n0;
2472 NodeOptional n1 = new NodeOptional();
2476 InclusiveORExpression n5;
2477 n0 = ExclusiveORExpression();
2478 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2480 n2 = new NodeSequence(2);
2481 n4 = jj_consume_token(80);
2482 n3 = JTBToolkit.makeNodeToken(n4);
2484 n5 = InclusiveORExpression();
2489 jj_la1[71] = jj_gen;
2492 {if (true) return new InclusiveORExpression(n0,n1);}
2493 throw new Error("Missing return statement in function");
2496 final public ExclusiveORExpression ExclusiveORExpression() throws ParseException {
2498 NodeOptional n1 = new NodeOptional();
2502 ExclusiveORExpression n5;
2503 n0 = ANDExpression();
2504 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2506 n2 = new NodeSequence(2);
2507 n4 = jj_consume_token(81);
2508 n3 = JTBToolkit.makeNodeToken(n4);
2510 n5 = ExclusiveORExpression();
2515 jj_la1[72] = jj_gen;
2518 {if (true) return new ExclusiveORExpression(n0,n1);}
2519 throw new Error("Missing return statement in function");
2522 final public ANDExpression ANDExpression() throws ParseException {
2523 EqualityExpression n0;
2524 NodeOptional n1 = new NodeOptional();
2529 n0 = EqualityExpression();
2530 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2532 n2 = new NodeSequence(2);
2533 n4 = jj_consume_token(82);
2534 n3 = JTBToolkit.makeNodeToken(n4);
2536 n5 = ANDExpression();
2541 jj_la1[73] = jj_gen;
2544 {if (true) return new ANDExpression(n0,n1);}
2545 throw new Error("Missing return statement in function");
2548 final public EqualityExpression EqualityExpression() throws ParseException {
2549 RelationalExpression n0;
2550 NodeOptional n1 = new NodeOptional();
2557 EqualityExpression n8;
2558 n0 = RelationalExpression();
2559 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2562 n2 = new NodeSequence(2);
2563 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2565 n5 = jj_consume_token(83);
2566 n4 = JTBToolkit.makeNodeToken(n5);
2567 n3 = new NodeChoice(n4, 0);
2570 n7 = jj_consume_token(84);
2571 n6 = JTBToolkit.makeNodeToken(n7);
2572 n3 = new NodeChoice(n6, 1);
2575 jj_la1[74] = jj_gen;
2576 jj_consume_token(-1);
2577 throw new ParseException();
2580 n8 = EqualityExpression();
2585 jj_la1[75] = jj_gen;
2588 {if (true) return new EqualityExpression(n0,n1);}
2589 throw new Error("Missing return statement in function");
2592 final public RelationalExpression RelationalExpression() throws ParseException {
2594 NodeOptional n1 = new NodeOptional();
2605 RelationalExpression n12;
2606 n0 = ShiftExpression();
2607 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2612 n2 = new NodeSequence(2);
2613 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2615 n5 = jj_consume_token(85);
2616 n4 = JTBToolkit.makeNodeToken(n5);
2617 n3 = new NodeChoice(n4, 0);
2620 n7 = jj_consume_token(86);
2621 n6 = JTBToolkit.makeNodeToken(n7);
2622 n3 = new NodeChoice(n6, 1);
2625 n9 = jj_consume_token(87);
2626 n8 = JTBToolkit.makeNodeToken(n9);
2627 n3 = new NodeChoice(n8, 2);
2630 n11 = jj_consume_token(88);
2631 n10 = JTBToolkit.makeNodeToken(n11);
2632 n3 = new NodeChoice(n10, 3);
2635 jj_la1[76] = jj_gen;
2636 jj_consume_token(-1);
2637 throw new ParseException();
2640 n12 = RelationalExpression();
2645 jj_la1[77] = jj_gen;
2648 {if (true) return new RelationalExpression(n0,n1);}
2649 throw new Error("Missing return statement in function");
2652 final public ShiftExpression ShiftExpression() throws ParseException {
2653 AdditiveExpression n0;
2654 NodeOptional n1 = new NodeOptional();
2662 n0 = AdditiveExpression();
2663 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2666 n2 = new NodeSequence(2);
2667 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2669 n5 = jj_consume_token(89);
2670 n4 = JTBToolkit.makeNodeToken(n5);
2671 n3 = new NodeChoice(n4, 0);
2674 n7 = jj_consume_token(90);
2675 n6 = JTBToolkit.makeNodeToken(n7);
2676 n3 = new NodeChoice(n6, 1);
2679 jj_la1[78] = jj_gen;
2680 jj_consume_token(-1);
2681 throw new ParseException();
2684 n8 = ShiftExpression();
2689 jj_la1[79] = jj_gen;
2692 {if (true) return new ShiftExpression(n0,n1);}
2693 throw new Error("Missing return statement in function");
2696 final public AdditiveExpression AdditiveExpression() throws ParseException {
2697 MultiplicativeExpression n0;
2698 NodeOptional n1 = new NodeOptional();
2705 AdditiveExpression n8;
2706 n0 = MultiplicativeExpression();
2707 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2710 n2 = new NodeSequence(2);
2711 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2713 n5 = jj_consume_token(91);
2714 n4 = JTBToolkit.makeNodeToken(n5);
2715 n3 = new NodeChoice(n4, 0);
2718 n7 = jj_consume_token(92);
2719 n6 = JTBToolkit.makeNodeToken(n7);
2720 n3 = new NodeChoice(n6, 1);
2723 jj_la1[80] = jj_gen;
2724 jj_consume_token(-1);
2725 throw new ParseException();
2728 n8 = AdditiveExpression();
2733 jj_la1[81] = jj_gen;
2736 {if (true) return new AdditiveExpression(n0,n1);}
2737 throw new Error("Missing return statement in function");
2740 final public MultiplicativeExpression MultiplicativeExpression() throws ParseException {
2742 NodeOptional n1 = new NodeOptional();
2751 MultiplicativeExpression n10;
2752 n0 = CastExpression();
2753 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2757 n2 = new NodeSequence(2);
2758 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2760 n5 = jj_consume_token(58);
2761 n4 = JTBToolkit.makeNodeToken(n5);
2762 n3 = new NodeChoice(n4, 0);
2765 n7 = jj_consume_token(93);
2766 n6 = JTBToolkit.makeNodeToken(n7);
2767 n3 = new NodeChoice(n6, 1);
2770 n9 = jj_consume_token(94);
2771 n8 = JTBToolkit.makeNodeToken(n9);
2772 n3 = new NodeChoice(n8, 2);
2775 jj_la1[82] = jj_gen;
2776 jj_consume_token(-1);
2777 throw new ParseException();
2780 n10 = MultiplicativeExpression();
2785 jj_la1[83] = jj_gen;
2788 {if (true) return new MultiplicativeExpression(n0,n1);}
2789 throw new Error("Missing return statement in function");
2792 final public CastExpression CastExpression() throws ParseException {
2802 if (jj_2_15(2147483647)) {
2803 n1 = new NodeSequence(5);
2804 n3 = jj_consume_token(55);
2805 n2 = JTBToolkit.makeNodeToken(n3);
2807 n4 = TypeSpecifier();
2809 n6 = jj_consume_token(56);
2810 n5 = JTBToolkit.makeNodeToken(n6);
2812 n7 = CastExpression();
2814 n0 = new NodeChoice(n1, 0);
2816 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2817 case INTEGER_LITERAL:
2818 case FLOATING_POINT_LITERAL:
2819 case CHARACTER_LITERAL:
2820 case STRING_LITERAL:
2832 n8 = UnaryExpression();
2833 n0 = new NodeChoice(n8, 1);
2836 jj_la1[84] = jj_gen;
2837 jj_consume_token(-1);
2838 throw new ParseException();
2841 {if (true) return new CastExpression(n0);}
2842 throw new Error("Missing return statement in function");
2845 final public UnaryExpression UnaryExpression() throws ParseException {
2847 PostfixExpression n1;
2863 UnaryExpression n17;
2871 n1 = PostfixExpression();
2872 n0 = new NodeChoice(n1, 0);
2874 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2876 n2 = new NodeSequence(2);
2877 n4 = jj_consume_token(95);
2878 n3 = JTBToolkit.makeNodeToken(n4);
2880 n5 = UnaryExpression();
2882 n0 = new NodeChoice(n2, 1);
2885 n6 = new NodeSequence(2);
2886 n8 = jj_consume_token(96);
2887 n7 = JTBToolkit.makeNodeToken(n8);
2889 n9 = UnaryExpression();
2891 n0 = new NodeChoice(n6, 2);
2899 n10 = new NodeSequence(2);
2900 n11 = UnaryOperator();
2902 n12 = CastExpression();
2904 n0 = new NodeChoice(n10, 3);
2907 n13 = new NodeSequence(2);
2908 n15 = jj_consume_token(SIZEOF);
2909 n14 = JTBToolkit.makeNodeToken(n15);
2911 if (jj_2_16(2147483647)) {
2912 n17 = UnaryExpression();
2913 n16 = new NodeChoice(n17, 0);
2915 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2917 n18 = new NodeSequence(3);
2918 n20 = jj_consume_token(55);
2919 n19 = JTBToolkit.makeNodeToken(n20);
2921 n21 = TypeSpecifier();
2923 n23 = jj_consume_token(56);
2924 n22 = JTBToolkit.makeNodeToken(n23);
2926 n16 = new NodeChoice(n18, 1);
2929 jj_la1[85] = jj_gen;
2930 jj_consume_token(-1);
2931 throw new ParseException();
2935 n0 = new NodeChoice(n13, 4);
2938 jj_la1[86] = jj_gen;
2939 jj_consume_token(-1);
2940 throw new ParseException();
2943 {if (true) return new UnaryExpression(n0);}
2944 throw new Error("Missing return statement in function");
2947 final public UnaryOperator UnaryOperator() throws ParseException {
2961 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2963 n2 = jj_consume_token(82);
2964 n1 = JTBToolkit.makeNodeToken(n2);
2965 n0 = new NodeChoice(n1, 0);
2968 n4 = jj_consume_token(58);
2969 n3 = JTBToolkit.makeNodeToken(n4);
2970 n0 = new NodeChoice(n3, 1);
2973 n6 = jj_consume_token(91);
2974 n5 = JTBToolkit.makeNodeToken(n6);
2975 n0 = new NodeChoice(n5, 2);
2978 n8 = jj_consume_token(92);
2979 n7 = JTBToolkit.makeNodeToken(n8);
2980 n0 = new NodeChoice(n7, 3);
2983 n10 = jj_consume_token(97);
2984 n9 = JTBToolkit.makeNodeToken(n10);
2985 n0 = new NodeChoice(n9, 4);
2988 n12 = jj_consume_token(98);
2989 n11 = JTBToolkit.makeNodeToken(n12);
2990 n0 = new NodeChoice(n11, 5);
2993 jj_la1[87] = jj_gen;
2994 jj_consume_token(-1);
2995 throw new ParseException();
2997 {if (true) return new UnaryOperator(n0);}
2998 throw new Error("Missing return statement in function");
3001 final public PostfixExpression PostfixExpression() throws ParseException {
3002 PrimaryExpression n0;
3003 NodeListOptional n1 = new NodeListOptional();
3015 ArgumentExpressionList n13;
3032 n0 = PrimaryExpression();
3035 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
3045 jj_la1[88] = jj_gen;
3048 n12 = new NodeOptional();
3049 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
3051 n3 = new NodeSequence(3);
3052 n5 = jj_consume_token(65);
3053 n4 = JTBToolkit.makeNodeToken(n5);
3057 n8 = jj_consume_token(66);
3058 n7 = JTBToolkit.makeNodeToken(n8);
3060 n2 = new NodeChoice(n3, 0);
3063 n9 = new NodeSequence(3);
3064 n11 = jj_consume_token(55);
3065 n10 = JTBToolkit.makeNodeToken(n11);
3067 if (jj_2_18(2147483647)) {
3068 n13 = ArgumentExpressionList();
3074 n15 = jj_consume_token(56);
3075 n14 = JTBToolkit.makeNodeToken(n15);
3077 n2 = new NodeChoice(n9, 1);
3080 n16 = new NodeSequence(2);
3081 n18 = jj_consume_token(99);
3082 n17 = JTBToolkit.makeNodeToken(n18);
3084 n20 = jj_consume_token(IDENTIFIER);
3085 n19 = JTBToolkit.makeNodeToken(n20);
3087 n2 = new NodeChoice(n16, 2);
3090 n21 = new NodeSequence(2);
3091 n23 = jj_consume_token(100);
3092 n22 = JTBToolkit.makeNodeToken(n23);
3094 n25 = jj_consume_token(IDENTIFIER);
3095 n24 = JTBToolkit.makeNodeToken(n25);
3097 n2 = new NodeChoice(n21, 3);
3100 n27 = jj_consume_token(95);
3101 n26 = JTBToolkit.makeNodeToken(n27);
3102 n2 = new NodeChoice(n26, 4);
3105 n29 = jj_consume_token(96);
3106 n28 = JTBToolkit.makeNodeToken(n29);
3107 n2 = new NodeChoice(n28, 5);
3110 jj_la1[89] = jj_gen;
3111 jj_consume_token(-1);
3112 throw new ParseException();
3116 n1.nodes.trimToSize();
3117 {if (true) return new PostfixExpression(n0,n1);}
3118 throw new Error("Missing return statement in function");
3121 final public PrimaryExpression PrimaryExpression() throws ParseException {
3132 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
3134 n2 = jj_consume_token(IDENTIFIER);
3135 n1 = JTBToolkit.makeNodeToken(n2);
3136 n0 = new NodeChoice(n1, 0);
3138 case INTEGER_LITERAL:
3139 case FLOATING_POINT_LITERAL:
3140 case CHARACTER_LITERAL:
3141 case STRING_LITERAL:
3143 n0 = new NodeChoice(n3, 1);
3146 n4 = new NodeSequence(3);
3147 n6 = jj_consume_token(55);
3148 n5 = JTBToolkit.makeNodeToken(n6);
3152 n9 = jj_consume_token(56);
3153 n8 = JTBToolkit.makeNodeToken(n9);
3155 n0 = new NodeChoice(n4, 2);
3158 jj_la1[90] = jj_gen;
3159 jj_consume_token(-1);
3160 throw new ParseException();
3162 {if (true) return new PrimaryExpression(n0);}
3163 throw new Error("Missing return statement in function");
3166 final public ArgumentExpressionList ArgumentExpressionList() throws ParseException {
3167 AssignmentOrTypeExpression n0;
3168 NodeListOptional n1 = new NodeListOptional();
3172 AssignmentOrTypeExpression n5;
3173 n0 = AssignmentOrTypeExpression();
3176 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
3181 jj_la1[91] = jj_gen;
3184 n2 = new NodeSequence(2);
3185 n4 = jj_consume_token(59);
3186 n3 = JTBToolkit.makeNodeToken(n4);
3188 n5 = AssignmentOrTypeExpression();
3192 n1.nodes.trimToSize();
3193 {if (true) return new ArgumentExpressionList(n0,n1);}
3194 throw new Error("Missing return statement in function");
3197 final public AssignmentOrTypeExpression AssignmentOrTypeExpression() throws ParseException {
3199 NoIdentifierTypeSpecifier n1;
3200 AssignmentExpression n2;
3201 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
3215 n1 = NoIdentifierTypeSpecifier();
3216 n0 = new NodeChoice(n1, 0);
3218 case INTEGER_LITERAL:
3219 case FLOATING_POINT_LITERAL:
3220 case CHARACTER_LITERAL:
3221 case STRING_LITERAL:
3233 n2 = AssignmentExpression();
3234 n0 = new NodeChoice(n2, 1);
3237 jj_la1[92] = jj_gen;
3238 jj_consume_token(-1);
3239 throw new ParseException();
3241 {if (true) return new AssignmentOrTypeExpression(n0);}
3242 throw new Error("Missing return statement in function");
3245 final public Constant Constant() throws ParseException {
3255 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
3256 case INTEGER_LITERAL:
3257 n2 = jj_consume_token(INTEGER_LITERAL);
3258 n1 = JTBToolkit.makeNodeToken(n2);
3259 n0 = new NodeChoice(n1, 0);
3261 case FLOATING_POINT_LITERAL:
3262 n4 = jj_consume_token(FLOATING_POINT_LITERAL);
3263 n3 = JTBToolkit.makeNodeToken(n4);
3264 n0 = new NodeChoice(n3, 1);
3266 case CHARACTER_LITERAL:
3267 n6 = jj_consume_token(CHARACTER_LITERAL);
3268 n5 = JTBToolkit.makeNodeToken(n6);
3269 n0 = new NodeChoice(n5, 2);
3271 case STRING_LITERAL:
3272 n8 = jj_consume_token(STRING_LITERAL);
3273 n7 = JTBToolkit.makeNodeToken(n8);
3274 n0 = new NodeChoice(n7, 3);
3277 jj_la1[93] = jj_gen;
3278 jj_consume_token(-1);
3279 throw new ParseException();
3281 {if (true) return new Constant(n0);}
3282 throw new Error("Missing return statement in function");
3285 private boolean jj_2_1(int xla) {
3286 jj_la = xla; jj_lastpos = jj_scanpos = token;
3287 try { return !jj_3_1(); }
3288 catch(LookaheadSuccess ls) { return true; }
3289 finally { jj_save(0, xla); }
3292 private boolean jj_2_2(int xla) {
3293 jj_la = xla; jj_lastpos = jj_scanpos = token;
3294 try { return !jj_3_2(); }
3295 catch(LookaheadSuccess ls) { return true; }
3296 finally { jj_save(1, xla); }
3299 private boolean jj_2_3(int xla) {
3300 jj_la = xla; jj_lastpos = jj_scanpos = token;
3301 try { return !jj_3_3(); }
3302 catch(LookaheadSuccess ls) { return true; }
3303 finally { jj_save(2, xla); }
3306 private boolean jj_2_4(int xla) {
3307 jj_la = xla; jj_lastpos = jj_scanpos = token;
3308 try { return !jj_3_4(); }
3309 catch(LookaheadSuccess ls) { return true; }
3310 finally { jj_save(3, xla); }
3313 private boolean jj_2_5(int xla) {
3314 jj_la = xla; jj_lastpos = jj_scanpos = token;
3315 try { return !jj_3_5(); }
3316 catch(LookaheadSuccess ls) { return true; }
3317 finally { jj_save(4, xla); }
3320 private boolean jj_2_6(int xla) {
3321 jj_la = xla; jj_lastpos = jj_scanpos = token;
3322 try { return !jj_3_6(); }
3323 catch(LookaheadSuccess ls) { return true; }
3324 finally { jj_save(5, xla); }
3327 private boolean jj_2_7(int xla) {
3328 jj_la = xla; jj_lastpos = jj_scanpos = token;
3329 try { return !jj_3_7(); }
3330 catch(LookaheadSuccess ls) { return true; }
3331 finally { jj_save(6, xla); }
3334 private boolean jj_2_8(int xla) {
3335 jj_la = xla; jj_lastpos = jj_scanpos = token;
3336 try { return !jj_3_8(); }
3337 catch(LookaheadSuccess ls) { return true; }
3338 finally { jj_save(7, xla); }
3341 private boolean jj_2_9(int xla) {
3342 jj_la = xla; jj_lastpos = jj_scanpos = token;
3343 try { return !jj_3_9(); }
3344 catch(LookaheadSuccess ls) { return true; }
3345 finally { jj_save(8, xla); }
3348 private boolean jj_2_10(int xla) {
3349 jj_la = xla; jj_lastpos = jj_scanpos = token;
3350 try { return !jj_3_10(); }
3351 catch(LookaheadSuccess ls) { return true; }
3352 finally { jj_save(9, xla); }
3355 private boolean jj_2_11(int xla) {
3356 jj_la = xla; jj_lastpos = jj_scanpos = token;
3357 try { return !jj_3_11(); }
3358 catch(LookaheadSuccess ls) { return true; }
3359 finally { jj_save(10, xla); }
3362 private boolean jj_2_12(int xla) {
3363 jj_la = xla; jj_lastpos = jj_scanpos = token;
3364 try { return !jj_3_12(); }
3365 catch(LookaheadSuccess ls) { return true; }
3366 finally { jj_save(11, xla); }
3369 private boolean jj_2_13(int xla) {
3370 jj_la = xla; jj_lastpos = jj_scanpos = token;
3371 try { return !jj_3_13(); }
3372 catch(LookaheadSuccess ls) { return true; }
3373 finally { jj_save(12, xla); }
3376 private boolean jj_2_14(int xla) {
3377 jj_la = xla; jj_lastpos = jj_scanpos = token;
3378 try { return !jj_3_14(); }
3379 catch(LookaheadSuccess ls) { return true; }
3380 finally { jj_save(13, xla); }
3383 private boolean jj_2_15(int xla) {
3384 jj_la = xla; jj_lastpos = jj_scanpos = token;
3385 try { return !jj_3_15(); }
3386 catch(LookaheadSuccess ls) { return true; }
3387 finally { jj_save(14, xla); }
3390 private boolean jj_2_16(int xla) {
3391 jj_la = xla; jj_lastpos = jj_scanpos = token;
3392 try { return !jj_3_16(); }
3393 catch(LookaheadSuccess ls) { return true; }
3394 finally { jj_save(15, xla); }
3397 private boolean jj_2_17(int xla) {
3398 jj_la = xla; jj_lastpos = jj_scanpos = token;
3399 try { return !jj_3_17(); }
3400 catch(LookaheadSuccess ls) { return true; }
3401 finally { jj_save(16, xla); }
3404 private boolean jj_2_18(int xla) {
3405 jj_la = xla; jj_lastpos = jj_scanpos = token;
3406 try { return !jj_3_18(); }
3407 catch(LookaheadSuccess ls) { return true; }
3408 finally { jj_save(17, xla); }
3411 private boolean jj_3R_113() {
3412 if (jj_scan_token(55)) return true;
3413 if (jj_3R_32()) return true;
3414 if (jj_scan_token(56)) return true;
3418 private boolean jj_3R_192() {
3419 if (jj_scan_token(DOUBLE)) return true;
3423 private boolean jj_3R_168() {
3424 if (jj_3R_123()) return true;
3428 private boolean jj_3_6() {
3429 if (jj_scan_token(59)) return true;
3430 if (jj_3R_19()) return true;
3434 private boolean jj_3R_191() {
3435 if (jj_scan_token(FLOAT)) return true;
3439 private boolean jj_3R_112() {
3440 if (jj_3R_29()) return true;
3444 private boolean jj_3R_203() {
3445 if (jj_scan_token(LONG)) return true;
3449 private boolean jj_3R_167() {
3450 if (jj_scan_token(CONST)) return true;
3454 private boolean jj_3R_97() {
3455 if (jj_3R_19()) return true;
3459 if (jj_3_6()) { jj_scanpos = xsp; break; }
3462 if (jj_3R_136()) jj_scanpos = xsp;
3466 private boolean jj_3R_123() {
3467 if (jj_scan_token(58)) return true;
3470 if (jj_3R_167()) jj_scanpos = xsp;
3472 if (jj_3R_168()) jj_scanpos = xsp;
3476 private boolean jj_3R_190() {
3477 if (jj_scan_token(LONG)) return true;
3480 if (jj_3R_203()) jj_scanpos = xsp;
3484 private boolean jj_3R_63() {
3485 if (jj_scan_token(SIZEOF)) return true;
3490 if (jj_3R_113()) return true;
3495 private boolean jj_3R_161() {
3496 if (jj_scan_token(79)) return true;
3497 if (jj_3R_114()) return true;
3501 private boolean jj_3R_189() {
3502 if (jj_scan_token(INT)) return true;
3506 private boolean jj_3R_202() {
3507 if (jj_scan_token(INT)) return true;
3511 private boolean jj_3R_114() {
3512 if (jj_3R_160()) return true;
3515 if (jj_3R_161()) jj_scanpos = xsp;
3519 private boolean jj_3R_62() {
3520 if (jj_3R_111()) return true;
3521 if (jj_3R_33()) return true;
3525 private boolean jj_3R_188() {
3526 if (jj_scan_token(SHORT)) return true;
3529 if (jj_3R_202()) jj_scanpos = xsp;
3533 private boolean jj_3R_61() {
3534 if (jj_scan_token(96)) return true;
3535 if (jj_3R_29()) return true;
3539 private boolean jj_3R_187() {
3540 if (jj_scan_token(CHAR)) return true;
3544 private boolean jj_3R_142() {
3545 if (jj_3R_97()) return true;
3549 private boolean jj_3R_186() {
3550 if (jj_scan_token(VOID)) return true;
3554 private boolean jj_3R_104() {
3555 if (jj_scan_token(63)) return true;
3556 if (jj_3R_106()) return true;
3560 private boolean jj_3R_60() {
3561 if (jj_scan_token(95)) return true;
3562 if (jj_3R_29()) return true;
3566 private boolean jj_3R_47() {
3567 if (jj_scan_token(IDENTIFIER)) return true;
3570 if (jj_3R_104()) jj_scanpos = xsp;
3574 private boolean jj_3_17() {
3575 if (jj_3R_34()) return true;
3579 private boolean jj_3R_185() {
3580 if (jj_scan_token(CONST)) return true;
3584 private boolean jj_3R_102() {
3585 if (jj_3R_32()) return true;
3586 if (jj_scan_token(55)) return true;
3587 if (jj_scan_token(58)) return true;
3588 if (jj_scan_token(IDENTIFIER)) return true;
3589 if (jj_scan_token(56)) return true;
3590 if (jj_scan_token(55)) return true;
3593 if (jj_3R_142()) jj_scanpos = xsp;
3594 if (jj_scan_token(56)) return true;
3598 private boolean jj_3R_115() {
3599 if (jj_scan_token(78)) return true;
3600 if (jj_3R_75()) return true;
3604 private boolean jj_3R_172() {
3607 if (jj_3R_185()) jj_scanpos = xsp;
3627 if (jj_3R_195()) return true;
3638 if (jj_3R_196()) jj_scanpos = xsp;
3640 if (jj_3R_197()) jj_scanpos = xsp;
3644 private boolean jj_3R_75() {
3645 if (jj_3R_114()) return true;
3648 if (jj_3R_115()) jj_scanpos = xsp;
3652 private boolean jj_3R_146() {
3653 if (jj_scan_token(SWITCH)) return true;
3654 if (jj_scan_token(55)) return true;
3655 if (jj_3R_116()) return true;
3656 if (jj_scan_token(56)) return true;
3657 if (jj_3R_28()) return true;
3661 private boolean jj_3R_29() {
3672 if (jj_3R_63()) return true;
3680 private boolean jj_3_12() {
3681 if (jj_scan_token(ELSE)) return true;
3682 if (jj_3R_28()) return true;
3686 private boolean jj_3R_48() {
3687 if (jj_scan_token(59)) return true;
3688 if (jj_3R_47()) return true;
3692 private boolean jj_3R_106() {
3693 if (jj_3R_31()) return true;
3697 private boolean jj_3R_24() {
3698 if (jj_3R_47()) return true;
3702 if (jj_3R_48()) { jj_scanpos = xsp; break; }
3707 private boolean jj_3R_18() {
3708 if (jj_3R_15()) return true;
3709 if (jj_scan_token(IDENTIFIER)) return true;
3713 private boolean jj_3R_145() {
3714 if (jj_scan_token(IF)) return true;
3715 if (jj_scan_token(55)) return true;
3716 if (jj_3R_116()) return true;
3717 if (jj_scan_token(56)) return true;
3718 if (jj_3R_28()) return true;
3721 if (jj_3_12()) jj_scanpos = xsp;
3725 private boolean jj_3_5() {
3726 if (jj_3R_18()) return true;
3727 if (jj_scan_token(57)) return true;
3731 private boolean jj_3R_108() {
3736 if (jj_3R_146()) return true;
3741 private boolean jj_3R_166() {
3742 if (jj_scan_token(IDENTIFIER)) return true;
3746 private boolean jj_3R_43() {
3747 if (jj_3R_102()) return true;
3751 private boolean jj_3R_92() {
3752 if (jj_3R_29()) return true;
3756 private boolean jj_3R_76() {
3757 if (jj_scan_token(77)) return true;
3758 if (jj_3R_116()) return true;
3759 if (jj_scan_token(64)) return true;
3760 if (jj_3R_31()) return true;
3764 private boolean jj_3_15() {
3765 if (jj_scan_token(55)) return true;
3766 if (jj_3R_32()) return true;
3767 if (jj_scan_token(56)) return true;
3768 if (jj_3R_33()) return true;
3772 private boolean jj_3R_42() {
3773 if (jj_3R_18()) return true;
3777 private boolean jj_3R_31() {
3778 if (jj_3R_75()) return true;
3781 if (jj_3R_76()) jj_scanpos = xsp;
3785 private boolean jj_3R_23() {
3786 if (jj_scan_token(IDENTIFIER)) return true;
3790 private boolean jj_3R_91() {
3791 if (jj_scan_token(55)) return true;
3792 if (jj_3R_32()) return true;
3793 if (jj_scan_token(56)) return true;
3794 if (jj_3R_33()) return true;
3798 private boolean jj_3R_17() {
3799 if (jj_scan_token(TYPEDEF)) return true;
3804 if (jj_3R_43()) return true;
3806 if (jj_scan_token(57)) return true;
3810 private boolean jj_3_8() {
3813 if (jj_3R_23()) jj_scanpos = xsp;
3814 if (jj_scan_token(61)) return true;
3815 if (jj_3R_24()) return true;
3816 if (jj_scan_token(62)) return true;
3820 private boolean jj_3R_33() {
3825 if (jj_3R_92()) return true;
3830 private boolean jj_3R_122() {
3831 if (jj_scan_token(ENUM)) return true;
3836 if (jj_3R_166()) return true;
3841 private boolean jj_3R_74() {
3842 if (jj_scan_token(76)) return true;
3846 private boolean jj_3_11() {
3847 if (jj_3R_27()) return true;
3851 private boolean jj_3R_73() {
3852 if (jj_scan_token(75)) return true;
3856 private boolean jj_3R_90() {
3857 if (jj_3R_124()) return true;
3861 private boolean jj_3R_72() {
3862 if (jj_scan_token(74)) return true;
3866 private boolean jj_3R_175() {
3867 if (jj_3R_28()) return true;
3871 private boolean jj_3R_71() {
3872 if (jj_scan_token(73)) return true;
3876 private boolean jj_3R_89() {
3877 if (jj_3R_123()) return true;
3881 private boolean jj_3R_70() {
3882 if (jj_scan_token(72)) return true;
3886 private boolean jj_3R_174() {
3887 if (jj_3R_27()) return true;
3891 private boolean jj_3R_88() {
3892 if (jj_scan_token(IDENTIFIER)) return true;
3896 private boolean jj_3R_69() {
3897 if (jj_scan_token(71)) return true;
3901 private boolean jj_3R_244() {
3902 if (jj_scan_token(94)) return true;
3906 private boolean jj_3R_87() {
3907 if (jj_3R_122()) return true;
3911 private boolean jj_3R_137() {
3916 if (jj_3R_175()) return true;
3921 private boolean jj_3R_68() {
3922 if (jj_scan_token(70)) return true;
3926 private boolean jj_3R_243() {
3927 if (jj_scan_token(93)) return true;
3931 private boolean jj_3R_86() {
3932 if (jj_3R_15()) return true;
3936 private boolean jj_3R_179() {
3937 if (jj_scan_token(LONG)) return true;
3941 private boolean jj_3R_67() {
3942 if (jj_scan_token(69)) return true;
3946 private boolean jj_3R_242() {
3947 if (jj_scan_token(58)) return true;
3951 private boolean jj_3R_98() {
3952 if (jj_scan_token(61)) return true;
3956 if (jj_3R_137()) { jj_scanpos = xsp; break; }
3958 if (jj_scan_token(62)) return true;
3962 private boolean jj_3R_199() {
3963 if (jj_scan_token(IDENTIFIER)) return true;
3967 private boolean jj_3R_66() {
3968 if (jj_scan_token(68)) return true;
3972 private boolean jj_3R_183() {
3973 if (jj_scan_token(STRING_LITERAL)) return true;
3977 private boolean jj_3R_65() {
3978 if (jj_scan_token(67)) return true;
3982 private boolean jj_3R_165() {
3983 if (jj_scan_token(LONG)) return true;
3986 if (jj_3R_179()) jj_scanpos = xsp;
3990 private boolean jj_3R_182() {
3991 if (jj_scan_token(CHARACTER_LITERAL)) return true;
3995 private boolean jj_3R_38() {
3996 if (jj_3R_98()) return true;
4000 private boolean jj_3R_64() {
4001 if (jj_scan_token(63)) return true;
4005 private boolean jj_3R_239() {
4012 if (jj_3R_244()) return true;
4015 if (jj_3R_235()) return true;
4019 private boolean jj_3R_208() {
4020 if (jj_scan_token(64)) return true;
4021 if (jj_3R_106()) return true;
4025 private boolean jj_3R_164() {
4026 if (jj_scan_token(INT)) return true;
4030 private boolean jj_3R_181() {
4031 if (jj_scan_token(FLOATING_POINT_LITERAL)) return true;
4035 private boolean jj_3R_37() {
4036 if (jj_scan_token(57)) return true;
4040 private boolean jj_3R_207() {
4041 if (jj_3R_124()) return true;
4045 private boolean jj_3R_178() {
4046 if (jj_scan_token(INT)) return true;
4050 private boolean jj_3R_180() {
4051 if (jj_scan_token(INTEGER_LITERAL)) return true;
4055 private boolean jj_3R_235() {
4056 if (jj_3R_33()) return true;
4059 if (jj_3R_239()) jj_scanpos = xsp;
4063 private boolean jj_3R_198() {
4068 if (jj_3R_208()) return true;
4073 private boolean jj_3R_30() {
4096 if (jj_3R_74()) return true;
4110 private boolean jj_3R_170() {
4119 if (jj_3R_183()) return true;
4126 private boolean jj_3R_163() {
4127 if (jj_scan_token(SHORT)) return true;
4130 if (jj_3R_178()) jj_scanpos = xsp;
4134 private boolean jj_3R_144() {
4135 if (jj_3R_116()) return true;
4139 private boolean jj_3R_36() {
4140 if (jj_3R_97()) return true;
4144 private boolean jj_3R_162() {
4145 if (jj_scan_token(CHAR)) return true;
4149 private boolean jj_3R_103() {
4150 if (jj_3R_32()) return true;
4151 if (jj_scan_token(IDENTIFIER)) return true;
4154 if (jj_3R_198()) jj_scanpos = xsp;
4156 if (jj_3R_199()) jj_scanpos = xsp;
4157 if (jj_scan_token(57)) return true;
4161 private boolean jj_3R_107() {
4164 if (jj_3R_144()) jj_scanpos = xsp;
4165 if (jj_scan_token(57)) return true;
4169 private boolean jj_3R_14() {
4170 if (jj_3R_32()) return true;
4171 if (jj_scan_token(IDENTIFIER)) return true;
4172 if (jj_scan_token(55)) return true;
4175 if (jj_3R_36()) jj_scanpos = xsp;
4176 if (jj_scan_token(56)) return true;
4180 if (jj_3R_38()) return true;
4185 private boolean jj_3R_121() {
4194 if (jj_3R_165()) return true;
4201 private boolean jj_3R_120() {
4202 if (jj_scan_token(UNSIGNED)) return true;
4206 private boolean jj_3R_119() {
4207 if (jj_scan_token(SIGNED)) return true;
4211 private boolean jj_3R_241() {
4212 if (jj_scan_token(92)) return true;
4216 private boolean jj_3R_135() {
4217 if (jj_3R_105()) return true;
4221 private boolean jj_3R_240() {
4222 if (jj_scan_token(91)) return true;
4226 private boolean jj_3R_134() {
4227 if (jj_3R_172()) return true;
4231 private boolean jj_3_4() {
4232 if (jj_3R_17()) return true;
4236 private boolean jj_3R_53() {
4237 if (jj_scan_token(DFLT)) return true;
4238 if (jj_scan_token(64)) return true;
4239 if (jj_3R_28()) return true;
4243 private boolean jj_3R_95() {
4248 if (jj_3R_135()) return true;
4253 private boolean jj_3_3() {
4254 if (jj_3R_16()) return true;
4258 private boolean jj_3R_85() {
4263 if (jj_3R_120()) return true;
4266 if (jj_3R_121()) jj_scanpos = xsp;
4270 private boolean jj_3R_84() {
4271 if (jj_scan_token(DOUBLE)) return true;
4275 private boolean jj_3R_236() {
4280 if (jj_3R_241()) return true;
4282 if (jj_3R_229()) return true;
4286 private boolean jj_3_2() {
4287 if (jj_3R_15()) return true;
4291 private boolean jj_3R_83() {
4292 if (jj_scan_token(FLOAT)) return true;
4296 private boolean jj_3_14() {
4297 if (jj_3R_31()) return true;
4301 private boolean jj_3_13() {
4302 if (jj_3R_29()) return true;
4303 if (jj_3R_30()) return true;
4307 private boolean jj_3R_141() {
4308 if (jj_scan_token(63)) return true;
4309 if (jj_3R_25()) return true;
4313 private boolean jj_3_1() {
4314 if (jj_3R_14()) return true;
4318 private boolean jj_3R_229() {
4319 if (jj_3R_235()) return true;
4322 if (jj_3R_236()) jj_scanpos = xsp;
4326 private boolean jj_3R_118() {
4327 if (jj_scan_token(LONG)) return true;
4331 private boolean jj_3R_52() {
4332 if (jj_scan_token(CASE)) return true;
4333 if (jj_3R_106()) return true;
4334 if (jj_scan_token(64)) return true;
4335 if (jj_3R_28()) return true;
4339 private boolean jj_3R_140() {
4340 if (jj_3R_124()) return true;
4344 private boolean jj_3R_143() {
4345 if (jj_3R_29()) return true;
4346 if (jj_3R_30()) return true;
4347 if (jj_3R_105()) return true;
4351 private boolean jj_3R_82() {
4352 if (jj_scan_token(LONG)) return true;
4355 if (jj_3R_118()) jj_scanpos = xsp;
4359 private boolean jj_3R_100() {
4360 if (jj_scan_token(IDENTIFIER)) return true;
4363 if (jj_3R_140()) jj_scanpos = xsp;
4365 if (jj_3R_141()) jj_scanpos = xsp;
4369 private boolean jj_3R_96() {
4370 if (jj_scan_token(59)) return true;
4371 if (jj_3R_95()) return true;
4375 private boolean jj_3R_51() {
4376 if (jj_scan_token(IDENTIFIER)) return true;
4377 if (jj_scan_token(64)) return true;
4378 if (jj_3R_28()) return true;
4382 private boolean jj_3R_81() {
4383 if (jj_scan_token(INT)) return true;
4387 private boolean jj_3R_105() {
4392 if (jj_3_14()) return true;
4397 private boolean jj_3R_35() {
4398 if (jj_3R_95()) return true;
4402 if (jj_3R_96()) { jj_scanpos = xsp; break; }
4407 private boolean jj_3R_117() {
4408 if (jj_scan_token(INT)) return true;
4412 private boolean jj_3R_26() {
4419 if (jj_3R_53()) return true;
4425 private boolean jj_3R_238() {
4426 if (jj_scan_token(90)) return true;
4430 private boolean jj_3R_80() {
4431 if (jj_scan_token(SHORT)) return true;
4434 if (jj_3R_117()) jj_scanpos = xsp;
4438 private boolean jj_3R_237() {
4439 if (jj_scan_token(89)) return true;
4443 private boolean jj_3R_79() {
4444 if (jj_scan_token(CHAR)) return true;
4448 private boolean jj_3R_78() {
4449 if (jj_scan_token(VOID)) return true;
4453 private boolean jj_3R_101() {
4454 if (jj_scan_token(59)) return true;
4455 if (jj_3R_100()) return true;
4459 private boolean jj_3R_230() {
4464 if (jj_3R_238()) return true;
4466 if (jj_3R_221()) return true;
4470 private boolean jj_3R_184() {
4471 if (jj_scan_token(59)) return true;
4472 if (jj_3R_105()) return true;
4476 private boolean jj_3R_77() {
4477 if (jj_scan_token(CONST)) return true;
4481 private boolean jj_3R_127() {
4482 if (jj_scan_token(55)) return true;
4483 if (jj_3R_116()) return true;
4484 if (jj_scan_token(56)) return true;
4488 private boolean jj_3R_41() {
4489 if (jj_3R_100()) return true;
4493 if (jj_3R_101()) { jj_scanpos = xsp; break; }
4498 private boolean jj_3R_221() {
4499 if (jj_3R_229()) return true;
4502 if (jj_3R_230()) jj_scanpos = xsp;
4506 private boolean jj_3R_116() {
4507 if (jj_3R_105()) return true;
4511 if (jj_3R_184()) { jj_scanpos = xsp; break; }
4516 private boolean jj_3R_32() {
4519 if (jj_3R_77()) jj_scanpos = xsp;
4541 if (jj_3R_88()) return true;
4553 if (jj_3R_89()) jj_scanpos = xsp;
4555 if (jj_3R_90()) jj_scanpos = xsp;
4559 private boolean jj_3R_126() {
4560 if (jj_3R_170()) return true;
4564 private boolean jj_3R_125() {
4565 if (jj_scan_token(IDENTIFIER)) return true;
4569 private boolean jj_3R_93() {
4576 if (jj_3R_127()) return true;
4582 private boolean jj_3R_59() {
4583 if (jj_3R_110()) return true;
4587 private boolean jj_3R_58() {
4588 if (jj_3R_109()) return true;
4592 private boolean jj_3R_57() {
4593 if (jj_3R_108()) return true;
4597 private boolean jj_3R_46() {
4598 if (jj_3R_103()) return true;
4602 private boolean jj_3R_228() {
4603 if (jj_3R_116()) return true;
4607 private boolean jj_3R_56() {
4608 if (jj_3R_98()) return true;
4612 private boolean jj_3R_234() {
4613 if (jj_scan_token(88)) return true;
4617 private boolean jj_3R_22() {
4619 if (jj_3R_46()) return true;
4622 if (jj_3R_46()) { jj_scanpos = xsp; break; }
4627 private boolean jj_3R_55() {
4628 if (jj_3R_107()) return true;
4632 private boolean jj_3R_233() {
4633 if (jj_scan_token(87)) return true;
4637 private boolean jj_3R_153() {
4638 if (jj_scan_token(RETURN)) return true;
4641 if (jj_3R_228()) jj_scanpos = xsp;
4642 if (jj_scan_token(57)) return true;
4646 private boolean jj_3_10() {
4647 if (jj_3R_26()) return true;
4651 private boolean jj_3R_232() {
4652 if (jj_scan_token(86)) return true;
4656 private boolean jj_3R_133() {
4657 if (jj_scan_token(96)) return true;
4661 private boolean jj_3R_231() {
4662 if (jj_scan_token(85)) return true;
4666 private boolean jj_3R_152() {
4667 if (jj_scan_token(BREAK)) return true;
4668 if (jj_scan_token(57)) return true;
4672 private boolean jj_3R_45() {
4673 if (jj_scan_token(UNION)) return true;
4677 private boolean jj_3R_132() {
4678 if (jj_scan_token(95)) return true;
4682 private boolean jj_3R_28() {
4695 if (jj_3R_59()) return true;
4704 private boolean jj_3R_44() {
4705 if (jj_scan_token(STRUCT)) return true;
4709 private boolean jj_3R_222() {
4718 if (jj_3R_234()) return true;
4722 if (jj_3R_217()) return true;
4726 private boolean jj_3R_151() {
4727 if (jj_scan_token(CONTINUE)) return true;
4728 if (jj_scan_token(57)) return true;
4732 private boolean jj_3R_131() {
4733 if (jj_scan_token(100)) return true;
4734 if (jj_scan_token(IDENTIFIER)) return true;
4738 private boolean jj_3_18() {
4739 if (jj_3R_35()) return true;
4743 private boolean jj_3R_20() {
4748 if (jj_3R_45()) return true;
4753 private boolean jj_3R_217() {
4754 if (jj_3R_221()) return true;
4757 if (jj_3R_222()) jj_scanpos = xsp;
4761 private boolean jj_3R_130() {
4762 if (jj_scan_token(99)) return true;
4763 if (jj_scan_token(IDENTIFIER)) return true;
4767 private boolean jj_3R_150() {
4768 if (jj_scan_token(GOTO)) return true;
4769 if (jj_scan_token(IDENTIFIER)) return true;
4770 if (jj_scan_token(57)) return true;
4774 private boolean jj_3R_171() {
4775 if (jj_3R_35()) return true;
4779 private boolean jj_3R_169() {
4780 if (jj_3R_106()) return true;
4784 private boolean jj_3R_110() {
4793 if (jj_3R_153()) return true;
4800 private boolean jj_3R_124() {
4801 if (jj_scan_token(65)) return true;
4804 if (jj_3R_169()) jj_scanpos = xsp;
4805 if (jj_scan_token(66)) return true;
4809 private boolean jj_3R_129() {
4810 if (jj_scan_token(55)) return true;
4813 if (jj_3R_171()) jj_scanpos = xsp;
4814 if (jj_scan_token(56)) return true;
4818 private boolean jj_3R_39() {
4819 if (jj_3R_20()) return true;
4820 if (jj_scan_token(IDENTIFIER)) return true;
4824 private boolean jj_3R_224() {
4825 if (jj_scan_token(84)) return true;
4829 private boolean jj_3R_128() {
4830 if (jj_scan_token(65)) return true;
4831 if (jj_3R_116()) return true;
4832 if (jj_scan_token(66)) return true;
4836 private boolean jj_3R_139() {
4837 if (jj_scan_token(REGISTER)) return true;
4841 private boolean jj_3R_223() {
4842 if (jj_scan_token(83)) return true;
4846 private boolean jj_3R_21() {
4847 if (jj_scan_token(IDENTIFIER)) return true;
4851 private boolean jj_3R_138() {
4852 if (jj_scan_token(AUTO)) return true;
4856 private boolean jj_3R_94() {
4869 if (jj_3R_133()) return true;
4878 private boolean jj_3R_99() {
4883 if (jj_3R_139()) return true;
4888 private boolean jj_3R_34() {
4889 if (jj_3R_93()) return true;
4893 if (jj_3R_94()) { jj_scanpos = xsp; break; }
4898 private boolean jj_3_7() {
4899 if (jj_3R_20()) return true;
4902 if (jj_3R_21()) jj_scanpos = xsp;
4903 if (jj_scan_token(61)) return true;
4904 if (jj_3R_22()) return true;
4905 if (jj_scan_token(62)) return true;
4909 private boolean jj_3_9() {
4910 if (jj_scan_token(59)) return true;
4911 if (jj_3R_25()) return true;
4915 private boolean jj_3R_218() {
4920 if (jj_3R_224()) return true;
4922 if (jj_3R_211()) return true;
4926 private boolean jj_3R_40() {
4930 if (jj_3R_99()) { jj_scanpos = xsp; break; }
4935 private boolean jj_3R_15() {
4940 if (jj_3R_39()) return true;
4945 private boolean jj_3R_209() {
4946 if (jj_3R_25()) return true;
4950 if (jj_3_9()) { jj_scanpos = xsp; break; }
4955 private boolean jj_3R_211() {
4956 if (jj_3R_217()) return true;
4959 if (jj_3R_218()) jj_scanpos = xsp;
4963 private boolean jj_3R_227() {
4964 if (jj_3R_116()) return true;
4968 private boolean jj_3R_54() {
4969 if (jj_scan_token(STATIC)) return true;
4973 private boolean jj_3R_226() {
4974 if (jj_3R_116()) return true;
4978 private boolean jj_3R_210() {
4979 if (jj_scan_token(59)) return true;
4983 private boolean jj_3R_27() {
4986 if (jj_3R_54()) jj_scanpos = xsp;
4987 if (jj_3R_16()) return true;
4991 private boolean jj_3R_225() {
4992 if (jj_3R_116()) return true;
4996 private boolean jj_3R_212() {
4997 if (jj_scan_token(82)) return true;
4998 if (jj_3R_200()) return true;
5002 private boolean jj_3R_197() {
5003 if (jj_3R_124()) return true;
5007 private boolean jj_3R_50() {
5008 if (jj_scan_token(61)) return true;
5009 if (jj_3R_209()) return true;
5012 if (jj_3R_210()) jj_scanpos = xsp;
5013 if (jj_scan_token(62)) return true;
5017 private boolean jj_3R_196() {
5018 if (jj_3R_123()) return true;
5022 private boolean jj_3R_200() {
5023 if (jj_3R_211()) return true;
5026 if (jj_3R_212()) jj_scanpos = xsp;
5030 private boolean jj_3R_49() {
5031 if (jj_3R_105()) return true;
5035 private boolean jj_3R_195() {
5036 if (jj_3R_122()) return true;
5040 private boolean jj_3R_159() {
5041 if (jj_scan_token(98)) return true;
5045 private boolean jj_3R_149() {
5046 if (jj_scan_token(FOR)) return true;
5047 if (jj_scan_token(55)) return true;
5050 if (jj_3R_225()) jj_scanpos = xsp;
5051 if (jj_scan_token(57)) return true;
5053 if (jj_3R_226()) jj_scanpos = xsp;
5054 if (jj_scan_token(57)) return true;
5056 if (jj_3R_227()) jj_scanpos = xsp;
5057 if (jj_scan_token(56)) return true;
5058 if (jj_3R_28()) return true;
5062 private boolean jj_3R_194() {
5063 if (jj_3R_15()) return true;
5067 private boolean jj_3R_220() {
5068 if (jj_scan_token(LONG)) return true;
5072 private boolean jj_3R_158() {
5073 if (jj_scan_token(97)) return true;
5077 private boolean jj_3R_16() {
5078 if (jj_3R_40()) return true;
5079 if (jj_3R_32()) return true;
5080 if (jj_3R_41()) return true;
5081 if (jj_scan_token(57)) return true;
5085 private boolean jj_3R_25() {
5090 if (jj_3R_50()) return true;
5095 private boolean jj_3R_157() {
5096 if (jj_scan_token(92)) return true;
5100 private boolean jj_3R_156() {
5101 if (jj_scan_token(91)) return true;
5105 private boolean jj_3R_216() {
5106 if (jj_scan_token(LONG)) return true;
5109 if (jj_3R_220()) jj_scanpos = xsp;
5113 private boolean jj_3R_155() {
5114 if (jj_scan_token(58)) return true;
5118 private boolean jj_3R_215() {
5119 if (jj_scan_token(INT)) return true;
5123 private boolean jj_3R_154() {
5124 if (jj_scan_token(82)) return true;
5128 private boolean jj_3R_219() {
5129 if (jj_scan_token(INT)) return true;
5133 private boolean jj_3R_201() {
5134 if (jj_scan_token(81)) return true;
5135 if (jj_3R_176()) return true;
5139 private boolean jj_3R_148() {
5140 if (jj_scan_token(DO)) return true;
5141 if (jj_3R_28()) return true;
5142 if (jj_scan_token(WHILE)) return true;
5143 if (jj_scan_token(55)) return true;
5144 if (jj_3R_116()) return true;
5145 if (jj_scan_token(56)) return true;
5146 if (jj_scan_token(57)) return true;
5150 private boolean jj_3R_173() {
5151 if (jj_3R_124()) return true;
5155 private boolean jj_3R_176() {
5156 if (jj_3R_200()) return true;
5159 if (jj_3R_201()) jj_scanpos = xsp;
5163 private boolean jj_3R_214() {
5164 if (jj_scan_token(SHORT)) return true;
5167 if (jj_3R_219()) jj_scanpos = xsp;
5171 private boolean jj_3R_111() {
5184 if (jj_3R_159()) return true;
5193 private boolean jj_3R_19() {
5194 if (jj_3R_32()) return true;
5195 if (jj_scan_token(IDENTIFIER)) return true;
5198 if (jj_3R_173()) jj_scanpos = xsp;
5202 private boolean jj_3R_213() {
5203 if (jj_scan_token(CHAR)) return true;
5207 private boolean jj_3R_147() {
5208 if (jj_scan_token(WHILE)) return true;
5209 if (jj_scan_token(55)) return true;
5210 if (jj_3R_116()) return true;
5211 if (jj_scan_token(56)) return true;
5212 if (jj_3R_28()) return true;
5216 private boolean jj_3R_206() {
5225 if (jj_3R_216()) return true;
5232 private boolean jj_3R_205() {
5233 if (jj_scan_token(UNSIGNED)) return true;
5237 private boolean jj_3R_109() {
5244 if (jj_3R_149()) return true;
5250 private boolean jj_3R_204() {
5251 if (jj_scan_token(SIGNED)) return true;
5255 private boolean jj_3R_177() {
5256 if (jj_scan_token(80)) return true;
5257 if (jj_3R_160()) return true;
5261 private boolean jj_3R_136() {
5262 if (jj_scan_token(59)) return true;
5263 if (jj_scan_token(60)) return true;
5267 private boolean jj_3_16() {
5268 if (jj_3R_29()) return true;
5272 private boolean jj_3R_160() {
5273 if (jj_3R_176()) return true;
5276 if (jj_3R_177()) jj_scanpos = xsp;
5280 private boolean jj_3R_193() {
5285 if (jj_3R_205()) return true;
5288 if (jj_3R_206()) jj_scanpos = xsp;
5292 /** Generated Token Manager. */
5293 public CParserTokenManager token_source;
5294 SimpleCharStream jj_input_stream;
5295 /** Current token. */
5300 private Token jj_scanpos, jj_lastpos;
5303 final private int[] jj_la1 = new int[94];
5304 static private int[] jj_la1_0;
5305 static private int[] jj_la1_1;
5306 static private int[] jj_la1_2;
5307 static private int[] jj_la1_3;
5314 private static void jj_la1_init_0() {
5315 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,};
5317 private static void jj_la1_init_1() {
5318 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,};
5320 private static void jj_la1_init_2() {
5321 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,};
5323 private static void jj_la1_init_3() {
5324 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,};
5326 final private JJCalls[] jj_2_rtns = new JJCalls[18];
5327 private boolean jj_rescan = false;
5328 private int jj_gc = 0;
5330 /** Constructor with InputStream. */
5331 public GNUnetParser(java.io.InputStream stream) {
5334 /** Constructor with InputStream and supplied encoding */
5335 public GNUnetParser(java.io.InputStream stream, String encoding) {
5336 try { jj_input_stream = new SimpleCharStream(stream, encoding, 1, 1); } catch(java.io.UnsupportedEncodingException e) { throw new RuntimeException(e); }
5337 token_source = new CParserTokenManager(jj_input_stream);
5338 token = new Token();
5341 for (int i = 0; i < 94; i++) jj_la1[i] = -1;
5342 for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
5345 /** Reinitialise. */
5346 public void ReInit(java.io.InputStream stream) {
5347 ReInit(stream, null);
5349 /** Reinitialise. */
5350 public void ReInit(java.io.InputStream stream, String encoding) {
5351 try { jj_input_stream.ReInit(stream, encoding, 1, 1); } catch(java.io.UnsupportedEncodingException e) { throw new RuntimeException(e); }
5352 token_source.ReInit(jj_input_stream);
5353 token = new Token();
5356 for (int i = 0; i < 94; i++) jj_la1[i] = -1;
5357 for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
5361 public GNUnetParser(java.io.Reader stream) {
5362 jj_input_stream = new SimpleCharStream(stream, 1, 1);
5363 token_source = new CParserTokenManager(jj_input_stream);
5364 token = new Token();
5367 for (int i = 0; i < 94; i++) jj_la1[i] = -1;
5368 for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
5371 /** Reinitialise. */
5372 public void ReInit(java.io.Reader stream) {
5373 jj_input_stream.ReInit(stream, 1, 1);
5374 token_source.ReInit(jj_input_stream);
5375 token = new Token();
5378 for (int i = 0; i < 94; i++) jj_la1[i] = -1;
5379 for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
5382 /** Constructor with generated Token Manager. */
5383 public GNUnetParser(CParserTokenManager tm) {
5385 token = new Token();
5388 for (int i = 0; i < 94; i++) jj_la1[i] = -1;
5389 for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
5392 /** Reinitialise. */
5393 public void ReInit(CParserTokenManager tm) {
5395 token = new Token();
5398 for (int i = 0; i < 94; i++) jj_la1[i] = -1;
5399 for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
5402 private Token jj_consume_token(int kind) throws ParseException {
5404 if ((oldToken = token).next != null) token = token.next;
5405 else token = token.next = token_source.getNextToken();
5407 if (token.kind == kind) {
5409 if (++jj_gc > 100) {
5411 for (int i = 0; i < jj_2_rtns.length; i++) {
5412 JJCalls c = jj_2_rtns[i];
5414 if (c.gen < jj_gen) c.first = null;
5423 throw generateParseException();
5426 static private final class LookaheadSuccess extends java.lang.Error { }
5427 final private LookaheadSuccess jj_ls = new LookaheadSuccess();
5428 private boolean jj_scan_token(int kind) {
5429 if (jj_scanpos == jj_lastpos) {
5431 if (jj_scanpos.next == null) {
5432 jj_lastpos = jj_scanpos = jj_scanpos.next = token_source.getNextToken();
5434 jj_lastpos = jj_scanpos = jj_scanpos.next;
5437 jj_scanpos = jj_scanpos.next;
5440 int i = 0; Token tok = token;
5441 while (tok != null && tok != jj_scanpos) { i++; tok = tok.next; }
5442 if (tok != null) jj_add_error_token(kind, i);
5444 if (jj_scanpos.kind != kind) return true;
5445 if (jj_la == 0 && jj_scanpos == jj_lastpos) throw jj_ls;
5450 /** Get the next Token. */
5451 final public Token getNextToken() {
5452 if (token.next != null) token = token.next;
5453 else token = token.next = token_source.getNextToken();
5459 /** Get the specific Token. */
5460 final public Token getToken(int index) {
5462 for (int i = 0; i < index; i++) {
5463 if (t.next != null) t = t.next;
5464 else t = t.next = token_source.getNextToken();
5469 private int jj_ntk() {
5470 if ((jj_nt=token.next) == null)
5471 return (jj_ntk = (token.next=token_source.getNextToken()).kind);
5473 return (jj_ntk = jj_nt.kind);
5476 private java.util.List<int[]> jj_expentries = new java.util.ArrayList<int[]>();
5477 private int[] jj_expentry;
5478 private int jj_kind = -1;
5479 private int[] jj_lasttokens = new int[100];
5480 private int jj_endpos;
5482 private void jj_add_error_token(int kind, int pos) {
5483 if (pos >= 100) return;
5484 if (pos == jj_endpos + 1) {
5485 jj_lasttokens[jj_endpos++] = kind;
5486 } else if (jj_endpos != 0) {
5487 jj_expentry = new int[jj_endpos];
5488 for (int i = 0; i < jj_endpos; i++) {
5489 jj_expentry[i] = jj_lasttokens[i];
5491 jj_entries_loop: for (java.util.Iterator<?> it = jj_expentries.iterator(); it.hasNext();) {
5492 int[] oldentry = (int[])(it.next());
5493 if (oldentry.length == jj_expentry.length) {
5494 for (int i = 0; i < jj_expentry.length; i++) {
5495 if (oldentry[i] != jj_expentry[i]) {
5496 continue jj_entries_loop;
5499 jj_expentries.add(jj_expentry);
5500 break jj_entries_loop;
5503 if (pos != 0) jj_lasttokens[(jj_endpos = pos) - 1] = kind;
5507 /** Generate ParseException. */
5508 public ParseException generateParseException() {
5509 jj_expentries.clear();
5510 boolean[] la1tokens = new boolean[101];
5512 la1tokens[jj_kind] = true;
5515 for (int i = 0; i < 94; i++) {
5516 if (jj_la1[i] == jj_gen) {
5517 for (int j = 0; j < 32; j++) {
5518 if ((jj_la1_0[i] & (1<<j)) != 0) {
5519 la1tokens[j] = true;
5521 if ((jj_la1_1[i] & (1<<j)) != 0) {
5522 la1tokens[32+j] = true;
5524 if ((jj_la1_2[i] & (1<<j)) != 0) {
5525 la1tokens[64+j] = true;
5527 if ((jj_la1_3[i] & (1<<j)) != 0) {
5528 la1tokens[96+j] = true;
5533 for (int i = 0; i < 101; i++) {
5535 jj_expentry = new int[1];
5537 jj_expentries.add(jj_expentry);
5542 jj_add_error_token(0, 0);
5543 int[][] exptokseq = new int[jj_expentries.size()][];
5544 for (int i = 0; i < jj_expentries.size(); i++) {
5545 exptokseq[i] = jj_expentries.get(i);
5547 return new ParseException(token, exptokseq, tokenImage);
5550 /** Enable tracing. */
5551 final public void enable_tracing() {
5554 /** Disable tracing. */
5555 final public void disable_tracing() {
5558 private void jj_rescan_token() {
5560 for (int i = 0; i < 18; i++) {
5562 JJCalls p = jj_2_rtns[i];
5564 if (p.gen > jj_gen) {
5565 jj_la = p.arg; jj_lastpos = jj_scanpos = p.first;
5567 case 0: jj_3_1(); break;
5568 case 1: jj_3_2(); break;
5569 case 2: jj_3_3(); break;
5570 case 3: jj_3_4(); break;
5571 case 4: jj_3_5(); break;
5572 case 5: jj_3_6(); break;
5573 case 6: jj_3_7(); break;
5574 case 7: jj_3_8(); break;
5575 case 8: jj_3_9(); break;
5576 case 9: jj_3_10(); break;
5577 case 10: jj_3_11(); break;
5578 case 11: jj_3_12(); break;
5579 case 12: jj_3_13(); break;
5580 case 13: jj_3_14(); break;
5581 case 14: jj_3_15(); break;
5582 case 15: jj_3_16(); break;
5583 case 16: jj_3_17(); break;
5584 case 17: jj_3_18(); break;
5588 } while (p != null);
5589 } catch(LookaheadSuccess ls) { }
5594 private void jj_save(int index, int xla) {
5595 JJCalls p = jj_2_rtns[index];
5596 while (p.gen > jj_gen) {
5597 if (p.next == null) { p = p.next = new JJCalls(); break; }
5600 p.gen = jj_gen + xla - jj_la; p.first = token; p.arg = xla;
5603 static final class JJCalls {
5613 static NodeToken makeNodeToken(Token t) {
5614 return new NodeToken(t.image.intern(), t.kind, t.beginLine, t.beginColumn, t.endLine, t.endColumn);