aboutsummaryrefslogtreecommitdiff
path: root/src/monkey/seaspider/org/gnunet/seaspider/parser/GNUnetDepthFirstVisitor.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/monkey/seaspider/org/gnunet/seaspider/parser/GNUnetDepthFirstVisitor.java')
-rw-r--r--src/monkey/seaspider/org/gnunet/seaspider/parser/GNUnetDepthFirstVisitor.java36
1 files changed, 36 insertions, 0 deletions
diff --git a/src/monkey/seaspider/org/gnunet/seaspider/parser/GNUnetDepthFirstVisitor.java b/src/monkey/seaspider/org/gnunet/seaspider/parser/GNUnetDepthFirstVisitor.java
new file mode 100644
index 000000000..17592b8a8
--- /dev/null
+++ b/src/monkey/seaspider/org/gnunet/seaspider/parser/GNUnetDepthFirstVisitor.java
@@ -0,0 +1,36 @@
1package org.gnunet.seaspider.parser;
2import org.gnunet.seaspider.parser.nodes.AssignmentOperator;
3import org.gnunet.seaspider.parser.nodes.CompoundStatement;
4import org.gnunet.seaspider.parser.nodes.Expression;
5import org.gnunet.seaspider.parser.nodes.NodeToken;
6import org.gnunet.seaspider.parser.visitors.DepthFirstVisitor;
7
8public class GNUnetDepthFirstVisitor extends DepthFirstVisitor {
9 private int current_endline;
10 private int blockStart;
11 private int blockEnd;
12
13 public void visit(Expression n) {
14 n.f0.accept(this);
15 }
16 public void visit(AssignmentOperator n) {
17 n.f0.accept(this);
18 }
19
20 /**
21 * <PRE>
22 * f0 -> "{"
23 * f1 -> ( LocalVariableDeclaration() | Statement() )*
24 * f2 -> "}"
25 * </PRE>
26 */
27 public void visit(CompoundStatement n) {
28 int old_ll = current_endline;
29 current_endline = n.f2.endLine;
30 System.out.println("Scope starts at line:" + n.f0.endLine + " and ends at line:" + n.f2.endLine);
31 n.f0.accept(this);
32 n.f1.accept(this);
33 n.f2.accept(this);
34 current_endline = old_ll;
35 }
36}