diff options
author | Christian Grothoff <christian@grothoff.org> | 2010-11-26 11:14:32 +0000 |
---|---|---|
committer | Christian Grothoff <christian@grothoff.org> | 2010-11-26 11:14:32 +0000 |
commit | 61ed99a0c77674d7408733c7c4972f3cf09ad375 (patch) | |
tree | e3f1d5cffeb1b3cc604d3ef4fc87501e9b76c26b /src/monkey | |
parent | 26c8d636296f130c9da010fdd1dfe3643ffac346 (diff) | |
download | gnunet-61ed99a0c77674d7408733c7c4972f3cf09ad375.tar.gz gnunet-61ed99a0c77674d7408733c7c4972f3cf09ad375.zip |
fix
Diffstat (limited to 'src/monkey')
3 files changed, 33 insertions, 4 deletions
diff --git a/src/monkey/seaspider/Makefile b/src/monkey/seaspider/Makefile index 3ac6d508c..0f7a0b668 100755 --- a/src/monkey/seaspider/Makefile +++ b/src/monkey/seaspider/Makefile | |||
@@ -1,5 +1,5 @@ | |||
1 | all: | 1 | all: |
2 | jtb C.jj | 2 | jtb C.jj |
3 | javacc C.out.jj | 3 | javacc C.out.jj |
4 | javac -5 -nowarn -classpath ../../../contrib/antlr-runtime-3.1.3.jariantlr-runtime-3.1.3.jarantlr-runtime-3.1.3.jar:../../../contrib/sqljet.1.0.3.b914.jar `find * -name "*.java"` | 4 | javac -nowarn -classpath ../../../contrib/antlr-runtime-3.1.3.jariantlr-runtime-3.1.3.jarantlr-runtime-3.1.3.jar:../../../contrib/sqljet.1.0.3.b914.jar `find * -name "*.java"` |
5 | jar -cvf seaspider.jar `find * -name "*.class"` | 5 | jar -cvf seaspider.jar `find * -name "*.class"` |
diff --git a/src/monkey/seaspider/org/gnunet/seaspider/ExpressionDatabaseHandler.java b/src/monkey/seaspider/org/gnunet/seaspider/ExpressionDatabaseHandler.java index 5b269259b..4cd938a71 100644 --- a/src/monkey/seaspider/org/gnunet/seaspider/ExpressionDatabaseHandler.java +++ b/src/monkey/seaspider/org/gnunet/seaspider/ExpressionDatabaseHandler.java | |||
@@ -9,7 +9,7 @@ import org.tmatesoft.sqljet.core.table.SqlJetDb; | |||
9 | 9 | ||
10 | public class ExpressionDatabaseHandler { | 10 | public class ExpressionDatabaseHandler { |
11 | 11 | ||
12 | private static final boolean DEBUG = false; | 12 | private static final boolean DEBUG = true; |
13 | 13 | ||
14 | private static SqlJetDb db; | 14 | private static SqlJetDb db; |
15 | 15 | ||
diff --git a/src/monkey/seaspider/org/gnunet/seaspider/ExpressionExtractorVisitor.java b/src/monkey/seaspider/org/gnunet/seaspider/ExpressionExtractorVisitor.java index f0e104486..59afc51ce 100644 --- a/src/monkey/seaspider/org/gnunet/seaspider/ExpressionExtractorVisitor.java +++ b/src/monkey/seaspider/org/gnunet/seaspider/ExpressionExtractorVisitor.java | |||
@@ -3,6 +3,7 @@ package org.gnunet.seaspider; | |||
3 | import org.gnunet.seaspider.parser.nodes.ANDExpression; | 3 | import org.gnunet.seaspider.parser.nodes.ANDExpression; |
4 | import org.gnunet.seaspider.parser.nodes.AdditiveExpression; | 4 | import org.gnunet.seaspider.parser.nodes.AdditiveExpression; |
5 | import org.gnunet.seaspider.parser.nodes.ArgumentExpressionList; | 5 | import org.gnunet.seaspider.parser.nodes.ArgumentExpressionList; |
6 | import org.gnunet.seaspider.parser.nodes.AssignmentExpression; | ||
6 | import org.gnunet.seaspider.parser.nodes.AssignmentOperator; | 7 | import org.gnunet.seaspider.parser.nodes.AssignmentOperator; |
7 | import org.gnunet.seaspider.parser.nodes.CastExpression; | 8 | import org.gnunet.seaspider.parser.nodes.CastExpression; |
8 | import org.gnunet.seaspider.parser.nodes.CompoundStatement; | 9 | import org.gnunet.seaspider.parser.nodes.CompoundStatement; |
@@ -297,13 +298,41 @@ public class ExpressionExtractorVisitor extends DepthFirstVisitor { | |||
297 | } | 298 | } |
298 | old.push(current_expression.expression); | 299 | old.push(current_expression.expression); |
299 | current_expression = old; | 300 | current_expression = old; |
300 | } | 301 | } |
301 | 302 | ||
302 | public void visit(AssignmentOperator n) { | 303 | public void visit(AssignmentOperator n) { |
303 | operator = true; | 304 | operator = true; |
304 | super.visit(n); | 305 | super.visit(n); |
305 | operator = false; | 306 | operator = false; |
306 | } | 307 | } |
308 | |||
309 | public void visit(AssignmentExpression n) | ||
310 | { | ||
311 | if (0 == n.f0.which) | ||
312 | { | ||
313 | NodeSequence ns = (NodeSequence) n.f0.choice; | ||
314 | UnaryExpression u = (UnaryExpression) ns.elementAt(0); | ||
315 | AssignmentOperator ao = (AssignmentOperator) ns.elementAt(1); | ||
316 | AssignmentExpression ae = (AssignmentExpression) ns.elementAt(2); | ||
317 | LineNumberInfo lin = LineNumberInfo.get(n); | ||
318 | |||
319 | ExpressionBuilder old = current_expression; | ||
320 | current_expression = new ExpressionBuilder(); | ||
321 | u.accept(this); | ||
322 | current_expression.commit(lin.lineEnd); | ||
323 | ao.accept (this); | ||
324 | old.push(current_expression.expression); | ||
325 | current_expression = new ExpressionBuilder(); | ||
326 | ae.accept(this); | ||
327 | current_expression.commit(lin.lineEnd); | ||
328 | old.push(current_expression.expression); | ||
329 | current_expression = old; | ||
330 | } | ||
331 | else | ||
332 | { | ||
333 | n.f0.choice.accept (this); | ||
334 | } | ||
335 | } | ||
307 | 336 | ||
308 | public void visit(ConditionalExpression n) { | 337 | public void visit(ConditionalExpression n) { |
309 | ExpressionBuilder old = current_expression; | 338 | ExpressionBuilder old = current_expression; |