]> git.tdb.fi Git - libs/gl.git/blobdiff - source/programsyntax.h
Recognize various nonlinear flow control statement
[libs/gl.git] / source / programsyntax.h
index 14e5d8e786cb679e36c448cf5ca68b1dfe387fd3..d681c50b924065f69a1ae990381af884d00bef0e 100644 (file)
@@ -298,6 +298,14 @@ struct Return: Node
        virtual void visit(NodeVisitor &);
 };
 
+struct Jump: Node
+{
+       std::string keyword;
+
+       virtual Jump *clone() const { return new Jump(*this); }
+       virtual void visit(NodeVisitor &);
+};
+
 struct NodeVisitor
 {
        virtual ~NodeVisitor() { }
@@ -323,6 +331,7 @@ struct NodeVisitor
        virtual void visit(Iteration &) { }
        virtual void visit(Passthrough &) { }
        virtual void visit(Return &) { }
+       virtual void visit(Jump &) { }
 };
 
 struct TraversingVisitor: NodeVisitor