all:
jtb C.jj
javacc C.out.jj
- 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"`
+ 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"`
jar -cvf seaspider.jar `find * -name "*.class"`
import org.gnunet.seaspider.parser.nodes.ANDExpression;
import org.gnunet.seaspider.parser.nodes.AdditiveExpression;
import org.gnunet.seaspider.parser.nodes.ArgumentExpressionList;
+import org.gnunet.seaspider.parser.nodes.AssignmentExpression;
import org.gnunet.seaspider.parser.nodes.AssignmentOperator;
import org.gnunet.seaspider.parser.nodes.CastExpression;
import org.gnunet.seaspider.parser.nodes.CompoundStatement;
}
old.push(current_expression.expression);
current_expression = old;
- }
-
+ }
+
public void visit(AssignmentOperator n) {
operator = true;
super.visit(n);
operator = false;
}
+
+ public void visit(AssignmentExpression n)
+ {
+ if (0 == n.f0.which)
+ {
+ NodeSequence ns = (NodeSequence) n.f0.choice;
+ UnaryExpression u = (UnaryExpression) ns.elementAt(0);
+ AssignmentOperator ao = (AssignmentOperator) ns.elementAt(1);
+ AssignmentExpression ae = (AssignmentExpression) ns.elementAt(2);
+ LineNumberInfo lin = LineNumberInfo.get(n);
+
+ ExpressionBuilder old = current_expression;
+ current_expression = new ExpressionBuilder();
+ u.accept(this);
+ current_expression.commit(lin.lineEnd);
+ ao.accept (this);
+ old.push(current_expression.expression);
+ current_expression = new ExpressionBuilder();
+ ae.accept(this);
+ current_expression.commit(lin.lineEnd);
+ old.push(current_expression.expression);
+ current_expression = old;
+ }
+ else
+ {
+ n.f0.choice.accept (this);
+ }
+ }
public void visit(ConditionalExpression n) {
ExpressionBuilder old = current_expression;