+ visit(binary.left);
+ visit(binary.right);
+}
+
+void TraversingVisitor::visit(Assignment &assign)
+{
+ visit(assign.left);
+ visit(assign.right);
+}
+
+void TraversingVisitor::visit(TernaryExpression &ternary)
+{
+ visit(ternary.condition);
+ visit(ternary.true_expr);
+ visit(ternary.false_expr);