gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[GNUnet-SVN] r13366 - gnunet/src/monkey


From: gnunet
Subject: [GNUnet-SVN] r13366 - gnunet/src/monkey
Date: Fri, 22 Oct 2010 16:04:14 +0200

Author: grothoff
Date: 2010-10-22 16:04:14 +0200 (Fri, 22 Oct 2010)
New Revision: 13366

Removed:
   gnunet/src/monkey/C.out.jj
Log:
generated

Deleted: gnunet/src/monkey/C.out.jj
===================================================================
--- gnunet/src/monkey/C.out.jj  2010-10-22 14:01:30 UTC (rev 13365)
+++ gnunet/src/monkey/C.out.jj  2010-10-22 14:04:14 UTC (rev 13366)
@@ -1,2546 +0,0 @@
-//
-// Generated by JTB 1.3.2
-//
-
-
-
-PARSER_BEGIN(CParser)
-import java.util.*;
-import org.gnunet.monkey.parser.nodes.*;
-import java.util.Vector;
-
-
-public class CParser 
-{
-   public static void main(String args[])
-   {
-      CParser parser;
-      if ( args.length == 0 )
-      {
-         System.out.println("C Parser Version 0.1Alpha:  Reading from standard 
input . . .");
-         parser = new CParser(System.in);
-      }
-      else
-         if ( args.length == 1 )
-         {
-            System.out.println("C Parser Version 0.1Alpha:  Reading from file 
" + args[0]+ " . . .");
-            try
-            {
-               parser = new CParser(new java.io.FileInputStream(args[0]));
-            }
-            catch (java.io.FileNotFoundException e)
-            {
-               System.out.println("C Parser Version 0.1:  File " + args[0]+ " 
not found.");
-               return;
-            }
-         }
-         else
-         {
-            System.out.println("C Parser Version 0.1Alpha:  Usage is one of:");
-            System.out.println("         java CParser < inputfile");
-            System.out.println("OR");
-            System.out.println("         java CParser inputfile");
-            return;
-         }
-      try
-      {
-         parser.TranslationUnit();
-         System.out.println("C Parser Version 0.1Alpha:  Java program parsed 
successfully.");
-      }
-      catch (ParseException e)
-      {
-         System.out.println("C Parser Version 0.1Alpha:  Encountered errors 
during parse.");
-         e.printStackTrace();
-      }
-   }
-}
-
-class JTBToolkit {
-   static NodeToken makeNodeToken(Token t) {
-      return new NodeToken(t.image.intern(), t.kind, t.beginLine, 
t.beginColumn, t.endLine, t.endColumn);
-   }
-}
-
-
-PARSER_END(CParser)
-
-SKIP :
-{
-   " "
-   | "\t"
-   | "\n"
-   | "\r"
-   | <"//" (~["\n", "\r"])* ("\n" | "\r" | "\r\n")>
-   | <"/*" (~["*"])* "*" ("*" | ~["*", "/"] (~["*"])* "*")* "/">
-   | "#" : PREPROCESSOR_OUTPUT
-}
-
-<PREPROCESSOR_OUTPUT> SKIP :
-{
-   "\n" : DEFAULT
-}
-
-<PREPROCESSOR_OUTPUT> MORE :
-{
-   "\\\n"
-   | "\\\r\n"
-   | <~[]>
-}
-
-TOKEN :
-{
-   <INTEGER_LITERAL: <DECIMAL_LITERAL> (["l", "L"])? (["l", "L"])? | 
<HEX_LITERAL> (["l", "L"])? (["l", "L"])? | <OCTAL_LITERAL> (["l", "L"])? 
(["l", "L"])?>
-   | <#DECIMAL_LITERAL: ["1"-"9"] (["0"-"9"])*>
-   | <#HEX_LITERAL: "0" ["x", "X"] (["0"-"9", "a"-"f", "A"-"F"])+>
-   | <#OCTAL_LITERAL: "0" (["0"-"7"])*>
-   | <FLOATING_POINT_LITERAL: (["0"-"9"])+ "." (["0"-"9"])* (<EXPONENT>)? 
(["f", "F", "d", "D"])? | "." (["0"-"9"])+ (<EXPONENT>)? (["f", "F", "d", 
"D"])? | (["0"-"9"])+ <EXPONENT> (["f", "F", "d", "D"])? | (["0"-"9"])+ 
(<EXPONENT>)? ["f", "F", "d", "D"]>
-   | <#EXPONENT: ["e", "E"] (["+", "-"])? (["0"-"9"])+>
-   | <CHARACTER_LITERAL: "\'" (~["\'", "\\", "\n", "\r"] | "\\" (["n", "t", 
"b", "r", "f", "\\", "\'", "\""] | ["0"-"7"] (["0"-"7"])? | ["0"-"3"] ["0"-"7"] 
["0"-"7"])) "\'">
-   | <STRING_LITERAL: "\"" (~["\"", "\\", "\n", "\r"] | "\\" (["n", "t", "b", 
"r", "f", "\\", "\'", "\""] | ["0"-"7"] (["0"-"7"])? | ["0"-"3"] ["0"-"7"] 
["0"-"7"] | (["\n", "\r"] | "\r\n")))* "\"" ((["\r", "\n", " "])* "\"" (~["\"", 
"\\", "\n", "\r"] | "\\" (["n", "t", "b", "r", "f", "\\", "\'", "\""] | 
["0"-"7"] (["0"-"7"])? | ["0"-"3"] ["0"-"7"] ["0"-"7"] | (["\n", "\r"] | 
"\r\n")))* "\"")*>
-}
-
-TOKEN :
-{
-   <CONTINUE: "continue">
-   | <VOLATILE: "volatile">
-   | <REGISTER: "register">
-   | <UNSIGNED: "unsigned">
-   | <TYPEDEF: "typedef">
-   | <DFLT: "default">
-   | <DOUBLE: "double">
-   | <SIZEOF: "sizeof">
-   | <SWITCH: "switch">
-   | <RETURN: "return">
-   | <EXTERN: "extern">
-   | <STRUCT: "struct">
-   | <STATIC: "static">
-   | <SIGNED: "signed">
-   | <WHILE: "while">
-   | <BREAK: "break">
-   | <UNION: "union">
-   | <CONST: "const">
-   | <FLOAT: "float">
-   | <SHORT: "short">
-   | <ELSE: "else">
-   | <CASE: "case">
-   | <LONG: "long">
-   | <ENUM: "enum">
-   | <AUTO: "auto">
-   | <VOID: "void">
-   | <CHAR: "char">
-   | <GOTO: "goto">
-   | <FOR: "for">
-   | <INT: "int">
-   | <IF: "if">
-   | <DO: "do">
-}
-
-TOKEN :
-{
-   <IDENTIFIER: <LETTER> (<LETTER> | <DIGIT>)*>
-   | <#LETTER: ["$", "A"-"Z", "_", "a"-"z"]>
-   | <#DIGIT: ["0"-"9"]>
-}
-
-TranslationUnit TranslationUnit() :
-{
-   NodeList n0 = new NodeList();
-   ExternalDeclaration n1;
-
-   
-}
-{
-   (
-      n1=ExternalDeclaration()
-      { n0.addNode(n1); }
-   )+
-   { n0.nodes.trimToSize(); }
-   
-   { return new TranslationUnit(n0); }
-}
-
-ExternalDeclaration ExternalDeclaration() :
-{
-   NodeListOptional n0 = new NodeListOptional();
-   StorageClassSpecifier n1;
-   NodeChoice n2;
-   FunctionDeclaration n3;
-   StructOrUnionSpecifier n4;
-   VariableDeclaration n5;
-   TypeDeclaration n6;
-
-   
-}
-{
-   (
-      n1=StorageClassSpecifier()
-      { n0.addNode(n1); }
-   )*
-   { n0.nodes.trimToSize(); }
-   (
-      (
-         LOOKAHEAD(FunctionDeclaration())
-         n3=FunctionDeclaration()
-         { n2 = new NodeChoice(n3, 0); }
-      |
-         LOOKAHEAD(StructOrUnionSpecifier())
-         n4=StructOrUnionSpecifier()
-         { n2 = new NodeChoice(n4, 1); }
-      |
-         LOOKAHEAD(VariableDeclaration())
-         n5=VariableDeclaration()
-         { n2 = new NodeChoice(n5, 2); }
-      |
-         LOOKAHEAD(TypeDeclaration())
-         n6=TypeDeclaration()
-         { n2 = new NodeChoice(n6, 3); }
-      )
-      
-   )
-   
-   { return new ExternalDeclaration(n0,n2); }
-}
-
-FunctionDeclaration FunctionDeclaration() :
-{
-   TypeSpecifier n0;
-   NodeToken n1;
-   Token n2;
-   NodeToken n3;
-   Token n4;
-   NodeOptional n5 = new NodeOptional();
-   ParameterList n6;
-   NodeToken n7;
-   Token n8;
-   NodeChoice n9;
-   NodeToken n10;
-   Token n11;
-   CompoundStatement n12;
-
-   
-}
-{
-   n0=TypeSpecifier()
-   n2=<IDENTIFIER> { n1 = JTBToolkit.makeNodeToken(n2); }
-   n4="(" { n3 = JTBToolkit.makeNodeToken(n4); }
-   (
-      n6=ParameterList()
-      { n5.addNode(n6); }
-   )?
-   n8=")" { n7 = JTBToolkit.makeNodeToken(n8); }
-   (
-      (
-         n11=";" { n10 = JTBToolkit.makeNodeToken(n11); }
-         { n9 = new NodeChoice(n10, 0); }
-      |
-         n12=CompoundStatement()
-         { n9 = new NodeChoice(n12, 1); }
-      )
-      
-   )
-   
-   { return new FunctionDeclaration(n0,n1,n3,n5,n7,n9); }
-}
-
-StorageClassSpecifier StorageClassSpecifier() :
-{
-   NodeChoice n0;
-   NodeToken n1;
-   Token n2;
-   NodeToken n3;
-   Token n4;
-
-   
-}
-{
-   (
-      (
-         n2=<STATIC> { n1 = JTBToolkit.makeNodeToken(n2); }
-         { n0 = new NodeChoice(n1, 0); }
-      |
-         n4=<EXTERN> { n3 = JTBToolkit.makeNodeToken(n4); }
-         { n0 = new NodeChoice(n3, 1); }
-      )
-      
-   )
-   
-   { return new StorageClassSpecifier(n0); }
-}
-
-TypeDeclaration TypeDeclaration() :
-{
-   NodeToken n0;
-   Token n1;
-   NodeChoice n2;
-   DataType n3;
-   FunctionType n4;
-   NodeToken n5;
-   Token n6;
-
-   
-}
-{
-   n1=<TYPEDEF> { n0 = JTBToolkit.makeNodeToken(n1); }
-   (
-      (
-         LOOKAHEAD(DataType() ";")
-         n3=DataType()
-         { n2 = new NodeChoice(n3, 0); }
-      |
-         n4=FunctionType()
-         { n2 = new NodeChoice(n4, 1); }
-      )
-      
-   )
-   n6=";" { n5 = JTBToolkit.makeNodeToken(n6); }
-   
-   { return new TypeDeclaration(n0,n2,n5); }
-}
-
-DataType DataType() :
-{
-   StructOrUnionSpecifier n0;
-   NodeToken n1;
-   Token n2;
-
-   
-}
-{
-   n0=StructOrUnionSpecifier()
-   n2=<IDENTIFIER> { n1 = JTBToolkit.makeNodeToken(n2); }
-   
-   { return new DataType(n0,n1); }
-}
-
-FunctionType FunctionType() :
-{
-   TypeSpecifier n0;
-   NodeToken n1;
-   Token n2;
-   NodeToken n3;
-   Token n4;
-   NodeToken n5;
-   Token n6;
-   NodeToken n7;
-   Token n8;
-   NodeToken n9;
-   Token n10;
-   NodeOptional n11 = new NodeOptional();
-   ParameterList n12;
-   NodeToken n13;
-   Token n14;
-
-   
-}
-{
-   n0=TypeSpecifier()
-   n2="(" { n1 = JTBToolkit.makeNodeToken(n2); }
-   n4="*" { n3 = JTBToolkit.makeNodeToken(n4); }
-   n6=<IDENTIFIER> { n5 = JTBToolkit.makeNodeToken(n6); }
-   n8=")" { n7 = JTBToolkit.makeNodeToken(n8); }
-   n10="(" { n9 = JTBToolkit.makeNodeToken(n10); }
-   (
-      n12=ParameterList()
-      { n11.addNode(n12); }
-   )?
-   n14=")" { n13 = JTBToolkit.makeNodeToken(n14); }
-   
-   { return new FunctionType(n0,n1,n3,n5,n7,n9,n11,n13); }
-}
-
-ParameterList ParameterList() :
-{
-   ParameterDeclaration n0;
-   NodeListOptional n1 = new NodeListOptional();
-   NodeSequence n2;
-   NodeToken n3;
-   Token n4;
-   ParameterDeclaration n5;
-   NodeOptional n6 = new NodeOptional();
-   NodeSequence n7;
-   NodeToken n8;
-   Token n9;
-   NodeToken n10;
-   Token n11;
-
-   
-}
-{
-   n0=ParameterDeclaration()
-   (
-      LOOKAHEAD(2)
-      { n2 = new NodeSequence(2); }
-      n4="," { n3 = JTBToolkit.makeNodeToken(n4); }
-      { n2.addNode(n3); }
-      n5=ParameterDeclaration()
-      { n2.addNode(n5); }
-      { n1.addNode(n2); }
-   )*
-   { n1.nodes.trimToSize(); }
-   (
-      { n7 = new NodeSequence(2); }
-      n9="," { n8 = JTBToolkit.makeNodeToken(n9); }
-      { n7.addNode(n8); }
-      n11="..." { n10 = JTBToolkit.makeNodeToken(n11); }
-      { n7.addNode(n10); }
-      { n6.addNode(n7); }
-   )?
-   
-   { return new ParameterList(n0,n1,n6); }
-}
-
-ParameterDeclaration ParameterDeclaration() :
-{
-   TypeSpecifier n0;
-   NodeToken n1;
-   Token n2;
-   NodeOptional n3 = new NodeOptional();
-   Array n4;
-
-   
-}
-{
-   n0=TypeSpecifier()
-   n2=<IDENTIFIER> { n1 = JTBToolkit.makeNodeToken(n2); }
-   (
-      n4=Array()
-      { n3.addNode(n4); }
-   )?
-   
-   { return new ParameterDeclaration(n0,n1,n3); }
-}
-
-VariableDeclaration VariableDeclaration() :
-{
-   VariableClassSpecifier n0;
-   TypeSpecifier n1;
-   InitDeclaratorList n2;
-   NodeToken n3;
-   Token n4;
-
-   
-}
-{
-   n0=VariableClassSpecifier()
-   n1=TypeSpecifier()
-   n2=InitDeclaratorList()
-   n4=";" { n3 = JTBToolkit.makeNodeToken(n4); }
-   
-   { return new VariableDeclaration(n0,n1,n2,n3); }
-}
-
-LocalVariableDeclaration LocalVariableDeclaration() :
-{
-   NodeOptional n0 = new NodeOptional();
-   NodeToken n1;
-   Token n2;
-   VariableDeclaration n3;
-
-   
-}
-{
-   (
-      n2=<STATIC> { n1 = JTBToolkit.makeNodeToken(n2); }
-      { n0.addNode(n1); }
-   )?
-   n3=VariableDeclaration()
-   
-   { return new LocalVariableDeclaration(n0,n3); }
-}
-
-VariableClassSpecifier VariableClassSpecifier() :
-{
-   NodeListOptional n0 = new NodeListOptional();
-   NodeChoice n1;
-   NodeToken n2;
-   Token n3;
-   NodeToken n4;
-   Token n5;
-
-   
-}
-{
-   (
-      (
-         n3=<AUTO> { n2 = JTBToolkit.makeNodeToken(n3); }
-         { n1 = new NodeChoice(n2, 0); }
-      |
-         n5=<REGISTER> { n4 = JTBToolkit.makeNodeToken(n5); }
-         { n1 = new NodeChoice(n4, 1); }
-      )
-      { n0.addNode(n1); }
-   )*
-   { n0.nodes.trimToSize(); }
-   
-   { return new VariableClassSpecifier(n0); }
-}
-
-TypeSpecifier TypeSpecifier() :
-{
-   NodeOptional n0 = new NodeOptional();
-   NodeToken n1;
-   Token n2;
-   NodeChoice n3;
-   NodeToken n4;
-   Token n5;
-   NodeToken n6;
-   Token n7;
-   NodeSequence n8;
-   NodeToken n9;
-   Token n10;
-   NodeOptional n11 = new NodeOptional();
-   NodeToken n12;
-   Token n13;
-   NodeToken n14;
-   Token n15;
-   NodeSequence n16;
-   NodeToken n17;
-   Token n18;
-   NodeOptional n19 = new NodeOptional();
-   NodeToken n20;
-   Token n21;
-   NodeToken n22;
-   Token n23;
-   NodeToken n24;
-   Token n25;
-   NodeSequence n26;
-   NodeChoice n27;
-   NodeToken n28;
-   Token n29;
-   NodeToken n30;
-   Token n31;
-   NodeOptional n32 = new NodeOptional();
-   NodeChoice n33;
-   NodeToken n34;
-   Token n35;
-   NodeSequence n36;
-   NodeToken n37;
-   Token n38;
-   NodeOptional n39;
-   NodeToken n40;
-   Token n41;
-   NodeToken n42;
-   Token n43;
-   NodeSequence n44;
-   NodeToken n45;
-   Token n46;
-   NodeOptional n47;
-   NodeToken n48;
-   Token n49;
-   StructOrUnionSpecifier n50;
-   EnumSpecifier n51;
-   NodeToken n52;
-   Token n53;
-   NodeOptional n54 = new NodeOptional();
-   Pointer n55;
-   NodeOptional n56 = new NodeOptional();
-   Array n57;
-
-   
-}
-{
-   (
-      n2=<CONST> { n1 = JTBToolkit.makeNodeToken(n2); }
-      { n0.addNode(n1); }
-   )?
-   (
-      (
-         n5=<VOID> { n4 = JTBToolkit.makeNodeToken(n5); }
-         { n3 = new NodeChoice(n4, 0); }
-      |
-         n7=<CHAR> { n6 = JTBToolkit.makeNodeToken(n7); }
-         { n3 = new NodeChoice(n6, 1); }
-      |
-         { n8 = new NodeSequence(2); }
-         n10=<SHORT> { n9 = JTBToolkit.makeNodeToken(n10); }
-         { n8.addNode(n9); }
-         (
-            n13=<INT> { n12 = JTBToolkit.makeNodeToken(n13); }
-            { n11.addNode(n12); }
-         )?
-         { n8.addNode(n11); }
-         { n3 = new NodeChoice(n8, 2); }
-      |
-         n15=<INT> { n14 = JTBToolkit.makeNodeToken(n15); }
-         { n3 = new NodeChoice(n14, 3); }
-      |
-         { n16 = new NodeSequence(2); }
-         n18=<LONG> { n17 = JTBToolkit.makeNodeToken(n18); }
-         { n16.addNode(n17); }
-         (
-            n21=<LONG> { n20 = JTBToolkit.makeNodeToken(n21); }
-            { n19.addNode(n20); }
-         )?
-         { n16.addNode(n19); }
-         { n3 = new NodeChoice(n16, 4); }
-      |
-         n23=<FLOAT> { n22 = JTBToolkit.makeNodeToken(n23); }
-         { n3 = new NodeChoice(n22, 5); }
-      |
-         n25=<DOUBLE> { n24 = JTBToolkit.makeNodeToken(n25); }
-         { n3 = new NodeChoice(n24, 6); }
-      |
-         { n26 = new NodeSequence(2); }
-         (
-            (
-               n29=<SIGNED> { n28 = JTBToolkit.makeNodeToken(n29); }
-               { n27 = new NodeChoice(n28, 0); }
-            |
-               n31=<UNSIGNED> { n30 = JTBToolkit.makeNodeToken(n31); }
-               { n27 = new NodeChoice(n30, 1); }
-            )
-            
-         )
-         { n26.addNode(n27); }
-         (
-            { n39 = new NodeOptional(); }
-            { n47 = new NodeOptional(); }
-            (
-               n35=<CHAR> { n34 = JTBToolkit.makeNodeToken(n35); }
-               { n33 = new NodeChoice(n34, 0); }
-            |
-               { n36 = new NodeSequence(2); }
-               n38=<SHORT> { n37 = JTBToolkit.makeNodeToken(n38); }
-               { n36.addNode(n37); }
-               (
-                  n41=<INT> { n40 = JTBToolkit.makeNodeToken(n41); }
-                  { n39.addNode(n40); }
-               )?
-               { n36.addNode(n39); }
-               { n33 = new NodeChoice(n36, 1); }
-            |
-               n43=<INT> { n42 = JTBToolkit.makeNodeToken(n43); }
-               { n33 = new NodeChoice(n42, 2); }
-            |
-               { n44 = new NodeSequence(2); }
-               n46=<LONG> { n45 = JTBToolkit.makeNodeToken(n46); }
-               { n44.addNode(n45); }
-               (
-                  n49=<LONG> { n48 = JTBToolkit.makeNodeToken(n49); }
-                  { n47.addNode(n48); }
-               )?
-               { n44.addNode(n47); }
-               { n33 = new NodeChoice(n44, 3); }
-            )
-            { n32.addNode(n33); }
-         )?
-         { n26.addNode(n32); }
-         { n3 = new NodeChoice(n26, 7); }
-      |
-         n50=StructOrUnionSpecifier()
-         { n3 = new NodeChoice(n50, 8); }
-      |
-         n51=EnumSpecifier()
-         { n3 = new NodeChoice(n51, 9); }
-      |
-         n53=<IDENTIFIER> { n52 = JTBToolkit.makeNodeToken(n53); }
-         { n3 = new NodeChoice(n52, 10); }
-      )
-      
-   )
-   (
-      n55=Pointer()
-      { n54.addNode(n55); }
-   )?
-   (
-      n57=Array()
-      { n56.addNode(n57); }
-   )?
-   
-   { return new TypeSpecifier(n0,n3,n54,n56); }
-}
-
-NoIdentifierTypeSpecifier NoIdentifierTypeSpecifier() :
-{
-   NodeOptional n0 = new NodeOptional();
-   NodeToken n1;
-   Token n2;
-   NodeChoice n3;
-   NodeToken n4;
-   Token n5;
-   NodeToken n6;
-   Token n7;
-   NodeSequence n8;
-   NodeToken n9;
-   Token n10;
-   NodeOptional n11 = new NodeOptional();
-   NodeToken n12;
-   Token n13;
-   NodeToken n14;
-   Token n15;
-   NodeSequence n16;
-   NodeToken n17;
-   Token n18;
-   NodeOptional n19 = new NodeOptional();
-   NodeToken n20;
-   Token n21;
-   NodeToken n22;
-   Token n23;
-   NodeToken n24;
-   Token n25;
-   NodeSequence n26;
-   NodeChoice n27;
-   NodeToken n28;
-   Token n29;
-   NodeToken n30;
-   Token n31;
-   NodeOptional n32 = new NodeOptional();
-   NodeChoice n33;
-   NodeToken n34;
-   Token n35;
-   NodeSequence n36;
-   NodeToken n37;
-   Token n38;
-   NodeOptional n39;
-   NodeToken n40;
-   Token n41;
-   NodeToken n42;
-   Token n43;
-   NodeSequence n44;
-   NodeToken n45;
-   Token n46;
-   NodeOptional n47;
-   NodeToken n48;
-   Token n49;
-   StructOrUnionSpecifier n50;
-   EnumSpecifier n51;
-   NodeOptional n52 = new NodeOptional();
-   Pointer n53;
-   NodeOptional n54 = new NodeOptional();
-   Array n55;
-
-   
-}
-{
-   (
-      n2=<CONST> { n1 = JTBToolkit.makeNodeToken(n2); }
-      { n0.addNode(n1); }
-   )?
-   (
-      (
-         n5=<VOID> { n4 = JTBToolkit.makeNodeToken(n5); }
-         { n3 = new NodeChoice(n4, 0); }
-      |
-         n7=<CHAR> { n6 = JTBToolkit.makeNodeToken(n7); }
-         { n3 = new NodeChoice(n6, 1); }
-      |
-         { n8 = new NodeSequence(2); }
-         n10=<SHORT> { n9 = JTBToolkit.makeNodeToken(n10); }
-         { n8.addNode(n9); }
-         (
-            n13=<INT> { n12 = JTBToolkit.makeNodeToken(n13); }
-            { n11.addNode(n12); }
-         )?
-         { n8.addNode(n11); }
-         { n3 = new NodeChoice(n8, 2); }
-      |
-         n15=<INT> { n14 = JTBToolkit.makeNodeToken(n15); }
-         { n3 = new NodeChoice(n14, 3); }
-      |
-         { n16 = new NodeSequence(2); }
-         n18=<LONG> { n17 = JTBToolkit.makeNodeToken(n18); }
-         { n16.addNode(n17); }
-         (
-            n21=<LONG> { n20 = JTBToolkit.makeNodeToken(n21); }
-            { n19.addNode(n20); }
-         )?
-         { n16.addNode(n19); }
-         { n3 = new NodeChoice(n16, 4); }
-      |
-         n23=<FLOAT> { n22 = JTBToolkit.makeNodeToken(n23); }
-         { n3 = new NodeChoice(n22, 5); }
-      |
-         n25=<DOUBLE> { n24 = JTBToolkit.makeNodeToken(n25); }
-         { n3 = new NodeChoice(n24, 6); }
-      |
-         { n26 = new NodeSequence(2); }
-         (
-            (
-               n29=<SIGNED> { n28 = JTBToolkit.makeNodeToken(n29); }
-               { n27 = new NodeChoice(n28, 0); }
-            |
-               n31=<UNSIGNED> { n30 = JTBToolkit.makeNodeToken(n31); }
-               { n27 = new NodeChoice(n30, 1); }
-            )
-            
-         )
-         { n26.addNode(n27); }
-         (
-            { n39 = new NodeOptional(); }
-            { n47 = new NodeOptional(); }
-            (
-               n35=<CHAR> { n34 = JTBToolkit.makeNodeToken(n35); }
-               { n33 = new NodeChoice(n34, 0); }
-            |
-               { n36 = new NodeSequence(2); }
-               n38=<SHORT> { n37 = JTBToolkit.makeNodeToken(n38); }
-               { n36.addNode(n37); }
-               (
-                  n41=<INT> { n40 = JTBToolkit.makeNodeToken(n41); }
-                  { n39.addNode(n40); }
-               )?
-               { n36.addNode(n39); }
-               { n33 = new NodeChoice(n36, 1); }
-            |
-               n43=<INT> { n42 = JTBToolkit.makeNodeToken(n43); }
-               { n33 = new NodeChoice(n42, 2); }
-            |
-               { n44 = new NodeSequence(2); }
-               n46=<LONG> { n45 = JTBToolkit.makeNodeToken(n46); }
-               { n44.addNode(n45); }
-               (
-                  n49=<LONG> { n48 = JTBToolkit.makeNodeToken(n49); }
-                  { n47.addNode(n48); }
-               )?
-               { n44.addNode(n47); }
-               { n33 = new NodeChoice(n44, 3); }
-            )
-            { n32.addNode(n33); }
-         )?
-         { n26.addNode(n32); }
-         { n3 = new NodeChoice(n26, 7); }
-      |
-         n50=StructOrUnionSpecifier()
-         { n3 = new NodeChoice(n50, 8); }
-      |
-         n51=EnumSpecifier()
-         { n3 = new NodeChoice(n51, 9); }
-      )
-      
-   )
-   (
-      n53=Pointer()
-      { n52.addNode(n53); }
-   )?
-   (
-      n55=Array()
-      { n54.addNode(n55); }
-   )?
-   
-   { return new NoIdentifierTypeSpecifier(n0,n3,n52,n54); }
-}
-
-StructOrUnionSpecifier StructOrUnionSpecifier() :
-{
-   NodeChoice n0;
-   NodeSequence n1;
-   StructOrUnion n2;
-   NodeOptional n3 = new NodeOptional();
-   NodeToken n4;
-   Token n5;
-   NodeToken n6;
-   Token n7;
-   StructDeclarationList n8;
-   NodeToken n9;
-   Token n10;
-   NodeSequence n11;
-   StructOrUnion n12;
-   NodeToken n13;
-   Token n14;
-
-   
-}
-{
-   (
-      LOOKAHEAD(3)
-      { n1 = new NodeSequence(6); }
-      n2=StructOrUnion()
-      { n1.addNode(n2); }
-      (
-         n5=<IDENTIFIER> { n4 = JTBToolkit.makeNodeToken(n5); }
-         { n3.addNode(n4); }
-      )?
-      { n1.addNode(n3); }
-      n7="{" { n6 = JTBToolkit.makeNodeToken(n7); }
-      { n1.addNode(n6); }
-      n8=StructDeclarationList()
-      { n1.addNode(n8); }
-      n10="}" { n9 = JTBToolkit.makeNodeToken(n10); }
-      { n1.addNode(n9); }
-      { n0 = new NodeChoice(n1, 0); }
-   |
-      { n11 = new NodeSequence(2); }
-      n12=StructOrUnion()
-      { n11.addNode(n12); }
-      n14=<IDENTIFIER> { n13 = JTBToolkit.makeNodeToken(n14); }
-      { n11.addNode(n13); }
-      { n0 = new NodeChoice(n11, 1); }
-   )
-   
-   { return new StructOrUnionSpecifier(n0); }
-}
-
-StructOrUnion StructOrUnion() :
-{
-   NodeChoice n0;
-   NodeToken n1;
-   Token n2;
-   NodeToken n3;
-   Token n4;
-
-   
-}
-{
-   (
-      (
-         n2=<STRUCT> { n1 = JTBToolkit.makeNodeToken(n2); }
-         { n0 = new NodeChoice(n1, 0); }
-      |
-         n4=<UNION> { n3 = JTBToolkit.makeNodeToken(n4); }
-         { n0 = new NodeChoice(n3, 1); }
-      )
-      
-   )
-   
-   { return new StructOrUnion(n0); }
-}
-
-StructDeclarationList StructDeclarationList() :
-{
-   NodeList n0 = new NodeList();
-   StructDeclaration n1;
-
-   
-}
-{
-   (
-      n1=StructDeclaration()
-      { n0.addNode(n1); }
-   )+
-   { n0.nodes.trimToSize(); }
-   
-   { return new StructDeclarationList(n0); }
-}
-
-InitDeclaratorList InitDeclaratorList() :
-{
-   InitDeclarator n0;
-   NodeListOptional n1 = new NodeListOptional();
-   NodeSequence n2;
-   NodeToken n3;
-   Token n4;
-   InitDeclarator n5;
-
-   
-}
-{
-   n0=InitDeclarator()
-   (
-      { n2 = new NodeSequence(2); }
-      n4="," { n3 = JTBToolkit.makeNodeToken(n4); }
-      { n2.addNode(n3); }
-      n5=InitDeclarator()
-      { n2.addNode(n5); }
-      { n1.addNode(n2); }
-   )*
-   { n1.nodes.trimToSize(); }
-   
-   { return new InitDeclaratorList(n0,n1); }
-}
-
-InitDeclarator InitDeclarator() :
-{
-   NodeToken n0;
-   Token n1;
-   NodeOptional n2 = new NodeOptional();
-   Array n3;
-   NodeOptional n4 = new NodeOptional();
-   NodeSequence n5;
-   NodeToken n6;
-   Token n7;
-   Initializer n8;
-
-   
-}
-{
-   n1=<IDENTIFIER> { n0 = JTBToolkit.makeNodeToken(n1); }
-   (
-      n3=Array()
-      { n2.addNode(n3); }
-   )?
-   (
-      { n5 = new NodeSequence(2); }
-      n7="=" { n6 = JTBToolkit.makeNodeToken(n7); }
-      { n5.addNode(n6); }
-      n8=Initializer()
-      { n5.addNode(n8); }
-      { n4.addNode(n5); }
-   )?
-   
-   { return new InitDeclarator(n0,n2,n4); }
-}
-
-StructDeclaration StructDeclaration() :
-{
-   TypeSpecifier n0;
-   NodeToken n1;
-   Token n2;
-   NodeOptional n3 = new NodeOptional();
-   NodeChoice n4;
-   Array n5;
-   NodeSequence n6;
-   NodeToken n7;
-   Token n8;
-   ConstantExpression n9;
-   NodeOptional n10 = new NodeOptional();
-   NodeToken n11;
-   Token n12;
-   NodeToken n13;
-   Token n14;
-
-   
-}
-{
-   n0=TypeSpecifier()
-   n2=<IDENTIFIER> { n1 = JTBToolkit.makeNodeToken(n2); }
-   (
-      (
-         n5=Array()
-         { n4 = new NodeChoice(n5, 0); }
-      |
-         { n6 = new NodeSequence(2); }
-         n8=":" { n7 = JTBToolkit.makeNodeToken(n8); }
-         { n6.addNode(n7); }
-         n9=ConstantExpression()
-         { n6.addNode(n9); }
-         { n4 = new NodeChoice(n6, 1); }
-      )
-      { n3.addNode(n4); }
-   )?
-   (
-      n12=<IDENTIFIER> { n11 = JTBToolkit.makeNodeToken(n12); }
-      { n10.addNode(n11); }
-   )?
-   n14=";" { n13 = JTBToolkit.makeNodeToken(n14); }
-   
-   { return new StructDeclaration(n0,n1,n3,n10,n13); }
-}
-
-EnumSpecifier EnumSpecifier() :
-{
-   NodeToken n0;
-   Token n1;
-   NodeChoice n2;
-   NodeSequence n3;
-   NodeOptional n4 = new NodeOptional();
-   NodeToken n5;
-   Token n6;
-   NodeToken n7;
-   Token n8;
-   EnumeratorList n9;
-   NodeToken n10;
-   Token n11;
-   NodeToken n12;
-   Token n13;
-
-   
-}
-{
-   n1=<ENUM> { n0 = JTBToolkit.makeNodeToken(n1); }
-   (
-      (
-         LOOKAHEAD(3)
-         { n3 = new NodeSequence(5); }
-         (
-            n6=<IDENTIFIER> { n5 = JTBToolkit.makeNodeToken(n6); }
-            { n4.addNode(n5); }
-         )?
-         { n3.addNode(n4); }
-         n8="{" { n7 = JTBToolkit.makeNodeToken(n8); }
-         { n3.addNode(n7); }
-         n9=EnumeratorList()
-         { n3.addNode(n9); }
-         n11="}" { n10 = JTBToolkit.makeNodeToken(n11); }
-         { n3.addNode(n10); }
-         { n2 = new NodeChoice(n3, 0); }
-      |
-         n13=<IDENTIFIER> { n12 = JTBToolkit.makeNodeToken(n13); }
-         { n2 = new NodeChoice(n12, 1); }
-      )
-      
-   )
-   
-   { return new EnumSpecifier(n0,n2); }
-}
-
-EnumeratorList EnumeratorList() :
-{
-   Enumerator n0;
-   NodeListOptional n1 = new NodeListOptional();
-   NodeSequence n2;
-   NodeToken n3;
-   Token n4;
-   Enumerator n5;
-
-   
-}
-{
-   n0=Enumerator()
-   (
-      { n2 = new NodeSequence(2); }
-      n4="," { n3 = JTBToolkit.makeNodeToken(n4); }
-      { n2.addNode(n3); }
-      n5=Enumerator()
-      { n2.addNode(n5); }
-      { n1.addNode(n2); }
-   )*
-   { n1.nodes.trimToSize(); }
-   
-   { return new EnumeratorList(n0,n1); }
-}
-
-Enumerator Enumerator() :
-{
-   NodeToken n0;
-   Token n1;
-   NodeOptional n2 = new NodeOptional();
-   NodeSequence n3;
-   NodeToken n4;
-   Token n5;
-   ConstantExpression n6;
-
-   
-}
-{
-   n1=<IDENTIFIER> { n0 = JTBToolkit.makeNodeToken(n1); }
-   (
-      { n3 = new NodeSequence(2); }
-      n5="=" { n4 = JTBToolkit.makeNodeToken(n5); }
-      { n3.addNode(n4); }
-      n6=ConstantExpression()
-      { n3.addNode(n6); }
-      { n2.addNode(n3); }
-   )?
-   
-   { return new Enumerator(n0,n2); }
-}
-
-Pointer Pointer() :
-{
-   NodeToken n0;
-   Token n1;
-   NodeOptional n2 = new NodeOptional();
-   NodeToken n3;
-   Token n4;
-   NodeOptional n5 = new NodeOptional();
-   Pointer n6;
-
-   
-}
-{
-   n1="*" { n0 = JTBToolkit.makeNodeToken(n1); }
-   (
-      n4=<CONST> { n3 = JTBToolkit.makeNodeToken(n4); }
-      { n2.addNode(n3); }
-   )?
-   (
-      n6=Pointer()
-      { n5.addNode(n6); }
-   )?
-   
-   { return new Pointer(n0,n2,n5); }
-}
-
-IdentifierList IdentifierList() :
-{
-   NodeToken n0;
-   Token n1;
-   NodeListOptional n2 = new NodeListOptional();
-   NodeSequence n3;
-   NodeToken n4;
-   Token n5;
-   NodeToken n6;
-   Token n7;
-
-   
-}
-{
-   n1=<IDENTIFIER> { n0 = JTBToolkit.makeNodeToken(n1); }
-   (
-      { n3 = new NodeSequence(2); }
-      n5="," { n4 = JTBToolkit.makeNodeToken(n5); }
-      { n3.addNode(n4); }
-      n7=<IDENTIFIER> { n6 = JTBToolkit.makeNodeToken(n7); }
-      { n3.addNode(n6); }
-      { n2.addNode(n3); }
-   )*
-   { n2.nodes.trimToSize(); }
-   
-   { return new IdentifierList(n0,n2); }
-}
-
-Initializer Initializer() :
-{
-   NodeChoice n0;
-   AssignmentExpression n1;
-   NodeSequence n2;
-   NodeToken n3;
-   Token n4;
-   InitializerList n5;
-   NodeOptional n6 = new NodeOptional();
-   NodeToken n7;
-   Token n8;
-   NodeToken n9;
-   Token n10;
-
-   
-}
-{
-   (
-      (
-         n1=AssignmentExpression()
-         { n0 = new NodeChoice(n1, 0); }
-      |
-         { n2 = new NodeSequence(4); }
-         n4="{" { n3 = JTBToolkit.makeNodeToken(n4); }
-         { n2.addNode(n3); }
-         n5=InitializerList()
-         { n2.addNode(n5); }
-         (
-            n8="," { n7 = JTBToolkit.makeNodeToken(n8); }
-            { n6.addNode(n7); }
-         )?
-         { n2.addNode(n6); }
-         n10="}" { n9 = JTBToolkit.makeNodeToken(n10); }
-         { n2.addNode(n9); }
-         { n0 = new NodeChoice(n2, 1); }
-      )
-      
-   )
-   
-   { return new Initializer(n0); }
-}
-
-InitializerList InitializerList() :
-{
-   Initializer n0;
-   NodeListOptional n1 = new NodeListOptional();
-   NodeSequence n2;
-   NodeToken n3;
-   Token n4;
-   Initializer n5;
-
-   
-}
-{
-   n0=Initializer()
-   (
-      LOOKAHEAD(2)
-      { n2 = new NodeSequence(2); }
-      n4="," { n3 = JTBToolkit.makeNodeToken(n4); }
-      { n2.addNode(n3); }
-      n5=Initializer()
-      { n2.addNode(n5); }
-      { n1.addNode(n2); }
-   )*
-   { n1.nodes.trimToSize(); }
-   
-   { return new InitializerList(n0,n1); }
-}
-
-Array Array() :
-{
-   NodeToken n0;
-   Token n1;
-   NodeOptional n2 = new NodeOptional();
-   ConstantExpression n3;
-   NodeToken n4;
-   Token n5;
-
-   
-}
-{
-   n1="[" { n0 = JTBToolkit.makeNodeToken(n1); }
-   (
-      n3=ConstantExpression()
-      { n2.addNode(n3); }
-   )?
-   n5="]" { n4 = JTBToolkit.makeNodeToken(n5); }
-   
-   { return new Array(n0,n2,n4); }
-}
-
-Statement Statement() :
-{
-   NodeChoice n0;
-   LabeledStatement n1;
-   ExpressionStatement n2;
-   CompoundStatement n3;
-   SelectionStatement n4;
-   IterationStatement n5;
-   JumpStatement n6;
-
-   
-}
-{
-   (
-      (
-         LOOKAHEAD(2)
-         n1=LabeledStatement()
-         { n0 = new NodeChoice(n1, 0); }
-      |
-         n2=ExpressionStatement()
-         { n0 = new NodeChoice(n2, 1); }
-      |
-         n3=CompoundStatement()
-         { n0 = new NodeChoice(n3, 2); }
-      |
-         n4=SelectionStatement()
-         { n0 = new NodeChoice(n4, 3); }
-      |
-         n5=IterationStatement()
-         { n0 = new NodeChoice(n5, 4); }
-      |
-         n6=JumpStatement()
-         { n0 = new NodeChoice(n6, 5); }
-      )
-      
-   )
-   
-   { return new Statement(n0); }
-}
-
-LabeledStatement LabeledStatement() :
-{
-   NodeChoice n0;
-   NodeSequence n1;
-   NodeToken n2;
-   Token n3;
-   NodeToken n4;
-   Token n5;
-   Statement n6;
-   NodeSequence n7;
-   NodeToken n8;
-   Token n9;
-   ConstantExpression n10;
-   NodeToken n11;
-   Token n12;
-   Statement n13;
-   NodeSequence n14;
-   NodeToken n15;
-   Token n16;
-   NodeToken n17;
-   Token n18;
-   Statement n19;
-
-   
-}
-{
-   (
-      (
-         { n1 = new NodeSequence(3); }
-         n3=<IDENTIFIER> { n2 = JTBToolkit.makeNodeToken(n3); }
-         { n1.addNode(n2); }
-         n5=":" { n4 = JTBToolkit.makeNodeToken(n5); }
-         { n1.addNode(n4); }
-         n6=Statement()
-         { n1.addNode(n6); }
-         { n0 = new NodeChoice(n1, 0); }
-      |
-         { n7 = new NodeSequence(4); }
-         n9=<CASE> { n8 = JTBToolkit.makeNodeToken(n9); }
-         { n7.addNode(n8); }
-         n10=ConstantExpression()
-         { n7.addNode(n10); }
-         n12=":" { n11 = JTBToolkit.makeNodeToken(n12); }
-         { n7.addNode(n11); }
-         n13=Statement()
-         { n7.addNode(n13); }
-         { n0 = new NodeChoice(n7, 1); }
-      |
-         { n14 = new NodeSequence(3); }
-         n16=<DFLT> { n15 = JTBToolkit.makeNodeToken(n16); }
-         { n14.addNode(n15); }
-         n18=":" { n17 = JTBToolkit.makeNodeToken(n18); }
-         { n14.addNode(n17); }
-         n19=Statement()
-         { n14.addNode(n19); }
-         { n0 = new NodeChoice(n14, 2); }
-      )
-      
-   )
-   
-   { return new LabeledStatement(n0); }
-}
-
-ExpressionStatement ExpressionStatement() :
-{
-   NodeOptional n0 = new NodeOptional();
-   Expression n1;
-   NodeToken n2;
-   Token n3;
-
-   
-}
-{
-   (
-      n1=Expression()
-      { n0.addNode(n1); }
-   )?
-   n3=";" { n2 = JTBToolkit.makeNodeToken(n3); }
-   
-   { return new ExpressionStatement(n0,n2); }
-}
-
-CompoundStatement CompoundStatement() :
-{
-   NodeToken n0;
-   Token n1;
-   NodeListOptional n2 = new NodeListOptional();
-   NodeChoice n3;
-   LocalVariableDeclaration n4;
-   Statement n5;
-   NodeToken n6;
-   Token n7;
-
-   
-}
-{
-   n1="{" { n0 = JTBToolkit.makeNodeToken(n1); }
-   (
-      (
-         LOOKAHEAD(LocalVariableDeclaration())
-         n4=LocalVariableDeclaration()
-         { n3 = new NodeChoice(n4, 0); }
-      |
-         n5=Statement()
-         { n3 = new NodeChoice(n5, 1); }
-      )
-      { n2.addNode(n3); }
-   )*
-   { n2.nodes.trimToSize(); }
-   n7="}" { n6 = JTBToolkit.makeNodeToken(n7); }
-   
-   { return new CompoundStatement(n0,n2,n6); }
-}
-
-SelectionStatement SelectionStatement() :
-{
-   NodeChoice n0;
-   NodeSequence n1;
-   NodeToken n2;
-   Token n3;
-   NodeToken n4;
-   Token n5;
-   Expression n6;
-   NodeToken n7;
-   Token n8;
-   Statement n9;
-   NodeOptional n10 = new NodeOptional();
-   NodeSequence n11;
-   NodeToken n12;
-   Token n13;
-   Statement n14;
-   NodeSequence n15;
-   NodeToken n16;
-   Token n17;
-   NodeToken n18;
-   Token n19;
-   Expression n20;
-   NodeToken n21;
-   Token n22;
-   Statement n23;
-
-   
-}
-{
-   (
-      (
-         { n1 = new NodeSequence(6); }
-         n3=<IF> { n2 = JTBToolkit.makeNodeToken(n3); }
-         { n1.addNode(n2); }
-         n5="(" { n4 = JTBToolkit.makeNodeToken(n5); }
-         { n1.addNode(n4); }
-         n6=Expression()
-         { n1.addNode(n6); }
-         n8=")" { n7 = JTBToolkit.makeNodeToken(n8); }
-         { n1.addNode(n7); }
-         n9=Statement()
-         { n1.addNode(n9); }
-         (
-            LOOKAHEAD(2)
-            { n11 = new NodeSequence(2); }
-            n13=<ELSE> { n12 = JTBToolkit.makeNodeToken(n13); }
-            { n11.addNode(n12); }
-            n14=Statement()
-            { n11.addNode(n14); }
-            { n10.addNode(n11); }
-         )?
-         { n1.addNode(n10); }
-         { n0 = new NodeChoice(n1, 0); }
-      |
-         { n15 = new NodeSequence(5); }
-         n17=<SWITCH> { n16 = JTBToolkit.makeNodeToken(n17); }
-         { n15.addNode(n16); }
-         n19="(" { n18 = JTBToolkit.makeNodeToken(n19); }
-         { n15.addNode(n18); }
-         n20=Expression()
-         { n15.addNode(n20); }
-         n22=")" { n21 = JTBToolkit.makeNodeToken(n22); }
-         { n15.addNode(n21); }
-         n23=Statement()
-         { n15.addNode(n23); }
-         { n0 = new NodeChoice(n15, 1); }
-      )
-      
-   )
-   
-   { return new SelectionStatement(n0); }
-}
-
-IterationStatement IterationStatement() :
-{
-   NodeChoice n0;
-   NodeSequence n1;
-   NodeToken n2;
-   Token n3;
-   NodeToken n4;
-   Token n5;
-   Expression n6;
-   NodeToken n7;
-   Token n8;
-   Statement n9;
-   NodeSequence n10;
-   NodeToken n11;
-   Token n12;
-   Statement n13;
-   NodeToken n14;
-   Token n15;
-   NodeToken n16;
-   Token n17;
-   Expression n18;
-   NodeToken n19;
-   Token n20;
-   NodeToken n21;
-   Token n22;
-   NodeSequence n23;
-   NodeToken n24;
-   Token n25;
-   NodeToken n26;
-   Token n27;
-   NodeOptional n28 = new NodeOptional();
-   Expression n29;
-   NodeToken n30;
-   Token n31;
-   NodeOptional n32 = new NodeOptional();
-   Expression n33;
-   NodeToken n34;
-   Token n35;
-   NodeOptional n36 = new NodeOptional();
-   Expression n37;
-   NodeToken n38;
-   Token n39;
-   Statement n40;
-
-   
-}
-{
-   (
-      (
-         { n1 = new NodeSequence(5); }
-         n3=<WHILE> { n2 = JTBToolkit.makeNodeToken(n3); }
-         { n1.addNode(n2); }
-         n5="(" { n4 = JTBToolkit.makeNodeToken(n5); }
-         { n1.addNode(n4); }
-         n6=Expression()
-         { n1.addNode(n6); }
-         n8=")" { n7 = JTBToolkit.makeNodeToken(n8); }
-         { n1.addNode(n7); }
-         n9=Statement()
-         { n1.addNode(n9); }
-         { n0 = new NodeChoice(n1, 0); }
-      |
-         { n10 = new NodeSequence(7); }
-         n12=<DO> { n11 = JTBToolkit.makeNodeToken(n12); }
-         { n10.addNode(n11); }
-         n13=Statement()
-         { n10.addNode(n13); }
-         n15=<WHILE> { n14 = JTBToolkit.makeNodeToken(n15); }
-         { n10.addNode(n14); }
-         n17="(" { n16 = JTBToolkit.makeNodeToken(n17); }
-         { n10.addNode(n16); }
-         n18=Expression()
-         { n10.addNode(n18); }
-         n20=")" { n19 = JTBToolkit.makeNodeToken(n20); }
-         { n10.addNode(n19); }
-         n22=";" { n21 = JTBToolkit.makeNodeToken(n22); }
-         { n10.addNode(n21); }
-         { n0 = new NodeChoice(n10, 1); }
-      |
-         { n23 = new NodeSequence(9); }
-         n25=<FOR> { n24 = JTBToolkit.makeNodeToken(n25); }
-         { n23.addNode(n24); }
-         n27="(" { n26 = JTBToolkit.makeNodeToken(n27); }
-         { n23.addNode(n26); }
-         (
-            n29=Expression()
-            { n28.addNode(n29); }
-         )?
-         { n23.addNode(n28); }
-         n31=";" { n30 = JTBToolkit.makeNodeToken(n31); }
-         { n23.addNode(n30); }
-         (
-            n33=Expression()
-            { n32.addNode(n33); }
-         )?
-         { n23.addNode(n32); }
-         n35=";" { n34 = JTBToolkit.makeNodeToken(n35); }
-         { n23.addNode(n34); }
-         (
-            n37=Expression()
-            { n36.addNode(n37); }
-         )?
-         { n23.addNode(n36); }
-         n39=")" { n38 = JTBToolkit.makeNodeToken(n39); }
-         { n23.addNode(n38); }
-         n40=Statement()
-         { n23.addNode(n40); }
-         { n0 = new NodeChoice(n23, 2); }
-      )
-      
-   )
-   
-   { return new IterationStatement(n0); }
-}
-
-JumpStatement JumpStatement() :
-{
-   NodeChoice n0;
-   NodeSequence n1;
-   NodeToken n2;
-   Token n3;
-   NodeToken n4;
-   Token n5;
-   NodeToken n6;
-   Token n7;
-   NodeSequence n8;
-   NodeToken n9;
-   Token n10;
-   NodeToken n11;
-   Token n12;
-   NodeSequence n13;
-   NodeToken n14;
-   Token n15;
-   NodeToken n16;
-   Token n17;
-   NodeSequence n18;
-   NodeToken n19;
-   Token n20;
-   NodeOptional n21 = new NodeOptional();
-   Expression n22;
-   NodeToken n23;
-   Token n24;
-
-   
-}
-{
-   (
-      (
-         { n1 = new NodeSequence(3); }
-         n3=<GOTO> { n2 = JTBToolkit.makeNodeToken(n3); }
-         { n1.addNode(n2); }
-         n5=<IDENTIFIER> { n4 = JTBToolkit.makeNodeToken(n5); }
-         { n1.addNode(n4); }
-         n7=";" { n6 = JTBToolkit.makeNodeToken(n7); }
-         { n1.addNode(n6); }
-         { n0 = new NodeChoice(n1, 0); }
-      |
-         { n8 = new NodeSequence(2); }
-         n10=<CONTINUE> { n9 = JTBToolkit.makeNodeToken(n10); }
-         { n8.addNode(n9); }
-         n12=";" { n11 = JTBToolkit.makeNodeToken(n12); }
-         { n8.addNode(n11); }
-         { n0 = new NodeChoice(n8, 1); }
-      |
-         { n13 = new NodeSequence(2); }
-         n15=<BREAK> { n14 = JTBToolkit.makeNodeToken(n15); }
-         { n13.addNode(n14); }
-         n17=";" { n16 = JTBToolkit.makeNodeToken(n17); }
-         { n13.addNode(n16); }
-         { n0 = new NodeChoice(n13, 2); }
-      |
-         { n18 = new NodeSequence(3); }
-         n20=<RETURN> { n19 = JTBToolkit.makeNodeToken(n20); }
-         { n18.addNode(n19); }
-         (
-            n22=Expression()
-            { n21.addNode(n22); }
-         )?
-         { n18.addNode(n21); }
-         n24=";" { n23 = JTBToolkit.makeNodeToken(n24); }
-         { n18.addNode(n23); }
-         { n0 = new NodeChoice(n18, 3); }
-      )
-      
-   )
-   
-   { return new JumpStatement(n0); }
-}
-
-Expression Expression() :
-{
-   AssignmentExpression n0;
-   NodeListOptional n1 = new NodeListOptional();
-   NodeSequence n2;
-   NodeToken n3;
-   Token n4;
-   AssignmentExpression n5;
-
-   
-}
-{
-   n0=AssignmentExpression()
-   (
-      { n2 = new NodeSequence(2); }
-      n4="," { n3 = JTBToolkit.makeNodeToken(n4); }
-      { n2.addNode(n3); }
-      n5=AssignmentExpression()
-      { n2.addNode(n5); }
-      { n1.addNode(n2); }
-   )*
-   { n1.nodes.trimToSize(); }
-   
-   { return new Expression(n0,n1); }
-}
-
-AssignmentExpression AssignmentExpression() :
-{
-   NodeChoice n0;
-   NodeSequence n1;
-   UnaryExpression n2;
-   AssignmentOperator n3;
-   AssignmentExpression n4;
-   ConditionalExpression n5;
-
-   
-}
-{
-   (
-      LOOKAHEAD(UnaryExpression() AssignmentOperator())
-      { n1 = new NodeSequence(4); }
-      n2=UnaryExpression()
-      { n1.addNode(n2); }
-      n3=AssignmentOperator()
-      { n1.addNode(n3); }
-      n4=AssignmentExpression()
-      { n1.addNode(n4); }
-      { n0 = new NodeChoice(n1, 0); }
-   |
-      LOOKAHEAD(3)
-      n5=ConditionalExpression()
-      { n0 = new NodeChoice(n5, 1); }
-   )
-   
-   { return new AssignmentExpression(n0); }
-}
-
-AssignmentOperator AssignmentOperator() :
-{
-   NodeChoice n0;
-   NodeToken n1;
-   Token n2;
-   NodeToken n3;
-   Token n4;
-   NodeToken n5;
-   Token n6;
-   NodeToken n7;
-   Token n8;
-   NodeToken n9;
-   Token n10;
-   NodeToken n11;
-   Token n12;
-   NodeToken n13;
-   Token n14;
-   NodeToken n15;
-   Token n16;
-   NodeToken n17;
-   Token n18;
-   NodeToken n19;
-   Token n20;
-   NodeToken n21;
-   Token n22;
-
-   
-}
-{
-   (
-      (
-         n2="=" { n1 = JTBToolkit.makeNodeToken(n2); }
-         { n0 = new NodeChoice(n1, 0); }
-      |
-         n4="*=" { n3 = JTBToolkit.makeNodeToken(n4); }
-         { n0 = new NodeChoice(n3, 1); }
-      |
-         n6="/=" { n5 = JTBToolkit.makeNodeToken(n6); }
-         { n0 = new NodeChoice(n5, 2); }
-      |
-         n8="%=" { n7 = JTBToolkit.makeNodeToken(n8); }
-         { n0 = new NodeChoice(n7, 3); }
-      |
-         n10="+=" { n9 = JTBToolkit.makeNodeToken(n10); }
-         { n0 = new NodeChoice(n9, 4); }
-      |
-         n12="-=" { n11 = JTBToolkit.makeNodeToken(n12); }
-         { n0 = new NodeChoice(n11, 5); }
-      |
-         n14="<<=" { n13 = JTBToolkit.makeNodeToken(n14); }
-         { n0 = new NodeChoice(n13, 6); }
-      |
-         n16=">>=" { n15 = JTBToolkit.makeNodeToken(n16); }
-         { n0 = new NodeChoice(n15, 7); }
-      |
-         n18="&=" { n17 = JTBToolkit.makeNodeToken(n18); }
-         { n0 = new NodeChoice(n17, 8); }
-      |
-         n20="^=" { n19 = JTBToolkit.makeNodeToken(n20); }
-         { n0 = new NodeChoice(n19, 9); }
-      |
-         n22="|=" { n21 = JTBToolkit.makeNodeToken(n22); }
-         { n0 = new NodeChoice(n21, 10); }
-      )
-      
-   )
-   
-   { return new AssignmentOperator(n0); }
-}
-
-ConditionalExpression ConditionalExpression() :
-{
-   LogicalORExpression n0;
-   NodeOptional n1 = new NodeOptional();
-   NodeSequence n2;
-   NodeToken n3;
-   Token n4;
-   Expression n5;
-   NodeToken n6;
-   Token n7;
-   ConditionalExpression n8;
-
-   
-}
-{
-   n0=LogicalORExpression()
-   (
-      { n2 = new NodeSequence(4); }
-      n4="?" { n3 = JTBToolkit.makeNodeToken(n4); }
-      { n2.addNode(n3); }
-      n5=Expression()
-      { n2.addNode(n5); }
-      n7=":" { n6 = JTBToolkit.makeNodeToken(n7); }
-      { n2.addNode(n6); }
-      n8=ConditionalExpression()
-      { n2.addNode(n8); }
-      { n1.addNode(n2); }
-   )?
-   
-   { return new ConditionalExpression(n0,n1); }
-}
-
-ConstantExpression ConstantExpression() :
-{
-   ConditionalExpression n0;
-
-   
-}
-{
-   n0=ConditionalExpression()
-   
-   { return new ConstantExpression(n0); }
-}
-
-LogicalORExpression LogicalORExpression() :
-{
-   LogicalANDExpression n0;
-   NodeOptional n1 = new NodeOptional();
-   NodeSequence n2;
-   NodeToken n3;
-   Token n4;
-   LogicalORExpression n5;
-
-   
-}
-{
-   n0=LogicalANDExpression()
-   (
-      { n2 = new NodeSequence(2); }
-      n4="||" { n3 = JTBToolkit.makeNodeToken(n4); }
-      { n2.addNode(n3); }
-      n5=LogicalORExpression()
-      { n2.addNode(n5); }
-      { n1.addNode(n2); }
-   )?
-   
-   { return new LogicalORExpression(n0,n1); }
-}
-
-LogicalANDExpression LogicalANDExpression() :
-{
-   InclusiveORExpression n0;
-   NodeOptional n1 = new NodeOptional();
-   NodeSequence n2;
-   NodeToken n3;
-   Token n4;
-   LogicalANDExpression n5;
-
-   
-}
-{
-   n0=InclusiveORExpression()
-   (
-      { n2 = new NodeSequence(2); }
-      n4="&&" { n3 = JTBToolkit.makeNodeToken(n4); }
-      { n2.addNode(n3); }
-      n5=LogicalANDExpression()
-      { n2.addNode(n5); }
-      { n1.addNode(n2); }
-   )?
-   
-   { return new LogicalANDExpression(n0,n1); }
-}
-
-InclusiveORExpression InclusiveORExpression() :
-{
-   ExclusiveORExpression n0;
-   NodeOptional n1 = new NodeOptional();
-   NodeSequence n2;
-   NodeToken n3;
-   Token n4;
-   InclusiveORExpression n5;
-
-   
-}
-{
-   n0=ExclusiveORExpression()
-   (
-      { n2 = new NodeSequence(2); }
-      n4="|" { n3 = JTBToolkit.makeNodeToken(n4); }
-      { n2.addNode(n3); }
-      n5=InclusiveORExpression()
-      { n2.addNode(n5); }
-      { n1.addNode(n2); }
-   )?
-   
-   { return new InclusiveORExpression(n0,n1); }
-}
-
-ExclusiveORExpression ExclusiveORExpression() :
-{
-   ANDExpression n0;
-   NodeOptional n1 = new NodeOptional();
-   NodeSequence n2;
-   NodeToken n3;
-   Token n4;
-   ExclusiveORExpression n5;
-
-   
-}
-{
-   n0=ANDExpression()
-   (
-      { n2 = new NodeSequence(2); }
-      n4="^" { n3 = JTBToolkit.makeNodeToken(n4); }
-      { n2.addNode(n3); }
-      n5=ExclusiveORExpression()
-      { n2.addNode(n5); }
-      { n1.addNode(n2); }
-   )?
-   
-   { return new ExclusiveORExpression(n0,n1); }
-}
-
-ANDExpression ANDExpression() :
-{
-   EqualityExpression n0;
-   NodeOptional n1 = new NodeOptional();
-   NodeSequence n2;
-   NodeToken n3;
-   Token n4;
-   ANDExpression n5;
-
-   
-}
-{
-   n0=EqualityExpression()
-   (
-      { n2 = new NodeSequence(2); }
-      n4="&" { n3 = JTBToolkit.makeNodeToken(n4); }
-      { n2.addNode(n3); }
-      n5=ANDExpression()
-      { n2.addNode(n5); }
-      { n1.addNode(n2); }
-   )?
-   
-   { return new ANDExpression(n0,n1); }
-}
-
-EqualityExpression EqualityExpression() :
-{
-   RelationalExpression n0;
-   NodeOptional n1 = new NodeOptional();
-   NodeSequence n2;
-   NodeChoice n3;
-   NodeToken n4;
-   Token n5;
-   NodeToken n6;
-   Token n7;
-   EqualityExpression n8;
-
-   
-}
-{
-   n0=RelationalExpression()
-   (
-      { n2 = new NodeSequence(2); }
-      (
-         (
-            n5="==" { n4 = JTBToolkit.makeNodeToken(n5); }
-            { n3 = new NodeChoice(n4, 0); }
-         |
-            n7="!=" { n6 = JTBToolkit.makeNodeToken(n7); }
-            { n3 = new NodeChoice(n6, 1); }
-         )
-         
-      )
-      { n2.addNode(n3); }
-      n8=EqualityExpression()
-      { n2.addNode(n8); }
-      { n1.addNode(n2); }
-   )?
-   
-   { return new EqualityExpression(n0,n1); }
-}
-
-RelationalExpression RelationalExpression() :
-{
-   ShiftExpression n0;
-   NodeOptional n1 = new NodeOptional();
-   NodeSequence n2;
-   NodeChoice n3;
-   NodeToken n4;
-   Token n5;
-   NodeToken n6;
-   Token n7;
-   NodeToken n8;
-   Token n9;
-   NodeToken n10;
-   Token n11;
-   RelationalExpression n12;
-
-   
-}
-{
-   n0=ShiftExpression()
-   (
-      { n2 = new NodeSequence(2); }
-      (
-         (
-            n5="<" { n4 = JTBToolkit.makeNodeToken(n5); }
-            { n3 = new NodeChoice(n4, 0); }
-         |
-            n7=">" { n6 = JTBToolkit.makeNodeToken(n7); }
-            { n3 = new NodeChoice(n6, 1); }
-         |
-            n9="<=" { n8 = JTBToolkit.makeNodeToken(n9); }
-            { n3 = new NodeChoice(n8, 2); }
-         |
-            n11=">=" { n10 = JTBToolkit.makeNodeToken(n11); }
-            { n3 = new NodeChoice(n10, 3); }
-         )
-         
-      )
-      { n2.addNode(n3); }
-      n12=RelationalExpression()
-      { n2.addNode(n12); }
-      { n1.addNode(n2); }
-   )?
-   
-   { return new RelationalExpression(n0,n1); }
-}
-
-ShiftExpression ShiftExpression() :
-{
-   AdditiveExpression n0;
-   NodeOptional n1 = new NodeOptional();
-   NodeSequence n2;
-   NodeChoice n3;
-   NodeToken n4;
-   Token n5;
-   NodeToken n6;
-   Token n7;
-   ShiftExpression n8;
-
-   
-}
-{
-   n0=AdditiveExpression()
-   (
-      { n2 = new NodeSequence(2); }
-      (
-         (
-            n5="<<" { n4 = JTBToolkit.makeNodeToken(n5); }
-            { n3 = new NodeChoice(n4, 0); }
-         |
-            n7=">>" { n6 = JTBToolkit.makeNodeToken(n7); }
-            { n3 = new NodeChoice(n6, 1); }
-         )
-         
-      )
-      { n2.addNode(n3); }
-      n8=ShiftExpression()
-      { n2.addNode(n8); }
-      { n1.addNode(n2); }
-   )?
-   
-   { return new ShiftExpression(n0,n1); }
-}
-
-AdditiveExpression AdditiveExpression() :
-{
-   MultiplicativeExpression n0;
-   NodeOptional n1 = new NodeOptional();
-   NodeSequence n2;
-   NodeChoice n3;
-   NodeToken n4;
-   Token n5;
-   NodeToken n6;
-   Token n7;
-   AdditiveExpression n8;
-
-   
-}
-{
-   n0=MultiplicativeExpression()
-   (
-      { n2 = new NodeSequence(2); }
-      (
-         (
-            n5="+" { n4 = JTBToolkit.makeNodeToken(n5); }
-            { n3 = new NodeChoice(n4, 0); }
-         |
-            n7="-" { n6 = JTBToolkit.makeNodeToken(n7); }
-            { n3 = new NodeChoice(n6, 1); }
-         )
-         
-      )
-      { n2.addNode(n3); }
-      n8=AdditiveExpression()
-      { n2.addNode(n8); }
-      { n1.addNode(n2); }
-   )?
-   
-   { return new AdditiveExpression(n0,n1); }
-}
-
-MultiplicativeExpression MultiplicativeExpression() :
-{
-   CastExpression n0;
-   NodeOptional n1 = new NodeOptional();
-   NodeSequence n2;
-   NodeChoice n3;
-   NodeToken n4;
-   Token n5;
-   NodeToken n6;
-   Token n7;
-   NodeToken n8;
-   Token n9;
-   MultiplicativeExpression n10;
-
-   
-}
-{
-   n0=CastExpression()
-   (
-      { n2 = new NodeSequence(2); }
-      (
-         (
-            n5="*" { n4 = JTBToolkit.makeNodeToken(n5); }
-            { n3 = new NodeChoice(n4, 0); }
-         |
-            n7="/" { n6 = JTBToolkit.makeNodeToken(n7); }
-            { n3 = new NodeChoice(n6, 1); }
-         |
-            n9="%" { n8 = JTBToolkit.makeNodeToken(n9); }
-            { n3 = new NodeChoice(n8, 2); }
-         )
-         
-      )
-      { n2.addNode(n3); }
-      n10=MultiplicativeExpression()
-      { n2.addNode(n10); }
-      { n1.addNode(n2); }
-   )?
-   
-   { return new MultiplicativeExpression(n0,n1); }
-}
-
-CastExpression CastExpression() :
-{
-   NodeChoice n0;
-   NodeSequence n1;
-   NodeToken n2;
-   Token n3;
-   TypeSpecifier n4;
-   NodeToken n5;
-   Token n6;
-   CastExpression n7;
-   UnaryExpression n8;
-
-   
-}
-{
-   (
-      (
-         LOOKAHEAD("(" TypeSpecifier() ")" CastExpression())
-         { n1 = new NodeSequence(5); }
-         n3="(" { n2 = JTBToolkit.makeNodeToken(n3); }
-         { n1.addNode(n2); }
-         n4=TypeSpecifier()
-         { n1.addNode(n4); }
-         n6=")" { n5 = JTBToolkit.makeNodeToken(n6); }
-         { n1.addNode(n5); }
-         n7=CastExpression()
-         { n1.addNode(n7); }
-         { n0 = new NodeChoice(n1, 0); }
-      |
-         n8=UnaryExpression()
-         { n0 = new NodeChoice(n8, 1); }
-      )
-      
-   )
-   
-   { return new CastExpression(n0); }
-}
-
-UnaryExpression UnaryExpression() :
-{
-   NodeChoice n0;
-   PostfixExpression n1;
-   NodeSequence n2;
-   NodeToken n3;
-   Token n4;
-   UnaryExpression n5;
-   NodeSequence n6;
-   NodeToken n7;
-   Token n8;
-   UnaryExpression n9;
-   NodeSequence n10;
-   UnaryOperator n11;
-   CastExpression n12;
-   NodeSequence n13;
-   NodeToken n14;
-   Token n15;
-   NodeChoice n16;
-   UnaryExpression n17;
-   NodeSequence n18;
-   NodeToken n19;
-   Token n20;
-   TypeSpecifier n21;
-   NodeToken n22;
-   Token n23;
-
-   
-}
-{
-   (
-      (
-         LOOKAHEAD(3)
-         n1=PostfixExpression()
-         { n0 = new NodeChoice(n1, 0); }
-      |
-         { n2 = new NodeSequence(2); }
-         n4="++" { n3 = JTBToolkit.makeNodeToken(n4); }
-         { n2.addNode(n3); }
-         n5=UnaryExpression()
-         { n2.addNode(n5); }
-         { n0 = new NodeChoice(n2, 1); }
-      |
-         { n6 = new NodeSequence(2); }
-         n8="--" { n7 = JTBToolkit.makeNodeToken(n8); }
-         { n6.addNode(n7); }
-         n9=UnaryExpression()
-         { n6.addNode(n9); }
-         { n0 = new NodeChoice(n6, 2); }
-      |
-         { n10 = new NodeSequence(2); }
-         n11=UnaryOperator()
-         { n10.addNode(n11); }
-         n12=CastExpression()
-         { n10.addNode(n12); }
-         { n0 = new NodeChoice(n10, 3); }
-      |
-         { n13 = new NodeSequence(2); }
-         n15=<SIZEOF> { n14 = JTBToolkit.makeNodeToken(n15); }
-         { n13.addNode(n14); }
-         (
-            (
-               LOOKAHEAD(UnaryExpression())
-               n17=UnaryExpression()
-               { n16 = new NodeChoice(n17, 0); }
-            |
-               { n18 = new NodeSequence(3); }
-               n20="(" { n19 = JTBToolkit.makeNodeToken(n20); }
-               { n18.addNode(n19); }
-               n21=TypeSpecifier()
-               { n18.addNode(n21); }
-               n23=")" { n22 = JTBToolkit.makeNodeToken(n23); }
-               { n18.addNode(n22); }
-               { n16 = new NodeChoice(n18, 1); }
-            )
-            
-         )
-         { n13.addNode(n16); }
-         { n0 = new NodeChoice(n13, 4); }
-      )
-      
-   )
-   
-   { return new UnaryExpression(n0); }
-}
-
-UnaryOperator UnaryOperator() :
-{
-   NodeChoice n0;
-   NodeToken n1;
-   Token n2;
-   NodeToken n3;
-   Token n4;
-   NodeToken n5;
-   Token n6;
-   NodeToken n7;
-   Token n8;
-   NodeToken n9;
-   Token n10;
-   NodeToken n11;
-   Token n12;
-
-   
-}
-{
-   (
-      (
-         n2="&" { n1 = JTBToolkit.makeNodeToken(n2); }
-         { n0 = new NodeChoice(n1, 0); }
-      |
-         n4="*" { n3 = JTBToolkit.makeNodeToken(n4); }
-         { n0 = new NodeChoice(n3, 1); }
-      |
-         n6="+" { n5 = JTBToolkit.makeNodeToken(n6); }
-         { n0 = new NodeChoice(n5, 2); }
-      |
-         n8="-" { n7 = JTBToolkit.makeNodeToken(n8); }
-         { n0 = new NodeChoice(n7, 3); }
-      |
-         n10="~" { n9 = JTBToolkit.makeNodeToken(n10); }
-         { n0 = new NodeChoice(n9, 4); }
-      |
-         n12="!" { n11 = JTBToolkit.makeNodeToken(n12); }
-         { n0 = new NodeChoice(n11, 5); }
-      )
-      
-   )
-   
-   { return new UnaryOperator(n0); }
-}
-
-PostfixExpression PostfixExpression() :
-{
-   PrimaryExpression n0;
-   NodeListOptional n1 = new NodeListOptional();
-   NodeChoice n2;
-   NodeSequence n3;
-   NodeToken n4;
-   Token n5;
-   Expression n6;
-   NodeToken n7;
-   Token n8;
-   NodeSequence n9;
-   NodeToken n10;
-   Token n11;
-   NodeOptional n12;
-   ArgumentExpressionList n13;
-   NodeToken n14;
-   Token n15;
-   NodeSequence n16;
-   NodeToken n17;
-   Token n18;
-   NodeToken n19;
-   Token n20;
-   NodeSequence n21;
-   NodeToken n22;
-   Token n23;
-   NodeToken n24;
-   Token n25;
-   NodeToken n26;
-   Token n27;
-   NodeToken n28;
-   Token n29;
-
-   
-}
-{
-   n0=PrimaryExpression()
-   (
-      { n12 = new NodeOptional(); }
-      (
-         { n3 = new NodeSequence(3); }
-         n5="[" { n4 = JTBToolkit.makeNodeToken(n5); }
-         { n3.addNode(n4); }
-         n6=Expression()
-         { n3.addNode(n6); }
-         n8="]" { n7 = JTBToolkit.makeNodeToken(n8); }
-         { n3.addNode(n7); }
-         { n2 = new NodeChoice(n3, 0); }
-      |
-         { n9 = new NodeSequence(3); }
-         n11="(" { n10 = JTBToolkit.makeNodeToken(n11); }
-         { n9.addNode(n10); }
-         (
-            LOOKAHEAD(ArgumentExpressionList())
-            n13=ArgumentExpressionList()
-            { n12.addNode(n13); }
-         )?
-         { n9.addNode(n12); }
-         n15=")" { n14 = JTBToolkit.makeNodeToken(n15); }
-         { n9.addNode(n14); }
-         { n2 = new NodeChoice(n9, 1); }
-      |
-         { n16 = new NodeSequence(2); }
-         n18="." { n17 = JTBToolkit.makeNodeToken(n18); }
-         { n16.addNode(n17); }
-         n20=<IDENTIFIER> { n19 = JTBToolkit.makeNodeToken(n20); }
-         { n16.addNode(n19); }
-         { n2 = new NodeChoice(n16, 2); }
-      |
-         { n21 = new NodeSequence(2); }
-         n23="->" { n22 = JTBToolkit.makeNodeToken(n23); }
-         { n21.addNode(n22); }
-         n25=<IDENTIFIER> { n24 = JTBToolkit.makeNodeToken(n25); }
-         { n21.addNode(n24); }
-         { n2 = new NodeChoice(n21, 3); }
-      |
-         n27="++" { n26 = JTBToolkit.makeNodeToken(n27); }
-         { n2 = new NodeChoice(n26, 4); }
-      |
-         n29="--" { n28 = JTBToolkit.makeNodeToken(n29); }
-         { n2 = new NodeChoice(n28, 5); }
-      )
-      { n1.addNode(n2); }
-   )*
-   { n1.nodes.trimToSize(); }
-   
-   { return new PostfixExpression(n0,n1); }
-}
-
-PrimaryExpression PrimaryExpression() :
-{
-   NodeChoice n0;
-   NodeToken n1;
-   Token n2;
-   Constant n3;
-   NodeSequence n4;
-   NodeToken n5;
-   Token n6;
-   Expression n7;
-   NodeToken n8;
-   Token n9;
-
-   
-}
-{
-   (
-      n2=<IDENTIFIER> { n1 = JTBToolkit.makeNodeToken(n2); }
-      { n0 = new NodeChoice(n1, 0); }
-   |
-      n3=Constant()
-      { n0 = new NodeChoice(n3, 1); }
-   |
-      { n4 = new NodeSequence(3); }
-      n6="(" { n5 = JTBToolkit.makeNodeToken(n6); }
-      { n4.addNode(n5); }
-      n7=Expression()
-      { n4.addNode(n7); }
-      n9=")" { n8 = JTBToolkit.makeNodeToken(n9); }
-      { n4.addNode(n8); }
-      { n0 = new NodeChoice(n4, 2); }
-   )
-   
-   { return new PrimaryExpression(n0); }
-}
-
-ArgumentExpressionList ArgumentExpressionList() :
-{
-   AssignmentOrTypeExpression n0;
-   NodeListOptional n1 = new NodeListOptional();
-   NodeSequence n2;
-   NodeToken n3;
-   Token n4;
-   AssignmentOrTypeExpression n5;
-
-   
-}
-{
-   n0=AssignmentOrTypeExpression()
-   (
-      { n2 = new NodeSequence(2); }
-      n4="," { n3 = JTBToolkit.makeNodeToken(n4); }
-      { n2.addNode(n3); }
-      n5=AssignmentOrTypeExpression()
-      { n2.addNode(n5); }
-      { n1.addNode(n2); }
-   )*
-   { n1.nodes.trimToSize(); }
-   
-   { return new ArgumentExpressionList(n0,n1); }
-}
-
-AssignmentOrTypeExpression AssignmentOrTypeExpression() :
-{
-   NodeChoice n0;
-   NoIdentifierTypeSpecifier n1;
-   AssignmentExpression n2;
-
-   
-}
-{
-   (
-      n1=NoIdentifierTypeSpecifier()
-      { n0 = new NodeChoice(n1, 0); }
-   |
-      n2=AssignmentExpression()
-      { n0 = new NodeChoice(n2, 1); }
-   )
-   
-   { return new AssignmentOrTypeExpression(n0); }
-}
-
-Constant Constant() :
-{
-   NodeChoice n0;
-   NodeToken n1;
-   Token n2;
-   NodeToken n3;
-   Token n4;
-   NodeToken n5;
-   Token n6;
-   NodeToken n7;
-   Token n8;
-
-   
-}
-{
-   (
-      n2=<INTEGER_LITERAL> { n1 = JTBToolkit.makeNodeToken(n2); }
-      { n0 = new NodeChoice(n1, 0); }
-   |
-      n4=<FLOATING_POINT_LITERAL> { n3 = JTBToolkit.makeNodeToken(n4); }
-      { n0 = new NodeChoice(n3, 1); }
-   |
-      n6=<CHARACTER_LITERAL> { n5 = JTBToolkit.makeNodeToken(n6); }
-      { n0 = new NodeChoice(n5, 2); }
-   |
-      n8=<STRING_LITERAL> { n7 = JTBToolkit.makeNodeToken(n8); }
-      { n0 = new NodeChoice(n7, 3); }
-   )
-   
-   { return new Constant(n0); }
-}




reply via email to

[Prev in Thread] Current Thread [Next in Thread]