aboutsummaryrefslogtreecommitdiff
path: root/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes
diff options
context:
space:
mode:
Diffstat (limited to 'src/monkey/seaspider/org/gnunet/seaspider/parser/nodes')
-rw-r--r--src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/ANDExpression.java36
-rw-r--r--src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/AdditiveExpression.java36
-rw-r--r--src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/ArgumentExpressionList.java36
-rw-r--r--src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/Array.java45
-rw-r--r--src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/AssignmentExpression.java34
-rw-r--r--src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/AssignmentOperator.java33
-rw-r--r--src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/AssignmentOrTypeExpression.java34
-rw-r--r--src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/CastExpression.java33
-rw-r--r--src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/CompoundStatement.java45
-rw-r--r--src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/ConditionalExpression.java36
-rw-r--r--src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/Constant.java36
-rw-r--r--src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/ConstantExpression.java33
-rw-r--r--src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/DataType.java36
-rw-r--r--src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/EnumSpecifier.java41
-rw-r--r--src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/Enumerator.java36
-rw-r--r--src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/EnumeratorList.java36
-rw-r--r--src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/EqualityExpression.java36
-rw-r--r--src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/ExclusiveORExpression.java36
-rw-r--r--src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/Expression.java36
-rw-r--r--src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/ExpressionStatement.java41
-rw-r--r--src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/ExternalDeclaration.java36
-rw-r--r--src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/FunctionDeclaration.java57
-rw-r--r--src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/FunctionType.java65
-rw-r--r--src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/IdentifierList.java36
-rw-r--r--src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/InclusiveORExpression.java36
-rw-r--r--src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/InitDeclarator.java39
-rw-r--r--src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/InitDeclaratorList.java36
-rw-r--r--src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/Initializer.java33
-rw-r--r--src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/InitializerList.java36
-rw-r--r--src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/IterationStatement.java33
-rw-r--r--src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/JumpStatement.java33
-rw-r--r--src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/LabeledStatement.java33
-rw-r--r--src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/LocalVariableDeclaration.java36
-rw-r--r--src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/LogicalANDExpression.java36
-rw-r--r--src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/LogicalORExpression.java36
-rw-r--r--src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/MultiplicativeExpression.java36
-rw-r--r--src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/NoIdentifierTypeSpecifier.java42
-rw-r--r--src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/Node.java16
-rw-r--r--src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/NodeChoice.java36
-rw-r--r--src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/NodeList.java44
-rw-r--r--src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/NodeListInterface.java22
-rw-r--r--src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/NodeListOptional.java45
-rw-r--r--src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/NodeOptional.java41
-rw-r--r--src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/NodeSequence.java45
-rw-r--r--src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/NodeToken.java87
-rw-r--r--src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/ParameterDeclaration.java39
-rw-r--r--src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/ParameterList.java39
-rw-r--r--src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/Pointer.java45
-rw-r--r--src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/PostfixExpression.java36
-rw-r--r--src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/PrimaryExpression.java35
-rw-r--r--src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/RelationalExpression.java36
-rw-r--r--src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/SelectionStatement.java33
-rw-r--r--src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/ShiftExpression.java36
-rw-r--r--src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/Statement.java33
-rw-r--r--src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/StorageClassSpecifier.java33
-rw-r--r--src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/StructDeclaration.java53
-rw-r--r--src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/StructDeclarationList.java33
-rw-r--r--src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/StructOrUnion.java33
-rw-r--r--src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/StructOrUnionSpecifier.java34
-rw-r--r--src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/TranslationUnit.java33
-rw-r--r--src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/TypeDeclaration.java45
-rw-r--r--src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/TypeSpecifier.java42
-rw-r--r--src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/UnaryExpression.java33
-rw-r--r--src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/UnaryOperator.java33
-rw-r--r--src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/VariableClassSpecifier.java33
-rw-r--r--src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/VariableDeclaration.java49
66 files changed, 2516 insertions, 0 deletions
diff --git a/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/ANDExpression.java b/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/ANDExpression.java
new file mode 100644
index 000000000..8ced2c188
--- /dev/null
+++ b/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/ANDExpression.java
@@ -0,0 +1,36 @@
1//
2// Generated by JTB 1.3.2
3//
4
5package org.gnunet.seaspider.parser.nodes;
6
7/**
8 * Grammar production:
9 * <PRE>
10 * f0 -> EqualityExpression()
11 * f1 -> [ "&" ANDExpression() ]
12 * </PRE>
13 */
14public class ANDExpression implements Node {
15 public EqualityExpression f0;
16 public NodeOptional f1;
17
18 public ANDExpression(EqualityExpression n0, NodeOptional n1) {
19 f0 = n0;
20 f1 = n1;
21 }
22
23 public void accept(org.gnunet.seaspider.parser.visitors.Visitor v) {
24 v.visit(this);
25 }
26 public <R,A> R accept(org.gnunet.seaspider.parser.visitors.GJVisitor<R,A> v, A argu) {
27 return v.visit(this,argu);
28 }
29 public <R> R accept(org.gnunet.seaspider.parser.visitors.GJNoArguVisitor<R> v) {
30 return v.visit(this);
31 }
32 public <A> void accept(org.gnunet.seaspider.parser.visitors.GJVoidVisitor<A> v, A argu) {
33 v.visit(this,argu);
34 }
35}
36
diff --git a/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/AdditiveExpression.java b/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/AdditiveExpression.java
new file mode 100644
index 000000000..f0c2f33ab
--- /dev/null
+++ b/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/AdditiveExpression.java
@@ -0,0 +1,36 @@
1//
2// Generated by JTB 1.3.2
3//
4
5package org.gnunet.seaspider.parser.nodes;
6
7/**
8 * Grammar production:
9 * <PRE>
10 * f0 -> MultiplicativeExpression()
11 * f1 -> [ ( "+" | "-" ) AdditiveExpression() ]
12 * </PRE>
13 */
14public class AdditiveExpression implements Node {
15 public MultiplicativeExpression f0;
16 public NodeOptional f1;
17
18 public AdditiveExpression(MultiplicativeExpression n0, NodeOptional n1) {
19 f0 = n0;
20 f1 = n1;
21 }
22
23 public void accept(org.gnunet.seaspider.parser.visitors.Visitor v) {
24 v.visit(this);
25 }
26 public <R,A> R accept(org.gnunet.seaspider.parser.visitors.GJVisitor<R,A> v, A argu) {
27 return v.visit(this,argu);
28 }
29 public <R> R accept(org.gnunet.seaspider.parser.visitors.GJNoArguVisitor<R> v) {
30 return v.visit(this);
31 }
32 public <A> void accept(org.gnunet.seaspider.parser.visitors.GJVoidVisitor<A> v, A argu) {
33 v.visit(this,argu);
34 }
35}
36
diff --git a/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/ArgumentExpressionList.java b/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/ArgumentExpressionList.java
new file mode 100644
index 000000000..0d93ab689
--- /dev/null
+++ b/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/ArgumentExpressionList.java
@@ -0,0 +1,36 @@
1//
2// Generated by JTB 1.3.2
3//
4
5package org.gnunet.seaspider.parser.nodes;
6
7/**
8 * Grammar production:
9 * <PRE>
10 * f0 -> AssignmentOrTypeExpression()
11 * f1 -> ( "," AssignmentOrTypeExpression() )*
12 * </PRE>
13 */
14public class ArgumentExpressionList implements Node {
15 public AssignmentOrTypeExpression f0;
16 public NodeListOptional f1;
17
18 public ArgumentExpressionList(AssignmentOrTypeExpression n0, NodeListOptional n1) {
19 f0 = n0;
20 f1 = n1;
21 }
22
23 public void accept(org.gnunet.seaspider.parser.visitors.Visitor v) {
24 v.visit(this);
25 }
26 public <R,A> R accept(org.gnunet.seaspider.parser.visitors.GJVisitor<R,A> v, A argu) {
27 return v.visit(this,argu);
28 }
29 public <R> R accept(org.gnunet.seaspider.parser.visitors.GJNoArguVisitor<R> v) {
30 return v.visit(this);
31 }
32 public <A> void accept(org.gnunet.seaspider.parser.visitors.GJVoidVisitor<A> v, A argu) {
33 v.visit(this,argu);
34 }
35}
36
diff --git a/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/Array.java b/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/Array.java
new file mode 100644
index 000000000..2d2798d7b
--- /dev/null
+++ b/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/Array.java
@@ -0,0 +1,45 @@
1//
2// Generated by JTB 1.3.2
3//
4
5package org.gnunet.seaspider.parser.nodes;
6
7/**
8 * Grammar production:
9 * <PRE>
10 * f0 -> "["
11 * f1 -> [ ConstantExpression() ]
12 * f2 -> "]"
13 * </PRE>
14 */
15public class Array implements Node {
16 public NodeToken f0;
17 public NodeOptional f1;
18 public NodeToken f2;
19
20 public Array(NodeToken n0, NodeOptional n1, NodeToken n2) {
21 f0 = n0;
22 f1 = n1;
23 f2 = n2;
24 }
25
26 public Array(NodeOptional n0) {
27 f0 = new NodeToken("[");
28 f1 = n0;
29 f2 = new NodeToken("]");
30 }
31
32 public void accept(org.gnunet.seaspider.parser.visitors.Visitor v) {
33 v.visit(this);
34 }
35 public <R,A> R accept(org.gnunet.seaspider.parser.visitors.GJVisitor<R,A> v, A argu) {
36 return v.visit(this,argu);
37 }
38 public <R> R accept(org.gnunet.seaspider.parser.visitors.GJNoArguVisitor<R> v) {
39 return v.visit(this);
40 }
41 public <A> void accept(org.gnunet.seaspider.parser.visitors.GJVoidVisitor<A> v, A argu) {
42 v.visit(this,argu);
43 }
44}
45
diff --git a/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/AssignmentExpression.java b/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/AssignmentExpression.java
new file mode 100644
index 000000000..1dc2606df
--- /dev/null
+++ b/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/AssignmentExpression.java
@@ -0,0 +1,34 @@
1//
2// Generated by JTB 1.3.2
3//
4
5package org.gnunet.seaspider.parser.nodes;
6
7/**
8 * Grammar production:
9 * <PRE>
10 * f0 -> UnaryExpression() AssignmentOperator() AssignmentExpression()
11 * | ConditionalExpression()
12 * </PRE>
13 */
14public class AssignmentExpression implements Node {
15 public NodeChoice f0;
16
17 public AssignmentExpression(NodeChoice n0) {
18 f0 = n0;
19 }
20
21 public void accept(org.gnunet.seaspider.parser.visitors.Visitor v) {
22 v.visit(this);
23 }
24 public <R,A> R accept(org.gnunet.seaspider.parser.visitors.GJVisitor<R,A> v, A argu) {
25 return v.visit(this,argu);
26 }
27 public <R> R accept(org.gnunet.seaspider.parser.visitors.GJNoArguVisitor<R> v) {
28 return v.visit(this);
29 }
30 public <A> void accept(org.gnunet.seaspider.parser.visitors.GJVoidVisitor<A> v, A argu) {
31 v.visit(this,argu);
32 }
33}
34
diff --git a/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/AssignmentOperator.java b/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/AssignmentOperator.java
new file mode 100644
index 000000000..76b5bfb12
--- /dev/null
+++ b/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/AssignmentOperator.java
@@ -0,0 +1,33 @@
1//
2// Generated by JTB 1.3.2
3//
4
5package org.gnunet.seaspider.parser.nodes;
6
7/**
8 * Grammar production:
9 * <PRE>
10 * f0 -> ( "=" | "*=" | "/=" | "%=" | "+=" | "-=" | "&lt;&lt;=" | "&gt;&gt;=" | "&=" | "^=" | "|=" )
11 * </PRE>
12 */
13public class AssignmentOperator implements Node {
14 public NodeChoice f0;
15
16 public AssignmentOperator(NodeChoice n0) {
17 f0 = n0;
18 }
19
20 public void accept(org.gnunet.seaspider.parser.visitors.Visitor v) {
21 v.visit(this);
22 }
23 public <R,A> R accept(org.gnunet.seaspider.parser.visitors.GJVisitor<R,A> v, A argu) {
24 return v.visit(this,argu);
25 }
26 public <R> R accept(org.gnunet.seaspider.parser.visitors.GJNoArguVisitor<R> v) {
27 return v.visit(this);
28 }
29 public <A> void accept(org.gnunet.seaspider.parser.visitors.GJVoidVisitor<A> v, A argu) {
30 v.visit(this,argu);
31 }
32}
33
diff --git a/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/AssignmentOrTypeExpression.java b/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/AssignmentOrTypeExpression.java
new file mode 100644
index 000000000..2d118d221
--- /dev/null
+++ b/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/AssignmentOrTypeExpression.java
@@ -0,0 +1,34 @@
1//
2// Generated by JTB 1.3.2
3//
4
5package org.gnunet.seaspider.parser.nodes;
6
7/**
8 * Grammar production:
9 * <PRE>
10 * f0 -> NoIdentifierTypeSpecifier()
11 * | AssignmentExpression()
12 * </PRE>
13 */
14public class AssignmentOrTypeExpression implements Node {
15 public NodeChoice f0;
16
17 public AssignmentOrTypeExpression(NodeChoice n0) {
18 f0 = n0;
19 }
20
21 public void accept(org.gnunet.seaspider.parser.visitors.Visitor v) {
22 v.visit(this);
23 }
24 public <R,A> R accept(org.gnunet.seaspider.parser.visitors.GJVisitor<R,A> v, A argu) {
25 return v.visit(this,argu);
26 }
27 public <R> R accept(org.gnunet.seaspider.parser.visitors.GJNoArguVisitor<R> v) {
28 return v.visit(this);
29 }
30 public <A> void accept(org.gnunet.seaspider.parser.visitors.GJVoidVisitor<A> v, A argu) {
31 v.visit(this,argu);
32 }
33}
34
diff --git a/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/CastExpression.java b/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/CastExpression.java
new file mode 100644
index 000000000..8a420c55f
--- /dev/null
+++ b/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/CastExpression.java
@@ -0,0 +1,33 @@
1//
2// Generated by JTB 1.3.2
3//
4
5package org.gnunet.seaspider.parser.nodes;
6
7/**
8 * Grammar production:
9 * <PRE>
10 * f0 -> ( "(" TypeSpecifier() ")" CastExpression() | UnaryExpression() )
11 * </PRE>
12 */
13public class CastExpression implements Node {
14 public NodeChoice f0;
15
16 public CastExpression(NodeChoice n0) {
17 f0 = n0;
18 }
19
20 public void accept(org.gnunet.seaspider.parser.visitors.Visitor v) {
21 v.visit(this);
22 }
23 public <R,A> R accept(org.gnunet.seaspider.parser.visitors.GJVisitor<R,A> v, A argu) {
24 return v.visit(this,argu);
25 }
26 public <R> R accept(org.gnunet.seaspider.parser.visitors.GJNoArguVisitor<R> v) {
27 return v.visit(this);
28 }
29 public <A> void accept(org.gnunet.seaspider.parser.visitors.GJVoidVisitor<A> v, A argu) {
30 v.visit(this,argu);
31 }
32}
33
diff --git a/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/CompoundStatement.java b/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/CompoundStatement.java
new file mode 100644
index 000000000..18e7e6d8a
--- /dev/null
+++ b/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/CompoundStatement.java
@@ -0,0 +1,45 @@
1//
2// Generated by JTB 1.3.2
3//
4
5package org.gnunet.seaspider.parser.nodes;
6
7/**
8 * Grammar production:
9 * <PRE>
10 * f0 -> "{"
11 * f1 -> ( LocalVariableDeclaration() | Statement() )*
12 * f2 -> "}"
13 * </PRE>
14 */
15public class CompoundStatement implements Node {
16 public NodeToken f0;
17 public NodeListOptional f1;
18 public NodeToken f2;
19
20 public CompoundStatement(NodeToken n0, NodeListOptional n1, NodeToken n2) {
21 f0 = n0;
22 f1 = n1;
23 f2 = n2;
24 }
25
26 public CompoundStatement(NodeListOptional n0) {
27 f0 = new NodeToken("{");
28 f1 = n0;
29 f2 = new NodeToken("}");
30 }
31
32 public void accept(org.gnunet.seaspider.parser.visitors.Visitor v) {
33 v.visit(this);
34 }
35 public <R,A> R accept(org.gnunet.seaspider.parser.visitors.GJVisitor<R,A> v, A argu) {
36 return v.visit(this,argu);
37 }
38 public <R> R accept(org.gnunet.seaspider.parser.visitors.GJNoArguVisitor<R> v) {
39 return v.visit(this);
40 }
41 public <A> void accept(org.gnunet.seaspider.parser.visitors.GJVoidVisitor<A> v, A argu) {
42 v.visit(this,argu);
43 }
44}
45
diff --git a/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/ConditionalExpression.java b/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/ConditionalExpression.java
new file mode 100644
index 000000000..404ec903a
--- /dev/null
+++ b/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/ConditionalExpression.java
@@ -0,0 +1,36 @@
1//
2// Generated by JTB 1.3.2
3//
4
5package org.gnunet.seaspider.parser.nodes;
6
7/**
8 * Grammar production:
9 * <PRE>
10 * f0 -> LogicalORExpression()
11 * f1 -> [ "?" Expression() ":" ConditionalExpression() ]
12 * </PRE>
13 */
14public class ConditionalExpression implements Node {
15 public LogicalORExpression f0;
16 public NodeOptional f1;
17
18 public ConditionalExpression(LogicalORExpression n0, NodeOptional n1) {
19 f0 = n0;
20 f1 = n1;
21 }
22
23 public void accept(org.gnunet.seaspider.parser.visitors.Visitor v) {
24 v.visit(this);
25 }
26 public <R,A> R accept(org.gnunet.seaspider.parser.visitors.GJVisitor<R,A> v, A argu) {
27 return v.visit(this,argu);
28 }
29 public <R> R accept(org.gnunet.seaspider.parser.visitors.GJNoArguVisitor<R> v) {
30 return v.visit(this);
31 }
32 public <A> void accept(org.gnunet.seaspider.parser.visitors.GJVoidVisitor<A> v, A argu) {
33 v.visit(this,argu);
34 }
35}
36
diff --git a/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/Constant.java b/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/Constant.java
new file mode 100644
index 000000000..6ccd64ae4
--- /dev/null
+++ b/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/Constant.java
@@ -0,0 +1,36 @@
1//
2// Generated by JTB 1.3.2
3//
4
5package org.gnunet.seaspider.parser.nodes;
6
7/**
8 * Grammar production:
9 * <PRE>
10 * f0 -> &lt;INTEGER_LITERAL&gt;
11 * | &lt;FLOATING_POINT_LITERAL&gt;
12 * | &lt;CHARACTER_LITERAL&gt;
13 * | &lt;STRING_LITERAL&gt;
14 * </PRE>
15 */
16public class Constant implements Node {
17 public NodeChoice f0;
18
19 public Constant(NodeChoice n0) {
20 f0 = n0;
21 }
22
23 public void accept(org.gnunet.seaspider.parser.visitors.Visitor v) {
24 v.visit(this);
25 }
26 public <R,A> R accept(org.gnunet.seaspider.parser.visitors.GJVisitor<R,A> v, A argu) {
27 return v.visit(this,argu);
28 }
29 public <R> R accept(org.gnunet.seaspider.parser.visitors.GJNoArguVisitor<R> v) {
30 return v.visit(this);
31 }
32 public <A> void accept(org.gnunet.seaspider.parser.visitors.GJVoidVisitor<A> v, A argu) {
33 v.visit(this,argu);
34 }
35}
36
diff --git a/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/ConstantExpression.java b/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/ConstantExpression.java
new file mode 100644
index 000000000..e1024c4ad
--- /dev/null
+++ b/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/ConstantExpression.java
@@ -0,0 +1,33 @@
1//
2// Generated by JTB 1.3.2
3//
4
5package org.gnunet.seaspider.parser.nodes;
6
7/**
8 * Grammar production:
9 * <PRE>
10 * f0 -> ConditionalExpression()
11 * </PRE>
12 */
13public class ConstantExpression implements Node {
14 public ConditionalExpression f0;
15
16 public ConstantExpression(ConditionalExpression n0) {
17 f0 = n0;
18 }
19
20 public void accept(org.gnunet.seaspider.parser.visitors.Visitor v) {
21 v.visit(this);
22 }
23 public <R,A> R accept(org.gnunet.seaspider.parser.visitors.GJVisitor<R,A> v, A argu) {
24 return v.visit(this,argu);
25 }
26 public <R> R accept(org.gnunet.seaspider.parser.visitors.GJNoArguVisitor<R> v) {
27 return v.visit(this);
28 }
29 public <A> void accept(org.gnunet.seaspider.parser.visitors.GJVoidVisitor<A> v, A argu) {
30 v.visit(this,argu);
31 }
32}
33
diff --git a/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/DataType.java b/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/DataType.java
new file mode 100644
index 000000000..e99a46a9c
--- /dev/null
+++ b/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/DataType.java
@@ -0,0 +1,36 @@
1//
2// Generated by JTB 1.3.2
3//
4
5package org.gnunet.seaspider.parser.nodes;
6
7/**
8 * Grammar production:
9 * <PRE>
10 * f0 -> StructOrUnionSpecifier()
11 * f1 -> &lt;IDENTIFIER&gt;
12 * </PRE>
13 */
14public class DataType implements Node {
15 public StructOrUnionSpecifier f0;
16 public NodeToken f1;
17
18 public DataType(StructOrUnionSpecifier n0, NodeToken n1) {
19 f0 = n0;
20 f1 = n1;
21 }
22
23 public void accept(org.gnunet.seaspider.parser.visitors.Visitor v) {
24 v.visit(this);
25 }
26 public <R,A> R accept(org.gnunet.seaspider.parser.visitors.GJVisitor<R,A> v, A argu) {
27 return v.visit(this,argu);
28 }
29 public <R> R accept(org.gnunet.seaspider.parser.visitors.GJNoArguVisitor<R> v) {
30 return v.visit(this);
31 }
32 public <A> void accept(org.gnunet.seaspider.parser.visitors.GJVoidVisitor<A> v, A argu) {
33 v.visit(this,argu);
34 }
35}
36
diff --git a/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/EnumSpecifier.java b/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/EnumSpecifier.java
new file mode 100644
index 000000000..5bb08faca
--- /dev/null
+++ b/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/EnumSpecifier.java
@@ -0,0 +1,41 @@
1//
2// Generated by JTB 1.3.2
3//
4
5package org.gnunet.seaspider.parser.nodes;
6
7/**
8 * Grammar production:
9 * <PRE>
10 * f0 -> &lt;ENUM&gt;
11 * f1 -> ( [ &lt;IDENTIFIER&gt; ] "{" EnumeratorList() "}" | &lt;IDENTIFIER&gt; )
12 * </PRE>
13 */
14public class EnumSpecifier implements Node {
15 public NodeToken f0;
16 public NodeChoice f1;
17
18 public EnumSpecifier(NodeToken n0, NodeChoice n1) {
19 f0 = n0;
20 f1 = n1;
21 }
22
23 public EnumSpecifier(NodeChoice n0) {
24 f0 = new NodeToken("enum");
25 f1 = n0;
26 }
27
28 public void accept(org.gnunet.seaspider.parser.visitors.Visitor v) {
29 v.visit(this);
30 }
31 public <R,A> R accept(org.gnunet.seaspider.parser.visitors.GJVisitor<R,A> v, A argu) {
32 return v.visit(this,argu);
33 }
34 public <R> R accept(org.gnunet.seaspider.parser.visitors.GJNoArguVisitor<R> v) {
35 return v.visit(this);
36 }
37 public <A> void accept(org.gnunet.seaspider.parser.visitors.GJVoidVisitor<A> v, A argu) {
38 v.visit(this,argu);
39 }
40}
41
diff --git a/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/Enumerator.java b/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/Enumerator.java
new file mode 100644
index 000000000..305cf697a
--- /dev/null
+++ b/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/Enumerator.java
@@ -0,0 +1,36 @@
1//
2// Generated by JTB 1.3.2
3//
4
5package org.gnunet.seaspider.parser.nodes;
6
7/**
8 * Grammar production:
9 * <PRE>
10 * f0 -> &lt;IDENTIFIER&gt;
11 * f1 -> [ "=" ConstantExpression() ]
12 * </PRE>
13 */
14public class Enumerator implements Node {
15 public NodeToken f0;
16 public NodeOptional f1;
17
18 public Enumerator(NodeToken n0, NodeOptional n1) {
19 f0 = n0;
20 f1 = n1;
21 }
22
23 public void accept(org.gnunet.seaspider.parser.visitors.Visitor v) {
24 v.visit(this);
25 }
26 public <R,A> R accept(org.gnunet.seaspider.parser.visitors.GJVisitor<R,A> v, A argu) {
27 return v.visit(this,argu);
28 }
29 public <R> R accept(org.gnunet.seaspider.parser.visitors.GJNoArguVisitor<R> v) {
30 return v.visit(this);
31 }
32 public <A> void accept(org.gnunet.seaspider.parser.visitors.GJVoidVisitor<A> v, A argu) {
33 v.visit(this,argu);
34 }
35}
36
diff --git a/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/EnumeratorList.java b/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/EnumeratorList.java
new file mode 100644
index 000000000..ba72c0668
--- /dev/null
+++ b/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/EnumeratorList.java
@@ -0,0 +1,36 @@
1//
2// Generated by JTB 1.3.2
3//
4
5package org.gnunet.seaspider.parser.nodes;
6
7/**
8 * Grammar production:
9 * <PRE>
10 * f0 -> Enumerator()
11 * f1 -> ( "," Enumerator() )*
12 * </PRE>
13 */
14public class EnumeratorList implements Node {
15 public Enumerator f0;
16 public NodeListOptional f1;
17
18 public EnumeratorList(Enumerator n0, NodeListOptional n1) {
19 f0 = n0;
20 f1 = n1;
21 }
22
23 public void accept(org.gnunet.seaspider.parser.visitors.Visitor v) {
24 v.visit(this);
25 }
26 public <R,A> R accept(org.gnunet.seaspider.parser.visitors.GJVisitor<R,A> v, A argu) {
27 return v.visit(this,argu);
28 }
29 public <R> R accept(org.gnunet.seaspider.parser.visitors.GJNoArguVisitor<R> v) {
30 return v.visit(this);
31 }
32 public <A> void accept(org.gnunet.seaspider.parser.visitors.GJVoidVisitor<A> v, A argu) {
33 v.visit(this,argu);
34 }
35}
36
diff --git a/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/EqualityExpression.java b/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/EqualityExpression.java
new file mode 100644
index 000000000..44157bb00
--- /dev/null
+++ b/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/EqualityExpression.java
@@ -0,0 +1,36 @@
1//
2// Generated by JTB 1.3.2
3//
4
5package org.gnunet.seaspider.parser.nodes;
6
7/**
8 * Grammar production:
9 * <PRE>
10 * f0 -> RelationalExpression()
11 * f1 -> [ ( "==" | "!=" ) EqualityExpression() ]
12 * </PRE>
13 */
14public class EqualityExpression implements Node {
15 public RelationalExpression f0;
16 public NodeOptional f1;
17
18 public EqualityExpression(RelationalExpression n0, NodeOptional n1) {
19 f0 = n0;
20 f1 = n1;
21 }
22
23 public void accept(org.gnunet.seaspider.parser.visitors.Visitor v) {
24 v.visit(this);
25 }
26 public <R,A> R accept(org.gnunet.seaspider.parser.visitors.GJVisitor<R,A> v, A argu) {
27 return v.visit(this,argu);
28 }
29 public <R> R accept(org.gnunet.seaspider.parser.visitors.GJNoArguVisitor<R> v) {
30 return v.visit(this);
31 }
32 public <A> void accept(org.gnunet.seaspider.parser.visitors.GJVoidVisitor<A> v, A argu) {
33 v.visit(this,argu);
34 }
35}
36
diff --git a/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/ExclusiveORExpression.java b/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/ExclusiveORExpression.java
new file mode 100644
index 000000000..d80f4099a
--- /dev/null
+++ b/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/ExclusiveORExpression.java
@@ -0,0 +1,36 @@
1//
2// Generated by JTB 1.3.2
3//
4
5package org.gnunet.seaspider.parser.nodes;
6
7/**
8 * Grammar production:
9 * <PRE>
10 * f0 -> ANDExpression()
11 * f1 -> [ "^" ExclusiveORExpression() ]
12 * </PRE>
13 */
14public class ExclusiveORExpression implements Node {
15 public ANDExpression f0;
16 public NodeOptional f1;
17
18 public ExclusiveORExpression(ANDExpression n0, NodeOptional n1) {
19 f0 = n0;
20 f1 = n1;
21 }
22
23 public void accept(org.gnunet.seaspider.parser.visitors.Visitor v) {
24 v.visit(this);
25 }
26 public <R,A> R accept(org.gnunet.seaspider.parser.visitors.GJVisitor<R,A> v, A argu) {
27 return v.visit(this,argu);
28 }
29 public <R> R accept(org.gnunet.seaspider.parser.visitors.GJNoArguVisitor<R> v) {
30 return v.visit(this);
31 }
32 public <A> void accept(org.gnunet.seaspider.parser.visitors.GJVoidVisitor<A> v, A argu) {
33 v.visit(this,argu);
34 }
35}
36
diff --git a/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/Expression.java b/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/Expression.java
new file mode 100644
index 000000000..e8f021a7d
--- /dev/null
+++ b/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/Expression.java
@@ -0,0 +1,36 @@
1//
2// Generated by JTB 1.3.2
3//
4
5package org.gnunet.seaspider.parser.nodes;
6
7/**
8 * Grammar production:
9 * <PRE>
10 * f0 -> AssignmentExpression()
11 * f1 -> ( "," AssignmentExpression() )*
12 * </PRE>
13 */
14public class Expression implements Node {
15 public AssignmentExpression f0;
16 public NodeListOptional f1;
17
18 public Expression(AssignmentExpression n0, NodeListOptional n1) {
19 f0 = n0;
20 f1 = n1;
21 }
22
23 public void accept(org.gnunet.seaspider.parser.visitors.Visitor v) {
24 v.visit(this);
25 }
26 public <R,A> R accept(org.gnunet.seaspider.parser.visitors.GJVisitor<R,A> v, A argu) {
27 return v.visit(this,argu);
28 }
29 public <R> R accept(org.gnunet.seaspider.parser.visitors.GJNoArguVisitor<R> v) {
30 return v.visit(this);
31 }
32 public <A> void accept(org.gnunet.seaspider.parser.visitors.GJVoidVisitor<A> v, A argu) {
33 v.visit(this,argu);
34 }
35}
36
diff --git a/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/ExpressionStatement.java b/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/ExpressionStatement.java
new file mode 100644
index 000000000..d6f23828d
--- /dev/null
+++ b/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/ExpressionStatement.java
@@ -0,0 +1,41 @@
1//
2// Generated by JTB 1.3.2
3//
4
5package org.gnunet.seaspider.parser.nodes;
6
7/**
8 * Grammar production:
9 * <PRE>
10 * f0 -> [ Expression() ]
11 * f1 -> ";"
12 * </PRE>
13 */
14public class ExpressionStatement implements Node {
15 public NodeOptional f0;
16 public NodeToken f1;
17
18 public ExpressionStatement(NodeOptional n0, NodeToken n1) {
19 f0 = n0;
20 f1 = n1;
21 }
22
23 public ExpressionStatement(NodeOptional n0) {
24 f0 = n0;
25 f1 = new NodeToken(";");
26 }
27
28 public void accept(org.gnunet.seaspider.parser.visitors.Visitor v) {
29 v.visit(this);
30 }
31 public <R,A> R accept(org.gnunet.seaspider.parser.visitors.GJVisitor<R,A> v, A argu) {
32 return v.visit(this,argu);
33 }
34 public <R> R accept(org.gnunet.seaspider.parser.visitors.GJNoArguVisitor<R> v) {
35 return v.visit(this);
36 }
37 public <A> void accept(org.gnunet.seaspider.parser.visitors.GJVoidVisitor<A> v, A argu) {
38 v.visit(this,argu);
39 }
40}
41
diff --git a/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/ExternalDeclaration.java b/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/ExternalDeclaration.java
new file mode 100644
index 000000000..9d359285d
--- /dev/null
+++ b/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/ExternalDeclaration.java
@@ -0,0 +1,36 @@
1//
2// Generated by JTB 1.3.2
3//
4
5package org.gnunet.seaspider.parser.nodes;
6
7/**
8 * Grammar production:
9 * <PRE>
10 * f0 -> ( StorageClassSpecifier() )*
11 * f1 -> ( FunctionDeclaration() | StructOrUnionSpecifier() | VariableDeclaration() | TypeDeclaration() )
12 * </PRE>
13 */
14public class ExternalDeclaration implements Node {
15 public NodeListOptional f0;
16 public NodeChoice f1;
17
18 public ExternalDeclaration(NodeListOptional n0, NodeChoice n1) {
19 f0 = n0;
20 f1 = n1;
21 }
22
23 public void accept(org.gnunet.seaspider.parser.visitors.Visitor v) {
24 v.visit(this);
25 }
26 public <R,A> R accept(org.gnunet.seaspider.parser.visitors.GJVisitor<R,A> v, A argu) {
27 return v.visit(this,argu);
28 }
29 public <R> R accept(org.gnunet.seaspider.parser.visitors.GJNoArguVisitor<R> v) {
30 return v.visit(this);
31 }
32 public <A> void accept(org.gnunet.seaspider.parser.visitors.GJVoidVisitor<A> v, A argu) {
33 v.visit(this,argu);
34 }
35}
36
diff --git a/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/FunctionDeclaration.java b/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/FunctionDeclaration.java
new file mode 100644
index 000000000..54da9f7ed
--- /dev/null
+++ b/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/FunctionDeclaration.java
@@ -0,0 +1,57 @@
1//
2// Generated by JTB 1.3.2
3//
4
5package org.gnunet.seaspider.parser.nodes;
6
7/**
8 * Grammar production:
9 * <PRE>
10 * f0 -> TypeSpecifier()
11 * f1 -> &lt;IDENTIFIER&gt;
12 * f2 -> "("
13 * f3 -> [ ParameterList() ]
14 * f4 -> ")"
15 * f5 -> ( ";" | CompoundStatement() )
16 * </PRE>
17 */
18public class FunctionDeclaration implements Node {
19 public TypeSpecifier f0;
20 public NodeToken f1;
21 public NodeToken f2;
22 public NodeOptional f3;
23 public NodeToken f4;
24 public NodeChoice f5;
25
26 public FunctionDeclaration(TypeSpecifier n0, NodeToken n1, NodeToken n2, NodeOptional n3, NodeToken n4, NodeChoice n5) {
27 f0 = n0;
28 f1 = n1;
29 f2 = n2;
30 f3 = n3;
31 f4 = n4;
32 f5 = n5;
33 }
34
35 public FunctionDeclaration(TypeSpecifier n0, NodeToken n1, NodeOptional n2, NodeChoice n3) {
36 f0 = n0;
37 f1 = n1;
38 f2 = new NodeToken("(");
39 f3 = n2;
40 f4 = new NodeToken(")");
41 f5 = n3;
42 }
43
44 public void accept(org.gnunet.seaspider.parser.visitors.Visitor v) {
45 v.visit(this);
46 }
47 public <R,A> R accept(org.gnunet.seaspider.parser.visitors.GJVisitor<R,A> v, A argu) {
48 return v.visit(this,argu);
49 }
50 public <R> R accept(org.gnunet.seaspider.parser.visitors.GJNoArguVisitor<R> v) {
51 return v.visit(this);
52 }
53 public <A> void accept(org.gnunet.seaspider.parser.visitors.GJVoidVisitor<A> v, A argu) {
54 v.visit(this,argu);
55 }
56}
57
diff --git a/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/FunctionType.java b/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/FunctionType.java
new file mode 100644
index 000000000..263e73e2f
--- /dev/null
+++ b/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/FunctionType.java
@@ -0,0 +1,65 @@
1//
2// Generated by JTB 1.3.2
3//
4
5package org.gnunet.seaspider.parser.nodes;
6
7/**
8 * Grammar production:
9 * <PRE>
10 * f0 -> TypeSpecifier()
11 * f1 -> "("
12 * f2 -> "*"
13 * f3 -> &lt;IDENTIFIER&gt;
14 * f4 -> ")"
15 * f5 -> "("
16 * f6 -> [ ParameterList() ]
17 * f7 -> ")"
18 * </PRE>
19 */
20public class FunctionType implements Node {
21 public TypeSpecifier f0;
22 public NodeToken f1;
23 public NodeToken f2;
24 public NodeToken f3;
25 public NodeToken f4;
26 public NodeToken f5;
27 public NodeOptional f6;
28 public NodeToken f7;
29
30 public FunctionType(TypeSpecifier n0, NodeToken n1, NodeToken n2, NodeToken n3, NodeToken n4, NodeToken n5, NodeOptional n6, NodeToken n7) {
31 f0 = n0;
32 f1 = n1;
33 f2 = n2;
34 f3 = n3;
35 f4 = n4;
36 f5 = n5;
37 f6 = n6;
38 f7 = n7;
39 }
40
41 public FunctionType(TypeSpecifier n0, NodeToken n1, NodeOptional n2) {
42 f0 = n0;
43 f1 = new NodeToken("(");
44 f2 = new NodeToken("*");
45 f3 = n1;
46 f4 = new NodeToken(")");
47 f5 = new NodeToken("(");
48 f6 = n2;
49 f7 = new NodeToken(")");
50 }
51
52 public void accept(org.gnunet.seaspider.parser.visitors.Visitor v) {
53 v.visit(this);
54 }
55 public <R,A> R accept(org.gnunet.seaspider.parser.visitors.GJVisitor<R,A> v, A argu) {
56 return v.visit(this,argu);
57 }
58 public <R> R accept(org.gnunet.seaspider.parser.visitors.GJNoArguVisitor<R> v) {
59 return v.visit(this);
60 }
61 public <A> void accept(org.gnunet.seaspider.parser.visitors.GJVoidVisitor<A> v, A argu) {
62 v.visit(this,argu);
63 }
64}
65
diff --git a/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/IdentifierList.java b/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/IdentifierList.java
new file mode 100644
index 000000000..7df6de807
--- /dev/null
+++ b/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/IdentifierList.java
@@ -0,0 +1,36 @@
1//
2// Generated by JTB 1.3.2
3//
4
5package org.gnunet.seaspider.parser.nodes;
6
7/**
8 * Grammar production:
9 * <PRE>
10 * f0 -> &lt;IDENTIFIER&gt;
11 * f1 -> ( "," &lt;IDENTIFIER&gt; )*
12 * </PRE>
13 */
14public class IdentifierList implements Node {
15 public NodeToken f0;
16 public NodeListOptional f1;
17
18 public IdentifierList(NodeToken n0, NodeListOptional n1) {
19 f0 = n0;
20 f1 = n1;
21 }
22
23 public void accept(org.gnunet.seaspider.parser.visitors.Visitor v) {
24 v.visit(this);
25 }
26 public <R,A> R accept(org.gnunet.seaspider.parser.visitors.GJVisitor<R,A> v, A argu) {
27 return v.visit(this,argu);
28 }
29 public <R> R accept(org.gnunet.seaspider.parser.visitors.GJNoArguVisitor<R> v) {
30 return v.visit(this);
31 }
32 public <A> void accept(org.gnunet.seaspider.parser.visitors.GJVoidVisitor<A> v, A argu) {
33 v.visit(this,argu);
34 }
35}
36
diff --git a/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/InclusiveORExpression.java b/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/InclusiveORExpression.java
new file mode 100644
index 000000000..9d972377d
--- /dev/null
+++ b/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/InclusiveORExpression.java
@@ -0,0 +1,36 @@
1//
2// Generated by JTB 1.3.2
3//
4
5package org.gnunet.seaspider.parser.nodes;
6
7/**
8 * Grammar production:
9 * <PRE>
10 * f0 -> ExclusiveORExpression()
11 * f1 -> [ "|" InclusiveORExpression() ]
12 * </PRE>
13 */
14public class InclusiveORExpression implements Node {
15 public ExclusiveORExpression f0;
16 public NodeOptional f1;
17
18 public InclusiveORExpression(ExclusiveORExpression n0, NodeOptional n1) {
19 f0 = n0;
20 f1 = n1;
21 }
22
23 public void accept(org.gnunet.seaspider.parser.visitors.Visitor v) {
24 v.visit(this);
25 }
26 public <R,A> R accept(org.gnunet.seaspider.parser.visitors.GJVisitor<R,A> v, A argu) {
27 return v.visit(this,argu);
28 }
29 public <R> R accept(org.gnunet.seaspider.parser.visitors.GJNoArguVisitor<R> v) {
30 return v.visit(this);
31 }
32 public <A> void accept(org.gnunet.seaspider.parser.visitors.GJVoidVisitor<A> v, A argu) {
33 v.visit(this,argu);
34 }
35}
36
diff --git a/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/InitDeclarator.java b/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/InitDeclarator.java
new file mode 100644
index 000000000..27cd735fa
--- /dev/null
+++ b/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/InitDeclarator.java
@@ -0,0 +1,39 @@
1//
2// Generated by JTB 1.3.2
3//
4
5package org.gnunet.seaspider.parser.nodes;
6
7/**
8 * Grammar production:
9 * <PRE>
10 * f0 -> &lt;IDENTIFIER&gt;
11 * f1 -> [ Array() ]
12 * f2 -> [ "=" Initializer() ]
13 * </PRE>
14 */
15public class InitDeclarator implements Node {
16 public NodeToken f0;
17 public NodeOptional f1;
18 public NodeOptional f2;
19
20 public InitDeclarator(NodeToken n0, NodeOptional n1, NodeOptional n2) {
21 f0 = n0;
22 f1 = n1;
23 f2 = n2;
24 }
25
26 public void accept(org.gnunet.seaspider.parser.visitors.Visitor v) {
27 v.visit(this);
28 }
29 public <R,A> R accept(org.gnunet.seaspider.parser.visitors.GJVisitor<R,A> v, A argu) {
30 return v.visit(this,argu);
31 }
32 public <R> R accept(org.gnunet.seaspider.parser.visitors.GJNoArguVisitor<R> v) {
33 return v.visit(this);
34 }
35 public <A> void accept(org.gnunet.seaspider.parser.visitors.GJVoidVisitor<A> v, A argu) {
36 v.visit(this,argu);
37 }
38}
39
diff --git a/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/InitDeclaratorList.java b/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/InitDeclaratorList.java
new file mode 100644
index 000000000..0323a1826
--- /dev/null
+++ b/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/InitDeclaratorList.java
@@ -0,0 +1,36 @@
1//
2// Generated by JTB 1.3.2
3//
4
5package org.gnunet.seaspider.parser.nodes;
6
7/**
8 * Grammar production:
9 * <PRE>
10 * f0 -> InitDeclarator()
11 * f1 -> ( "," InitDeclarator() )*
12 * </PRE>
13 */
14public class InitDeclaratorList implements Node {
15 public InitDeclarator f0;
16 public NodeListOptional f1;
17
18 public InitDeclaratorList(InitDeclarator n0, NodeListOptional n1) {
19 f0 = n0;
20 f1 = n1;
21 }
22
23 public void accept(org.gnunet.seaspider.parser.visitors.Visitor v) {
24 v.visit(this);
25 }
26 public <R,A> R accept(org.gnunet.seaspider.parser.visitors.GJVisitor<R,A> v, A argu) {
27 return v.visit(this,argu);
28 }
29 public <R> R accept(org.gnunet.seaspider.parser.visitors.GJNoArguVisitor<R> v) {
30 return v.visit(this);
31 }
32 public <A> void accept(org.gnunet.seaspider.parser.visitors.GJVoidVisitor<A> v, A argu) {
33 v.visit(this,argu);
34 }
35}
36
diff --git a/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/Initializer.java b/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/Initializer.java
new file mode 100644
index 000000000..e7e03b967
--- /dev/null
+++ b/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/Initializer.java
@@ -0,0 +1,33 @@
1//
2// Generated by JTB 1.3.2
3//
4
5package org.gnunet.seaspider.parser.nodes;
6
7/**
8 * Grammar production:
9 * <PRE>
10 * f0 -> ( AssignmentExpression() | "{" InitializerList() [ "," ] "}" )
11 * </PRE>
12 */
13public class Initializer implements Node {
14 public NodeChoice f0;
15
16 public Initializer(NodeChoice n0) {
17 f0 = n0;
18 }
19
20 public void accept(org.gnunet.seaspider.parser.visitors.Visitor v) {
21 v.visit(this);
22 }
23 public <R,A> R accept(org.gnunet.seaspider.parser.visitors.GJVisitor<R,A> v, A argu) {
24 return v.visit(this,argu);
25 }
26 public <R> R accept(org.gnunet.seaspider.parser.visitors.GJNoArguVisitor<R> v) {
27 return v.visit(this);
28 }
29 public <A> void accept(org.gnunet.seaspider.parser.visitors.GJVoidVisitor<A> v, A argu) {
30 v.visit(this,argu);
31 }
32}
33
diff --git a/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/InitializerList.java b/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/InitializerList.java
new file mode 100644
index 000000000..921602582
--- /dev/null
+++ b/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/InitializerList.java
@@ -0,0 +1,36 @@
1//
2// Generated by JTB 1.3.2
3//
4
5package org.gnunet.seaspider.parser.nodes;
6
7/**
8 * Grammar production:
9 * <PRE>
10 * f0 -> Initializer()
11 * f1 -> ( "," Initializer() )*
12 * </PRE>
13 */
14public class InitializerList implements Node {
15 public Initializer f0;
16 public NodeListOptional f1;
17
18 public InitializerList(Initializer n0, NodeListOptional n1) {
19 f0 = n0;
20 f1 = n1;
21 }
22
23 public void accept(org.gnunet.seaspider.parser.visitors.Visitor v) {
24 v.visit(this);
25 }
26 public <R,A> R accept(org.gnunet.seaspider.parser.visitors.GJVisitor<R,A> v, A argu) {
27 return v.visit(this,argu);
28 }
29 public <R> R accept(org.gnunet.seaspider.parser.visitors.GJNoArguVisitor<R> v) {
30 return v.visit(this);
31 }
32 public <A> void accept(org.gnunet.seaspider.parser.visitors.GJVoidVisitor<A> v, A argu) {
33 v.visit(this,argu);
34 }
35}
36
diff --git a/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/IterationStatement.java b/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/IterationStatement.java
new file mode 100644
index 000000000..c9ba91916
--- /dev/null
+++ b/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/IterationStatement.java
@@ -0,0 +1,33 @@
1//
2// Generated by JTB 1.3.2
3//
4
5package org.gnunet.seaspider.parser.nodes;
6
7/**
8 * Grammar production:
9 * <PRE>
10 * f0 -> ( &lt;WHILE&gt; "(" Expression() ")" Statement() | &lt;DO&gt; Statement() &lt;WHILE&gt; "(" Expression() ")" ";" | &lt;FOR&gt; "(" [ Expression() ] ";" [ Expression() ] ";" [ Expression() ] ")" Statement() )
11 * </PRE>
12 */
13public class IterationStatement implements Node {
14 public NodeChoice f0;
15
16 public IterationStatement(NodeChoice n0) {
17 f0 = n0;
18 }
19
20 public void accept(org.gnunet.seaspider.parser.visitors.Visitor v) {
21 v.visit(this);
22 }
23 public <R,A> R accept(org.gnunet.seaspider.parser.visitors.GJVisitor<R,A> v, A argu) {
24 return v.visit(this,argu);
25 }
26 public <R> R accept(org.gnunet.seaspider.parser.visitors.GJNoArguVisitor<R> v) {
27 return v.visit(this);
28 }
29 public <A> void accept(org.gnunet.seaspider.parser.visitors.GJVoidVisitor<A> v, A argu) {
30 v.visit(this,argu);
31 }
32}
33
diff --git a/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/JumpStatement.java b/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/JumpStatement.java
new file mode 100644
index 000000000..7341aadf2
--- /dev/null
+++ b/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/JumpStatement.java
@@ -0,0 +1,33 @@
1//
2// Generated by JTB 1.3.2
3//
4
5package org.gnunet.seaspider.parser.nodes;
6
7/**
8 * Grammar production:
9 * <PRE>
10 * f0 -> ( &lt;GOTO&gt; &lt;IDENTIFIER&gt; ";" | &lt;CONTINUE&gt; ";" | &lt;BREAK&gt; ";" | &lt;RETURN&gt; [ Expression() ] ";" )
11 * </PRE>
12 */
13public class JumpStatement implements Node {
14 public NodeChoice f0;
15
16 public JumpStatement(NodeChoice n0) {
17 f0 = n0;
18 }
19
20 public void accept(org.gnunet.seaspider.parser.visitors.Visitor v) {
21 v.visit(this);
22 }
23 public <R,A> R accept(org.gnunet.seaspider.parser.visitors.GJVisitor<R,A> v, A argu) {
24 return v.visit(this,argu);
25 }
26 public <R> R accept(org.gnunet.seaspider.parser.visitors.GJNoArguVisitor<R> v) {
27 return v.visit(this);
28 }
29 public <A> void accept(org.gnunet.seaspider.parser.visitors.GJVoidVisitor<A> v, A argu) {
30 v.visit(this,argu);
31 }
32}
33
diff --git a/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/LabeledStatement.java b/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/LabeledStatement.java
new file mode 100644
index 000000000..5f4ef4f98
--- /dev/null
+++ b/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/LabeledStatement.java
@@ -0,0 +1,33 @@
1//
2// Generated by JTB 1.3.2
3//
4
5package org.gnunet.seaspider.parser.nodes;
6
7/**
8 * Grammar production:
9 * <PRE>
10 * f0 -> ( &lt;IDENTIFIER&gt; ":" Statement() | &lt;CASE&gt; ConstantExpression() ":" Statement() | &lt;DFLT&gt; ":" Statement() )
11 * </PRE>
12 */
13public class LabeledStatement implements Node {
14 public NodeChoice f0;
15
16 public LabeledStatement(NodeChoice n0) {
17 f0 = n0;
18 }
19
20 public void accept(org.gnunet.seaspider.parser.visitors.Visitor v) {
21 v.visit(this);
22 }
23 public <R,A> R accept(org.gnunet.seaspider.parser.visitors.GJVisitor<R,A> v, A argu) {
24 return v.visit(this,argu);
25 }
26 public <R> R accept(org.gnunet.seaspider.parser.visitors.GJNoArguVisitor<R> v) {
27 return v.visit(this);
28 }
29 public <A> void accept(org.gnunet.seaspider.parser.visitors.GJVoidVisitor<A> v, A argu) {
30 v.visit(this,argu);
31 }
32}
33
diff --git a/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/LocalVariableDeclaration.java b/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/LocalVariableDeclaration.java
new file mode 100644
index 000000000..8337772a4
--- /dev/null
+++ b/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/LocalVariableDeclaration.java
@@ -0,0 +1,36 @@
1//
2// Generated by JTB 1.3.2
3//
4
5package org.gnunet.seaspider.parser.nodes;
6
7/**
8 * Grammar production:
9 * <PRE>
10 * f0 -> [ &lt;STATIC&gt; ]
11 * f1 -> VariableDeclaration()
12 * </PRE>
13 */
14public class LocalVariableDeclaration implements Node {
15 public NodeOptional f0;
16 public VariableDeclaration f1;
17
18 public LocalVariableDeclaration(NodeOptional n0, VariableDeclaration n1) {
19 f0 = n0;
20 f1 = n1;
21 }
22
23 public void accept(org.gnunet.seaspider.parser.visitors.Visitor v) {
24 v.visit(this);
25 }
26 public <R,A> R accept(org.gnunet.seaspider.parser.visitors.GJVisitor<R,A> v, A argu) {
27 return v.visit(this,argu);
28 }
29 public <R> R accept(org.gnunet.seaspider.parser.visitors.GJNoArguVisitor<R> v) {
30 return v.visit(this);
31 }
32 public <A> void accept(org.gnunet.seaspider.parser.visitors.GJVoidVisitor<A> v, A argu) {
33 v.visit(this,argu);
34 }
35}
36
diff --git a/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/LogicalANDExpression.java b/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/LogicalANDExpression.java
new file mode 100644
index 000000000..b353bb7f6
--- /dev/null
+++ b/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/LogicalANDExpression.java
@@ -0,0 +1,36 @@
1//
2// Generated by JTB 1.3.2
3//
4
5package org.gnunet.seaspider.parser.nodes;
6
7/**
8 * Grammar production:
9 * <PRE>
10 * f0 -> InclusiveORExpression()
11 * f1 -> [ "&&" LogicalANDExpression() ]
12 * </PRE>
13 */
14public class LogicalANDExpression implements Node {
15 public InclusiveORExpression f0;
16 public NodeOptional f1;
17
18 public LogicalANDExpression(InclusiveORExpression n0, NodeOptional n1) {
19 f0 = n0;
20 f1 = n1;
21 }
22
23 public void accept(org.gnunet.seaspider.parser.visitors.Visitor v) {
24 v.visit(this);
25 }
26 public <R,A> R accept(org.gnunet.seaspider.parser.visitors.GJVisitor<R,A> v, A argu) {
27 return v.visit(this,argu);
28 }
29 public <R> R accept(org.gnunet.seaspider.parser.visitors.GJNoArguVisitor<R> v) {
30 return v.visit(this);
31 }
32 public <A> void accept(org.gnunet.seaspider.parser.visitors.GJVoidVisitor<A> v, A argu) {
33 v.visit(this,argu);
34 }
35}
36
diff --git a/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/LogicalORExpression.java b/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/LogicalORExpression.java
new file mode 100644
index 000000000..87f8d0d11
--- /dev/null
+++ b/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/LogicalORExpression.java
@@ -0,0 +1,36 @@
1//
2// Generated by JTB 1.3.2
3//
4
5package org.gnunet.seaspider.parser.nodes;
6
7/**
8 * Grammar production:
9 * <PRE>
10 * f0 -> LogicalANDExpression()
11 * f1 -> [ "||" LogicalORExpression() ]
12 * </PRE>
13 */
14public class LogicalORExpression implements Node {
15 public LogicalANDExpression f0;
16 public NodeOptional f1;
17
18 public LogicalORExpression(LogicalANDExpression n0, NodeOptional n1) {
19 f0 = n0;
20 f1 = n1;
21 }
22
23 public void accept(org.gnunet.seaspider.parser.visitors.Visitor v) {
24 v.visit(this);
25 }
26 public <R,A> R accept(org.gnunet.seaspider.parser.visitors.GJVisitor<R,A> v, A argu) {
27 return v.visit(this,argu);
28 }
29 public <R> R accept(org.gnunet.seaspider.parser.visitors.GJNoArguVisitor<R> v) {
30 return v.visit(this);
31 }
32 public <A> void accept(org.gnunet.seaspider.parser.visitors.GJVoidVisitor<A> v, A argu) {
33 v.visit(this,argu);
34 }
35}
36
diff --git a/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/MultiplicativeExpression.java b/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/MultiplicativeExpression.java
new file mode 100644
index 000000000..9b801d12f
--- /dev/null
+++ b/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/MultiplicativeExpression.java
@@ -0,0 +1,36 @@
1//
2// Generated by JTB 1.3.2
3//
4
5package org.gnunet.seaspider.parser.nodes;
6
7/**
8 * Grammar production:
9 * <PRE>
10 * f0 -> CastExpression()
11 * f1 -> [ ( "*" | "/" | "%" ) MultiplicativeExpression() ]
12 * </PRE>
13 */
14public class MultiplicativeExpression implements Node {
15 public CastExpression f0;
16 public NodeOptional f1;
17
18 public MultiplicativeExpression(CastExpression n0, NodeOptional n1) {
19 f0 = n0;
20 f1 = n1;
21 }
22
23 public void accept(org.gnunet.seaspider.parser.visitors.Visitor v) {
24 v.visit(this);
25 }
26 public <R,A> R accept(org.gnunet.seaspider.parser.visitors.GJVisitor<R,A> v, A argu) {
27 return v.visit(this,argu);
28 }
29 public <R> R accept(org.gnunet.seaspider.parser.visitors.GJNoArguVisitor<R> v) {
30 return v.visit(this);
31 }
32 public <A> void accept(org.gnunet.seaspider.parser.visitors.GJVoidVisitor<A> v, A argu) {
33 v.visit(this,argu);
34 }
35}
36
diff --git a/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/NoIdentifierTypeSpecifier.java b/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/NoIdentifierTypeSpecifier.java
new file mode 100644
index 000000000..ff4fc4108
--- /dev/null
+++ b/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/NoIdentifierTypeSpecifier.java
@@ -0,0 +1,42 @@
1//
2// Generated by JTB 1.3.2
3//
4
5package org.gnunet.seaspider.parser.nodes;
6
7/**
8 * Grammar production:
9 * <PRE>
10 * f0 -> [ &lt;CONST&gt; ]
11 * f1 -> ( &lt;VOID&gt; | &lt;CHAR&gt; | &lt;SHORT&gt; [ &lt;INT&gt; ] | &lt;INT&gt; | &lt;LONG&gt; [ &lt;LONG&gt; ] | &lt;FLOAT&gt; | &lt;DOUBLE&gt; | ( &lt;SIGNED&gt; | &lt;UNSIGNED&gt; ) [ &lt;CHAR&gt; | &lt;SHORT&gt; [ &lt;INT&gt; ] | &lt;INT&gt; | &lt;LONG&gt; [ &lt;LONG&gt; ] ] | StructOrUnionSpecifier() | EnumSpecifier() )
12 * f2 -> [ Pointer() ]
13 * f3 -> [ Array() ]
14 * </PRE>
15 */
16public class NoIdentifierTypeSpecifier implements Node {
17 public NodeOptional f0;
18 public NodeChoice f1;
19 public NodeOptional f2;
20 public NodeOptional f3;
21
22 public NoIdentifierTypeSpecifier(NodeOptional n0, NodeChoice n1, NodeOptional n2, NodeOptional n3) {
23 f0 = n0;
24 f1 = n1;
25 f2 = n2;
26 f3 = n3;
27 }
28
29 public void accept(org.gnunet.seaspider.parser.visitors.Visitor v) {
30 v.visit(this);
31 }
32 public <R,A> R accept(org.gnunet.seaspider.parser.visitors.GJVisitor<R,A> v, A argu) {
33 return v.visit(this,argu);
34 }
35 public <R> R accept(org.gnunet.seaspider.parser.visitors.GJNoArguVisitor<R> v) {
36 return v.visit(this);
37 }
38 public <A> void accept(org.gnunet.seaspider.parser.visitors.GJVoidVisitor<A> v, A argu) {
39 v.visit(this,argu);
40 }
41}
42
diff --git a/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/Node.java b/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/Node.java
new file mode 100644
index 000000000..4ea3904db
--- /dev/null
+++ b/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/Node.java
@@ -0,0 +1,16 @@
1//
2// Generated by JTB 1.3.2
3//
4
5package org.gnunet.seaspider.parser.nodes;
6
7/**
8 * The interface which all syntax tree classes must implement.
9 */
10public interface Node extends java.io.Serializable {
11 public void accept(org.gnunet.seaspider.parser.visitors.Visitor v);
12 public <R,A> R accept(org.gnunet.seaspider.parser.visitors.GJVisitor<R,A> v, A argu);
13 public <R> R accept(org.gnunet.seaspider.parser.visitors.GJNoArguVisitor<R> v);
14 public <A> void accept(org.gnunet.seaspider.parser.visitors.GJVoidVisitor<A> v, A argu);
15}
16
diff --git a/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/NodeChoice.java b/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/NodeChoice.java
new file mode 100644
index 000000000..ff9a66d1b
--- /dev/null
+++ b/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/NodeChoice.java
@@ -0,0 +1,36 @@
1//
2// Generated by JTB 1.3.2
3//
4
5package org.gnunet.seaspider.parser.nodes;
6
7/**
8 * Represents a grammar choice, e.g. ( A | B )
9 */
10public class NodeChoice implements Node {
11 public NodeChoice(Node node) {
12 this(node, -1);
13 }
14
15 public NodeChoice(Node node, int whichChoice) {
16 choice = node;
17 which = whichChoice;
18 }
19
20 public void accept(org.gnunet.seaspider.parser.visitors.Visitor v) {
21 choice.accept(v);
22 }
23 public <R,A> R accept(org.gnunet.seaspider.parser.visitors.GJVisitor<R,A> v, A argu) {
24 return choice.accept(v,argu);
25 }
26 public <R> R accept(org.gnunet.seaspider.parser.visitors.GJNoArguVisitor<R> v) {
27 return choice.accept(v);
28 }
29 public <A> void accept(org.gnunet.seaspider.parser.visitors.GJVoidVisitor<A> v, A argu) {
30 choice.accept(v,argu);
31 }
32
33 public Node choice;
34 public int which;
35}
36
diff --git a/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/NodeList.java b/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/NodeList.java
new file mode 100644
index 000000000..36352b0f5
--- /dev/null
+++ b/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/NodeList.java
@@ -0,0 +1,44 @@
1//
2// Generated by JTB 1.3.2
3//
4
5package org.gnunet.seaspider.parser.nodes;
6
7import java.util.*;
8
9/**
10 * Represents a grammar list, e.g. ( A )+
11 */
12public class NodeList implements NodeListInterface {
13 public NodeList() {
14 nodes = new Vector<Node>();
15 }
16
17 public NodeList(Node firstNode) {
18 nodes = new Vector<Node>();
19 addNode(firstNode);
20 }
21
22 public void addNode(Node n) {
23 nodes.addElement(n);
24 }
25
26 public Enumeration<Node> elements() { return nodes.elements(); }
27 public Node elementAt(int i) { return nodes.elementAt(i); }
28 public int size() { return nodes.size(); }
29 public void accept(org.gnunet.seaspider.parser.visitors.Visitor v) {
30 v.visit(this);
31 }
32 public <R,A> R accept(org.gnunet.seaspider.parser.visitors.GJVisitor<R,A> v, A argu) {
33 return v.visit(this,argu);
34 }
35 public <R> R accept(org.gnunet.seaspider.parser.visitors.GJNoArguVisitor<R> v) {
36 return v.visit(this);
37 }
38 public <A> void accept(org.gnunet.seaspider.parser.visitors.GJVoidVisitor<A> v, A argu) {
39 v.visit(this,argu);
40 }
41
42 public Vector<Node> nodes;
43}
44
diff --git a/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/NodeListInterface.java b/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/NodeListInterface.java
new file mode 100644
index 000000000..5b37ab566
--- /dev/null
+++ b/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/NodeListInterface.java
@@ -0,0 +1,22 @@
1//
2// Generated by JTB 1.3.2
3//
4
5package org.gnunet.seaspider.parser.nodes;
6
7/**
8 * The interface which NodeList, NodeListOptional, and NodeSequence
9 * implement.
10 */
11public interface NodeListInterface extends Node {
12 public void addNode(Node n);
13 public Node elementAt(int i);
14 public java.util.Enumeration<Node> elements();
15 public int size();
16
17 public void accept(org.gnunet.seaspider.parser.visitors.Visitor v);
18 public <R,A> R accept(org.gnunet.seaspider.parser.visitors.GJVisitor<R,A> v, A argu);
19 public <R> R accept(org.gnunet.seaspider.parser.visitors.GJNoArguVisitor<R> v);
20 public <A> void accept(org.gnunet.seaspider.parser.visitors.GJVoidVisitor<A> v, A argu);
21}
22
diff --git a/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/NodeListOptional.java b/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/NodeListOptional.java
new file mode 100644
index 000000000..73ca45fd4
--- /dev/null
+++ b/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/NodeListOptional.java
@@ -0,0 +1,45 @@
1//
2// Generated by JTB 1.3.2
3//
4
5package org.gnunet.seaspider.parser.nodes;
6
7import java.util.*;
8
9/**
10 * Represents an optional grammar list, e.g. ( A )*
11 */
12public class NodeListOptional implements NodeListInterface {
13 public NodeListOptional() {
14 nodes = new Vector<Node>();
15 }
16
17 public NodeListOptional(Node firstNode) {
18 nodes = new Vector<Node>();
19 addNode(firstNode);
20 }
21
22 public void addNode(Node n) {
23 nodes.addElement(n);
24 }
25
26 public Enumeration<Node> elements() { return nodes.elements(); }
27 public Node elementAt(int i) { return nodes.elementAt(i); }
28 public int size() { return nodes.size(); }
29 public boolean present() { return nodes.size() != 0; }
30 public void accept(org.gnunet.seaspider.parser.visitors.Visitor v) {
31 v.visit(this);
32 }
33 public <R,A> R accept(org.gnunet.seaspider.parser.visitors.GJVisitor<R,A> v, A argu) {
34 return v.visit(this,argu);
35 }
36 public <R> R accept(org.gnunet.seaspider.parser.visitors.GJNoArguVisitor<R> v) {
37 return v.visit(this);
38 }
39 public <A> void accept(org.gnunet.seaspider.parser.visitors.GJVoidVisitor<A> v, A argu) {
40 v.visit(this,argu);
41 }
42
43 public Vector<Node> nodes;
44}
45
diff --git a/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/NodeOptional.java b/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/NodeOptional.java
new file mode 100644
index 000000000..364c7c6c2
--- /dev/null
+++ b/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/NodeOptional.java
@@ -0,0 +1,41 @@
1//
2// Generated by JTB 1.3.2
3//
4
5package org.gnunet.seaspider.parser.nodes;
6
7/**
8 * Represents an grammar optional node, e.g. ( A )? or [ A ]
9 */
10public class NodeOptional implements Node {
11 public NodeOptional() {
12 node = null;
13 }
14
15 public NodeOptional(Node n) {
16 addNode(n);
17 }
18
19 public void addNode(Node n) {
20 if ( node != null) // Oh oh!
21 throw new Error("Attempt to set optional node twice");
22
23 node = n;
24 }
25 public void accept(org.gnunet.seaspider.parser.visitors.Visitor v) {
26 v.visit(this);
27 }
28 public <R,A> R accept(org.gnunet.seaspider.parser.visitors.GJVisitor<R,A> v, A argu) {
29 return v.visit(this,argu);
30 }
31 public <R> R accept(org.gnunet.seaspider.parser.visitors.GJNoArguVisitor<R> v) {
32 return v.visit(this);
33 }
34 public <A> void accept(org.gnunet.seaspider.parser.visitors.GJVoidVisitor<A> v, A argu) {
35 v.visit(this,argu);
36 }
37 public boolean present() { return node != null; }
38
39 public Node node;
40}
41
diff --git a/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/NodeSequence.java b/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/NodeSequence.java
new file mode 100644
index 000000000..63c09786a
--- /dev/null
+++ b/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/NodeSequence.java
@@ -0,0 +1,45 @@
1//
2// Generated by JTB 1.3.2
3//
4
5package org.gnunet.seaspider.parser.nodes;
6
7import java.util.*;
8
9/**
10 * Represents a sequence of nodes nested within a choice, list,
11 * optional list, or optional, e.g. ( A B )+ or [ C D E ]
12 */
13public class NodeSequence implements NodeListInterface {
14 public NodeSequence(int n) {
15 nodes = new Vector<Node>(n);
16 }
17
18 public NodeSequence(Node firstNode) {
19 nodes = new Vector<Node>();
20 addNode(firstNode);
21 }
22
23 public void addNode(Node n) {
24 nodes.addElement(n);
25 }
26
27 public Node elementAt(int i) { return nodes.elementAt(i); }
28 public Enumeration<Node> elements() { return nodes.elements(); }
29 public int size() { return nodes.size(); }
30 public void accept(org.gnunet.seaspider.parser.visitors.Visitor v) {
31 v.visit(this);
32 }
33 public <R,A> R accept(org.gnunet.seaspider.parser.visitors.GJVisitor<R,A> v, A argu) {
34 return v.visit(this,argu);
35 }
36 public <R> R accept(org.gnunet.seaspider.parser.visitors.GJNoArguVisitor<R> v) {
37 return v.visit(this);
38 }
39 public <A> void accept(org.gnunet.seaspider.parser.visitors.GJVoidVisitor<A> v, A argu) {
40 v.visit(this,argu);
41 }
42
43 public Vector<Node> nodes;
44}
45
diff --git a/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/NodeToken.java b/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/NodeToken.java
new file mode 100644
index 000000000..90db44d7a
--- /dev/null
+++ b/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/NodeToken.java
@@ -0,0 +1,87 @@
1//
2// Generated by JTB 1.3.2
3//
4
5package org.gnunet.seaspider.parser.nodes;
6
7import java.util.*;
8/**
9 * Represents a single token in the grammar. If the "-tk" option
10 * is used, also contains a Vector of preceding special tokens.
11 */
12public class NodeToken implements Node {
13 public NodeToken(String s) {
14 this(s, -1, -1, -1, -1, -1); }
15
16 public NodeToken(String s, int kind, int beginLine, int beginColumn, int endLine, int endColumn) {
17 tokenImage = s;
18 specialTokens = null;
19 this.kind = kind;
20 this.beginLine = beginLine;
21 this.beginColumn = beginColumn;
22 this.endLine = endLine;
23 this.endColumn = endColumn;
24 }
25
26 public NodeToken getSpecialAt(int i) {
27 if ( specialTokens == null )
28 throw new java.util.NoSuchElementException("No specials in token");
29 return specialTokens.elementAt(i);
30 }
31
32 public int numSpecials() {
33 if ( specialTokens == null ) return 0;
34 return specialTokens.size();
35 }
36
37 public void addSpecial(NodeToken s) {
38 if ( specialTokens == null ) specialTokens = new Vector<NodeToken>();
39 specialTokens.addElement(s);
40 }
41
42 public void trimSpecials() {
43 if ( specialTokens == null ) return;
44 specialTokens.trimToSize();
45 }
46
47 public String toString() { return tokenImage; }
48
49 public String withSpecials() {
50 if ( specialTokens == null )
51 return tokenImage;
52
53 StringBuffer buf = new StringBuffer();
54
55 for ( Enumeration<NodeToken> e = specialTokens.elements(); e.hasMoreElements(); )
56 buf.append(e.nextElement().toString());
57
58 buf.append(tokenImage);
59 return buf.toString();
60 }
61
62 public void accept(org.gnunet.seaspider.parser.visitors.Visitor v) {
63 v.visit(this);
64 }
65 public <R,A> R accept(org.gnunet.seaspider.parser.visitors.GJVisitor<R,A> v, A argu) {
66 return v.visit(this,argu);
67 }
68 public <R> R accept(org.gnunet.seaspider.parser.visitors.GJNoArguVisitor<R> v) {
69 return v.visit(this);
70 }
71 public <A> void accept(org.gnunet.seaspider.parser.visitors.GJVoidVisitor<A> v, A argu) {
72 v.visit(this,argu);
73 }
74
75 public String tokenImage;
76
77 // Stores a list of NodeTokens
78 public Vector<NodeToken> specialTokens;
79
80 // -1 for these ints means no position info is available.
81 public int beginLine, beginColumn, endLine, endColumn;
82
83 // Equal to the JavaCC token "kind" integer.
84 // -1 if not available.
85 public int kind;
86}
87
diff --git a/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/ParameterDeclaration.java b/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/ParameterDeclaration.java
new file mode 100644
index 000000000..da7a71d44
--- /dev/null
+++ b/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/ParameterDeclaration.java
@@ -0,0 +1,39 @@
1//
2// Generated by JTB 1.3.2
3//
4
5package org.gnunet.seaspider.parser.nodes;
6
7/**
8 * Grammar production:
9 * <PRE>
10 * f0 -> TypeSpecifier()
11 * f1 -> &lt;IDENTIFIER&gt;
12 * f2 -> [ Array() ]
13 * </PRE>
14 */
15public class ParameterDeclaration implements Node {
16 public TypeSpecifier f0;
17 public NodeToken f1;
18 public NodeOptional f2;
19
20 public ParameterDeclaration(TypeSpecifier n0, NodeToken n1, NodeOptional n2) {
21 f0 = n0;
22 f1 = n1;
23 f2 = n2;
24 }
25
26 public void accept(org.gnunet.seaspider.parser.visitors.Visitor v) {
27 v.visit(this);
28 }
29 public <R,A> R accept(org.gnunet.seaspider.parser.visitors.GJVisitor<R,A> v, A argu) {
30 return v.visit(this,argu);
31 }
32 public <R> R accept(org.gnunet.seaspider.parser.visitors.GJNoArguVisitor<R> v) {
33 return v.visit(this);
34 }
35 public <A> void accept(org.gnunet.seaspider.parser.visitors.GJVoidVisitor<A> v, A argu) {
36 v.visit(this,argu);
37 }
38}
39
diff --git a/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/ParameterList.java b/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/ParameterList.java
new file mode 100644
index 000000000..d92fd41ff
--- /dev/null
+++ b/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/ParameterList.java
@@ -0,0 +1,39 @@
1//
2// Generated by JTB 1.3.2
3//
4
5package org.gnunet.seaspider.parser.nodes;
6
7/**
8 * Grammar production:
9 * <PRE>
10 * f0 -> ParameterDeclaration()
11 * f1 -> ( "," ParameterDeclaration() )*
12 * f2 -> [ "," "..." ]
13 * </PRE>
14 */
15public class ParameterList implements Node {
16 public ParameterDeclaration f0;
17 public NodeListOptional f1;
18 public NodeOptional f2;
19
20 public ParameterList(ParameterDeclaration n0, NodeListOptional n1, NodeOptional n2) {
21 f0 = n0;
22 f1 = n1;
23 f2 = n2;
24 }
25
26 public void accept(org.gnunet.seaspider.parser.visitors.Visitor v) {
27 v.visit(this);
28 }
29 public <R,A> R accept(org.gnunet.seaspider.parser.visitors.GJVisitor<R,A> v, A argu) {
30 return v.visit(this,argu);
31 }
32 public <R> R accept(org.gnunet.seaspider.parser.visitors.GJNoArguVisitor<R> v) {
33 return v.visit(this);
34 }
35 public <A> void accept(org.gnunet.seaspider.parser.visitors.GJVoidVisitor<A> v, A argu) {
36 v.visit(this,argu);
37 }
38}
39
diff --git a/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/Pointer.java b/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/Pointer.java
new file mode 100644
index 000000000..56f175eb1
--- /dev/null
+++ b/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/Pointer.java
@@ -0,0 +1,45 @@
1//
2// Generated by JTB 1.3.2
3//
4
5package org.gnunet.seaspider.parser.nodes;
6
7/**
8 * Grammar production:
9 * <PRE>
10 * f0 -> "*"
11 * f1 -> [ &lt;CONST&gt; ]
12 * f2 -> [ Pointer() ]
13 * </PRE>
14 */
15public class Pointer implements Node {
16 public NodeToken f0;
17 public NodeOptional f1;
18 public NodeOptional f2;
19
20 public Pointer(NodeToken n0, NodeOptional n1, NodeOptional n2) {
21 f0 = n0;
22 f1 = n1;
23 f2 = n2;
24 }
25
26 public Pointer(NodeOptional n0, NodeOptional n1) {
27 f0 = new NodeToken("*");
28 f1 = n0;
29 f2 = n1;
30 }
31
32 public void accept(org.gnunet.seaspider.parser.visitors.Visitor v) {
33 v.visit(this);
34 }
35 public <R,A> R accept(org.gnunet.seaspider.parser.visitors.GJVisitor<R,A> v, A argu) {
36 return v.visit(this,argu);
37 }
38 public <R> R accept(org.gnunet.seaspider.parser.visitors.GJNoArguVisitor<R> v) {
39 return v.visit(this);
40 }
41 public <A> void accept(org.gnunet.seaspider.parser.visitors.GJVoidVisitor<A> v, A argu) {
42 v.visit(this,argu);
43 }
44}
45
diff --git a/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/PostfixExpression.java b/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/PostfixExpression.java
new file mode 100644
index 000000000..52e141504
--- /dev/null
+++ b/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/PostfixExpression.java
@@ -0,0 +1,36 @@
1//
2// Generated by JTB 1.3.2
3//
4
5package org.gnunet.seaspider.parser.nodes;
6
7/**
8 * Grammar production:
9 * <PRE>
10 * f0 -> PrimaryExpression()
11 * f1 -> ( "[" Expression() "]" | "(" [ ArgumentExpressionList() ] ")" | "." &lt;IDENTIFIER&gt; | "-&gt;" &lt;IDENTIFIER&gt; | "++" | "--" )*
12 * </PRE>
13 */
14public class PostfixExpression implements Node {
15 public PrimaryExpression f0;
16 public NodeListOptional f1;
17
18 public PostfixExpression(PrimaryExpression n0, NodeListOptional n1) {
19 f0 = n0;
20 f1 = n1;
21 }
22
23 public void accept(org.gnunet.seaspider.parser.visitors.Visitor v) {
24 v.visit(this);
25 }
26 public <R,A> R accept(org.gnunet.seaspider.parser.visitors.GJVisitor<R,A> v, A argu) {
27 return v.visit(this,argu);
28 }
29 public <R> R accept(org.gnunet.seaspider.parser.visitors.GJNoArguVisitor<R> v) {
30 return v.visit(this);
31 }
32 public <A> void accept(org.gnunet.seaspider.parser.visitors.GJVoidVisitor<A> v, A argu) {
33 v.visit(this,argu);
34 }
35}
36
diff --git a/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/PrimaryExpression.java b/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/PrimaryExpression.java
new file mode 100644
index 000000000..fb953dccd
--- /dev/null
+++ b/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/PrimaryExpression.java
@@ -0,0 +1,35 @@
1//
2// Generated by JTB 1.3.2
3//
4
5package org.gnunet.seaspider.parser.nodes;
6
7/**
8 * Grammar production:
9 * <PRE>
10 * f0 -> &lt;IDENTIFIER&gt;
11 * | Constant()
12 * | "(" Expression() ")"
13 * </PRE>
14 */
15public class PrimaryExpression implements Node {
16 public NodeChoice f0;
17
18 public PrimaryExpression(NodeChoice n0) {
19 f0 = n0;
20 }
21
22 public void accept(org.gnunet.seaspider.parser.visitors.Visitor v) {
23 v.visit(this);
24 }
25 public <R,A> R accept(org.gnunet.seaspider.parser.visitors.GJVisitor<R,A> v, A argu) {
26 return v.visit(this,argu);
27 }
28 public <R> R accept(org.gnunet.seaspider.parser.visitors.GJNoArguVisitor<R> v) {
29 return v.visit(this);
30 }
31 public <A> void accept(org.gnunet.seaspider.parser.visitors.GJVoidVisitor<A> v, A argu) {
32 v.visit(this,argu);
33 }
34}
35
diff --git a/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/RelationalExpression.java b/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/RelationalExpression.java
new file mode 100644
index 000000000..5b823077b
--- /dev/null
+++ b/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/RelationalExpression.java
@@ -0,0 +1,36 @@
1//
2// Generated by JTB 1.3.2
3//
4
5package org.gnunet.seaspider.parser.nodes;
6
7/**
8 * Grammar production:
9 * <PRE>
10 * f0 -> ShiftExpression()
11 * f1 -> [ ( "&lt;" | "&gt;" | "&lt;=" | "&gt;=" ) RelationalExpression() ]
12 * </PRE>
13 */
14public class RelationalExpression implements Node {
15 public ShiftExpression f0;
16 public NodeOptional f1;
17
18 public RelationalExpression(ShiftExpression n0, NodeOptional n1) {
19 f0 = n0;
20 f1 = n1;
21 }
22
23 public void accept(org.gnunet.seaspider.parser.visitors.Visitor v) {
24 v.visit(this);
25 }
26 public <R,A> R accept(org.gnunet.seaspider.parser.visitors.GJVisitor<R,A> v, A argu) {
27 return v.visit(this,argu);
28 }
29 public <R> R accept(org.gnunet.seaspider.parser.visitors.GJNoArguVisitor<R> v) {
30 return v.visit(this);
31 }
32 public <A> void accept(org.gnunet.seaspider.parser.visitors.GJVoidVisitor<A> v, A argu) {
33 v.visit(this,argu);
34 }
35}
36
diff --git a/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/SelectionStatement.java b/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/SelectionStatement.java
new file mode 100644
index 000000000..e3da4cf34
--- /dev/null
+++ b/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/SelectionStatement.java
@@ -0,0 +1,33 @@
1//
2// Generated by JTB 1.3.2
3//
4
5package org.gnunet.seaspider.parser.nodes;
6
7/**
8 * Grammar production:
9 * <PRE>
10 * f0 -> ( &lt;IF&gt; "(" Expression() ")" Statement() [ &lt;ELSE&gt; Statement() ] | &lt;SWITCH&gt; "(" Expression() ")" Statement() )
11 * </PRE>
12 */
13public class SelectionStatement implements Node {
14 public NodeChoice f0;
15
16 public SelectionStatement(NodeChoice n0) {
17 f0 = n0;
18 }
19
20 public void accept(org.gnunet.seaspider.parser.visitors.Visitor v) {
21 v.visit(this);
22 }
23 public <R,A> R accept(org.gnunet.seaspider.parser.visitors.GJVisitor<R,A> v, A argu) {
24 return v.visit(this,argu);
25 }
26 public <R> R accept(org.gnunet.seaspider.parser.visitors.GJNoArguVisitor<R> v) {
27 return v.visit(this);
28 }
29 public <A> void accept(org.gnunet.seaspider.parser.visitors.GJVoidVisitor<A> v, A argu) {
30 v.visit(this,argu);
31 }
32}
33
diff --git a/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/ShiftExpression.java b/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/ShiftExpression.java
new file mode 100644
index 000000000..b3c9e5b0f
--- /dev/null
+++ b/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/ShiftExpression.java
@@ -0,0 +1,36 @@
1//
2// Generated by JTB 1.3.2
3//
4
5package org.gnunet.seaspider.parser.nodes;
6
7/**
8 * Grammar production:
9 * <PRE>
10 * f0 -> AdditiveExpression()
11 * f1 -> [ ( "&lt;&lt;" | "&gt;&gt;" ) ShiftExpression() ]
12 * </PRE>
13 */
14public class ShiftExpression implements Node {
15 public AdditiveExpression f0;
16 public NodeOptional f1;
17
18 public ShiftExpression(AdditiveExpression n0, NodeOptional n1) {
19 f0 = n0;
20 f1 = n1;
21 }
22
23 public void accept(org.gnunet.seaspider.parser.visitors.Visitor v) {
24 v.visit(this);
25 }
26 public <R,A> R accept(org.gnunet.seaspider.parser.visitors.GJVisitor<R,A> v, A argu) {
27 return v.visit(this,argu);
28 }
29 public <R> R accept(org.gnunet.seaspider.parser.visitors.GJNoArguVisitor<R> v) {
30 return v.visit(this);
31 }
32 public <A> void accept(org.gnunet.seaspider.parser.visitors.GJVoidVisitor<A> v, A argu) {
33 v.visit(this,argu);
34 }
35}
36
diff --git a/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/Statement.java b/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/Statement.java
new file mode 100644
index 000000000..27148dfe7
--- /dev/null
+++ b/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/Statement.java
@@ -0,0 +1,33 @@
1//
2// Generated by JTB 1.3.2
3//
4
5package org.gnunet.seaspider.parser.nodes;
6
7/**
8 * Grammar production:
9 * <PRE>
10 * f0 -> ( LabeledStatement() | ExpressionStatement() | CompoundStatement() | SelectionStatement() | IterationStatement() | JumpStatement() )
11 * </PRE>
12 */
13public class Statement implements Node {
14 public NodeChoice f0;
15
16 public Statement(NodeChoice n0) {
17 f0 = n0;
18 }
19
20 public void accept(org.gnunet.seaspider.parser.visitors.Visitor v) {
21 v.visit(this);
22 }
23 public <R,A> R accept(org.gnunet.seaspider.parser.visitors.GJVisitor<R,A> v, A argu) {
24 return v.visit(this,argu);
25 }
26 public <R> R accept(org.gnunet.seaspider.parser.visitors.GJNoArguVisitor<R> v) {
27 return v.visit(this);
28 }
29 public <A> void accept(org.gnunet.seaspider.parser.visitors.GJVoidVisitor<A> v, A argu) {
30 v.visit(this,argu);
31 }
32}
33
diff --git a/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/StorageClassSpecifier.java b/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/StorageClassSpecifier.java
new file mode 100644
index 000000000..223839f96
--- /dev/null
+++ b/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/StorageClassSpecifier.java
@@ -0,0 +1,33 @@
1//
2// Generated by JTB 1.3.2
3//
4
5package org.gnunet.seaspider.parser.nodes;
6
7/**
8 * Grammar production:
9 * <PRE>
10 * f0 -> ( &lt;STATIC&gt; | &lt;EXTERN&gt; )
11 * </PRE>
12 */
13public class StorageClassSpecifier implements Node {
14 public NodeChoice f0;
15
16 public StorageClassSpecifier(NodeChoice n0) {
17 f0 = n0;
18 }
19
20 public void accept(org.gnunet.seaspider.parser.visitors.Visitor v) {
21 v.visit(this);
22 }
23 public <R,A> R accept(org.gnunet.seaspider.parser.visitors.GJVisitor<R,A> v, A argu) {
24 return v.visit(this,argu);
25 }
26 public <R> R accept(org.gnunet.seaspider.parser.visitors.GJNoArguVisitor<R> v) {
27 return v.visit(this);
28 }
29 public <A> void accept(org.gnunet.seaspider.parser.visitors.GJVoidVisitor<A> v, A argu) {
30 v.visit(this,argu);
31 }
32}
33
diff --git a/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/StructDeclaration.java b/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/StructDeclaration.java
new file mode 100644
index 000000000..074ec4266
--- /dev/null
+++ b/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/StructDeclaration.java
@@ -0,0 +1,53 @@
1//
2// Generated by JTB 1.3.2
3//
4
5package org.gnunet.seaspider.parser.nodes;
6
7/**
8 * Grammar production:
9 * <PRE>
10 * f0 -> TypeSpecifier()
11 * f1 -> &lt;IDENTIFIER&gt;
12 * f2 -> [ Array() | ":" ConstantExpression() ]
13 * f3 -> [ &lt;IDENTIFIER&gt; ]
14 * f4 -> ";"
15 * </PRE>
16 */
17public class StructDeclaration implements Node {
18 public TypeSpecifier f0;
19 public NodeToken f1;
20 public NodeOptional f2;
21 public NodeOptional f3;
22 public NodeToken f4;
23
24 public StructDeclaration(TypeSpecifier n0, NodeToken n1, NodeOptional n2, NodeOptional n3, NodeToken n4) {
25 f0 = n0;
26 f1 = n1;
27 f2 = n2;
28 f3 = n3;
29 f4 = n4;
30 }
31
32 public StructDeclaration(TypeSpecifier n0, NodeToken n1, NodeOptional n2, NodeOptional n3) {
33 f0 = n0;
34 f1 = n1;
35 f2 = n2;
36 f3 = n3;
37 f4 = new NodeToken(";");
38 }
39
40 public void accept(org.gnunet.seaspider.parser.visitors.Visitor v) {
41 v.visit(this);
42 }
43 public <R,A> R accept(org.gnunet.seaspider.parser.visitors.GJVisitor<R,A> v, A argu) {
44 return v.visit(this,argu);
45 }
46 public <R> R accept(org.gnunet.seaspider.parser.visitors.GJNoArguVisitor<R> v) {
47 return v.visit(this);
48 }
49 public <A> void accept(org.gnunet.seaspider.parser.visitors.GJVoidVisitor<A> v, A argu) {
50 v.visit(this,argu);
51 }
52}
53
diff --git a/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/StructDeclarationList.java b/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/StructDeclarationList.java
new file mode 100644
index 000000000..32d081495
--- /dev/null
+++ b/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/StructDeclarationList.java
@@ -0,0 +1,33 @@
1//
2// Generated by JTB 1.3.2
3//
4
5package org.gnunet.seaspider.parser.nodes;
6
7/**
8 * Grammar production:
9 * <PRE>
10 * f0 -> ( StructDeclaration() )+
11 * </PRE>
12 */
13public class StructDeclarationList implements Node {
14 public NodeList f0;
15
16 public StructDeclarationList(NodeList n0) {
17 f0 = n0;
18 }
19
20 public void accept(org.gnunet.seaspider.parser.visitors.Visitor v) {
21 v.visit(this);
22 }
23 public <R,A> R accept(org.gnunet.seaspider.parser.visitors.GJVisitor<R,A> v, A argu) {
24 return v.visit(this,argu);
25 }
26 public <R> R accept(org.gnunet.seaspider.parser.visitors.GJNoArguVisitor<R> v) {
27 return v.visit(this);
28 }
29 public <A> void accept(org.gnunet.seaspider.parser.visitors.GJVoidVisitor<A> v, A argu) {
30 v.visit(this,argu);
31 }
32}
33
diff --git a/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/StructOrUnion.java b/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/StructOrUnion.java
new file mode 100644
index 000000000..2131d7a6b
--- /dev/null
+++ b/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/StructOrUnion.java
@@ -0,0 +1,33 @@
1//
2// Generated by JTB 1.3.2
3//
4
5package org.gnunet.seaspider.parser.nodes;
6
7/**
8 * Grammar production:
9 * <PRE>
10 * f0 -> ( &lt;STRUCT&gt; | &lt;UNION&gt; )
11 * </PRE>
12 */
13public class StructOrUnion implements Node {
14 public NodeChoice f0;
15
16 public StructOrUnion(NodeChoice n0) {
17 f0 = n0;
18 }
19
20 public void accept(org.gnunet.seaspider.parser.visitors.Visitor v) {
21 v.visit(this);
22 }
23 public <R,A> R accept(org.gnunet.seaspider.parser.visitors.GJVisitor<R,A> v, A argu) {
24 return v.visit(this,argu);
25 }
26 public <R> R accept(org.gnunet.seaspider.parser.visitors.GJNoArguVisitor<R> v) {
27 return v.visit(this);
28 }
29 public <A> void accept(org.gnunet.seaspider.parser.visitors.GJVoidVisitor<A> v, A argu) {
30 v.visit(this,argu);
31 }
32}
33
diff --git a/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/StructOrUnionSpecifier.java b/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/StructOrUnionSpecifier.java
new file mode 100644
index 000000000..aa64929be
--- /dev/null
+++ b/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/StructOrUnionSpecifier.java
@@ -0,0 +1,34 @@
1//
2// Generated by JTB 1.3.2
3//
4
5package org.gnunet.seaspider.parser.nodes;
6
7/**
8 * Grammar production:
9 * <PRE>
10 * f0 -> StructOrUnion() [ &lt;IDENTIFIER&gt; ] "{" StructDeclarationList() "}"
11 * | StructOrUnion() &lt;IDENTIFIER&gt;
12 * </PRE>
13 */
14public class StructOrUnionSpecifier implements Node {
15 public NodeChoice f0;
16
17 public StructOrUnionSpecifier(NodeChoice n0) {
18 f0 = n0;
19 }
20
21 public void accept(org.gnunet.seaspider.parser.visitors.Visitor v) {
22 v.visit(this);
23 }
24 public <R,A> R accept(org.gnunet.seaspider.parser.visitors.GJVisitor<R,A> v, A argu) {
25 return v.visit(this,argu);
26 }
27 public <R> R accept(org.gnunet.seaspider.parser.visitors.GJNoArguVisitor<R> v) {
28 return v.visit(this);
29 }
30 public <A> void accept(org.gnunet.seaspider.parser.visitors.GJVoidVisitor<A> v, A argu) {
31 v.visit(this,argu);
32 }
33}
34
diff --git a/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/TranslationUnit.java b/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/TranslationUnit.java
new file mode 100644
index 000000000..feb48f646
--- /dev/null
+++ b/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/TranslationUnit.java
@@ -0,0 +1,33 @@
1//
2// Generated by JTB 1.3.2
3//
4
5package org.gnunet.seaspider.parser.nodes;
6
7/**
8 * Grammar production:
9 * <PRE>
10 * f0 -> ( ExternalDeclaration() )+
11 * </PRE>
12 */
13public class TranslationUnit implements Node {
14 public NodeList f0;
15
16 public TranslationUnit(NodeList n0) {
17 f0 = n0;
18 }
19
20 public void accept(org.gnunet.seaspider.parser.visitors.Visitor v) {
21 v.visit(this);
22 }
23 public <R,A> R accept(org.gnunet.seaspider.parser.visitors.GJVisitor<R,A> v, A argu) {
24 return v.visit(this,argu);
25 }
26 public <R> R accept(org.gnunet.seaspider.parser.visitors.GJNoArguVisitor<R> v) {
27 return v.visit(this);
28 }
29 public <A> void accept(org.gnunet.seaspider.parser.visitors.GJVoidVisitor<A> v, A argu) {
30 v.visit(this,argu);
31 }
32}
33
diff --git a/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/TypeDeclaration.java b/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/TypeDeclaration.java
new file mode 100644
index 000000000..500aecaf3
--- /dev/null
+++ b/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/TypeDeclaration.java
@@ -0,0 +1,45 @@
1//
2// Generated by JTB 1.3.2
3//
4
5package org.gnunet.seaspider.parser.nodes;
6
7/**
8 * Grammar production:
9 * <PRE>
10 * f0 -> &lt;TYPEDEF&gt;
11 * f1 -> ( DataType() | FunctionType() )
12 * f2 -> ";"
13 * </PRE>
14 */
15public class TypeDeclaration implements Node {
16 public NodeToken f0;
17 public NodeChoice f1;
18 public NodeToken f2;
19
20 public TypeDeclaration(NodeToken n0, NodeChoice n1, NodeToken n2) {
21 f0 = n0;
22 f1 = n1;
23 f2 = n2;
24 }
25
26 public TypeDeclaration(NodeChoice n0) {
27 f0 = new NodeToken("typedef");
28 f1 = n0;
29 f2 = new NodeToken(";");
30 }
31
32 public void accept(org.gnunet.seaspider.parser.visitors.Visitor v) {
33 v.visit(this);
34 }
35 public <R,A> R accept(org.gnunet.seaspider.parser.visitors.GJVisitor<R,A> v, A argu) {
36 return v.visit(this,argu);
37 }
38 public <R> R accept(org.gnunet.seaspider.parser.visitors.GJNoArguVisitor<R> v) {
39 return v.visit(this);
40 }
41 public <A> void accept(org.gnunet.seaspider.parser.visitors.GJVoidVisitor<A> v, A argu) {
42 v.visit(this,argu);
43 }
44}
45
diff --git a/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/TypeSpecifier.java b/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/TypeSpecifier.java
new file mode 100644
index 000000000..6d1607d1a
--- /dev/null
+++ b/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/TypeSpecifier.java
@@ -0,0 +1,42 @@
1//
2// Generated by JTB 1.3.2
3//
4
5package org.gnunet.seaspider.parser.nodes;
6
7/**
8 * Grammar production:
9 * <PRE>
10 * f0 -> [ &lt;CONST&gt; ]
11 * f1 -> ( &lt;VOID&gt; | &lt;CHAR&gt; | &lt;SHORT&gt; [ &lt;INT&gt; ] | &lt;INT&gt; | &lt;LONG&gt; [ &lt;LONG&gt; ] | &lt;FLOAT&gt; | &lt;DOUBLE&gt; | ( &lt;SIGNED&gt; | &lt;UNSIGNED&gt; ) [ &lt;CHAR&gt; | &lt;SHORT&gt; [ &lt;INT&gt; ] | &lt;INT&gt; | &lt;LONG&gt; [ &lt;LONG&gt; ] ] | StructOrUnionSpecifier() | EnumSpecifier() | &lt;IDENTIFIER&gt; )
12 * f2 -> [ Pointer() ]
13 * f3 -> [ Array() ]
14 * </PRE>
15 */
16public class TypeSpecifier implements Node {
17 public NodeOptional f0;
18 public NodeChoice f1;
19 public NodeOptional f2;
20 public NodeOptional f3;
21
22 public TypeSpecifier(NodeOptional n0, NodeChoice n1, NodeOptional n2, NodeOptional n3) {
23 f0 = n0;
24 f1 = n1;
25 f2 = n2;
26 f3 = n3;
27 }
28
29 public void accept(org.gnunet.seaspider.parser.visitors.Visitor v) {
30 v.visit(this);
31 }
32 public <R,A> R accept(org.gnunet.seaspider.parser.visitors.GJVisitor<R,A> v, A argu) {
33 return v.visit(this,argu);
34 }
35 public <R> R accept(org.gnunet.seaspider.parser.visitors.GJNoArguVisitor<R> v) {
36 return v.visit(this);
37 }
38 public <A> void accept(org.gnunet.seaspider.parser.visitors.GJVoidVisitor<A> v, A argu) {
39 v.visit(this,argu);
40 }
41}
42
diff --git a/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/UnaryExpression.java b/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/UnaryExpression.java
new file mode 100644
index 000000000..1e7894e23
--- /dev/null
+++ b/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/UnaryExpression.java
@@ -0,0 +1,33 @@
1//
2// Generated by JTB 1.3.2
3//
4
5package org.gnunet.seaspider.parser.nodes;
6
7/**
8 * Grammar production:
9 * <PRE>
10 * f0 -> ( PostfixExpression() | "++" UnaryExpression() | "--" UnaryExpression() | UnaryOperator() CastExpression() | &lt;SIZEOF&gt; ( UnaryExpression() | "(" TypeSpecifier() ")" ) )
11 * </PRE>
12 */
13public class UnaryExpression implements Node {
14 public NodeChoice f0;
15
16 public UnaryExpression(NodeChoice n0) {
17 f0 = n0;
18 }
19
20 public void accept(org.gnunet.seaspider.parser.visitors.Visitor v) {
21 v.visit(this);
22 }
23 public <R,A> R accept(org.gnunet.seaspider.parser.visitors.GJVisitor<R,A> v, A argu) {
24 return v.visit(this,argu);
25 }
26 public <R> R accept(org.gnunet.seaspider.parser.visitors.GJNoArguVisitor<R> v) {
27 return v.visit(this);
28 }
29 public <A> void accept(org.gnunet.seaspider.parser.visitors.GJVoidVisitor<A> v, A argu) {
30 v.visit(this,argu);
31 }
32}
33
diff --git a/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/UnaryOperator.java b/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/UnaryOperator.java
new file mode 100644
index 000000000..630af9d21
--- /dev/null
+++ b/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/UnaryOperator.java
@@ -0,0 +1,33 @@
1//
2// Generated by JTB 1.3.2
3//
4
5package org.gnunet.seaspider.parser.nodes;
6
7/**
8 * Grammar production:
9 * <PRE>
10 * f0 -> ( "&" | "*" | "+" | "-" | "~" | "!" )
11 * </PRE>
12 */
13public class UnaryOperator implements Node {
14 public NodeChoice f0;
15
16 public UnaryOperator(NodeChoice n0) {
17 f0 = n0;
18 }
19
20 public void accept(org.gnunet.seaspider.parser.visitors.Visitor v) {
21 v.visit(this);
22 }
23 public <R,A> R accept(org.gnunet.seaspider.parser.visitors.GJVisitor<R,A> v, A argu) {
24 return v.visit(this,argu);
25 }
26 public <R> R accept(org.gnunet.seaspider.parser.visitors.GJNoArguVisitor<R> v) {
27 return v.visit(this);
28 }
29 public <A> void accept(org.gnunet.seaspider.parser.visitors.GJVoidVisitor<A> v, A argu) {
30 v.visit(this,argu);
31 }
32}
33
diff --git a/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/VariableClassSpecifier.java b/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/VariableClassSpecifier.java
new file mode 100644
index 000000000..5a9101937
--- /dev/null
+++ b/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/VariableClassSpecifier.java
@@ -0,0 +1,33 @@
1//
2// Generated by JTB 1.3.2
3//
4
5package org.gnunet.seaspider.parser.nodes;
6
7/**
8 * Grammar production:
9 * <PRE>
10 * f0 -> ( &lt;AUTO&gt; | &lt;REGISTER&gt; )*
11 * </PRE>
12 */
13public class VariableClassSpecifier implements Node {
14 public NodeListOptional f0;
15
16 public VariableClassSpecifier(NodeListOptional n0) {
17 f0 = n0;
18 }
19
20 public void accept(org.gnunet.seaspider.parser.visitors.Visitor v) {
21 v.visit(this);
22 }
23 public <R,A> R accept(org.gnunet.seaspider.parser.visitors.GJVisitor<R,A> v, A argu) {
24 return v.visit(this,argu);
25 }
26 public <R> R accept(org.gnunet.seaspider.parser.visitors.GJNoArguVisitor<R> v) {
27 return v.visit(this);
28 }
29 public <A> void accept(org.gnunet.seaspider.parser.visitors.GJVoidVisitor<A> v, A argu) {
30 v.visit(this,argu);
31 }
32}
33
diff --git a/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/VariableDeclaration.java b/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/VariableDeclaration.java
new file mode 100644
index 000000000..aa7cf6e32
--- /dev/null
+++ b/src/monkey/seaspider/org/gnunet/seaspider/parser/nodes/VariableDeclaration.java
@@ -0,0 +1,49 @@
1//
2// Generated by JTB 1.3.2
3//
4
5package org.gnunet.seaspider.parser.nodes;
6
7/**
8 * Grammar production:
9 * <PRE>
10 * f0 -> VariableClassSpecifier()
11 * f1 -> TypeSpecifier()
12 * f2 -> InitDeclaratorList()
13 * f3 -> ";"
14 * </PRE>
15 */
16public class VariableDeclaration implements Node {
17 public VariableClassSpecifier f0;
18 public TypeSpecifier f1;
19 public InitDeclaratorList f2;
20 public NodeToken f3;
21
22 public VariableDeclaration(VariableClassSpecifier n0, TypeSpecifier n1, InitDeclaratorList n2, NodeToken n3) {
23 f0 = n0;
24 f1 = n1;
25 f2 = n2;
26 f3 = n3;
27 }
28
29 public VariableDeclaration(VariableClassSpecifier n0, TypeSpecifier n1, InitDeclaratorList n2) {
30 f0 = n0;
31 f1 = n1;
32 f2 = n2;
33 f3 = new NodeToken(";");
34 }
35
36 public void accept(org.gnunet.seaspider.parser.visitors.Visitor v) {
37 v.visit(this);
38 }
39 public <R,A> R accept(org.gnunet.seaspider.parser.visitors.GJVisitor<R,A> v, A argu) {
40 return v.visit(this,argu);
41 }
42 public <R> R accept(org.gnunet.seaspider.parser.visitors.GJNoArguVisitor<R> v) {
43 return v.visit(this);
44 }
45 public <A> void accept(org.gnunet.seaspider.parser.visitors.GJVoidVisitor<A> v, A argu) {
46 v.visit(this,argu);
47 }
48}
49