Index: src/AST/Stmt.hpp
===================================================================
--- src/AST/Stmt.hpp	(revision a1da039d49b92f720bc279fc8e82273197880e11)
+++ src/AST/Stmt.hpp	(revision 25f2798eafbbfb4bb8b7940f48998f59c55a7e12)
@@ -546,4 +546,22 @@
 };
 
+// Corun Statement
+class CoforStmt final : public Stmt {
+  public:
+	std::vector<ptr<Stmt>> inits;
+	ptr<Expr> cond;
+	ptr<Expr> inc;
+	ptr<Stmt> body;
+
+	CoforStmt( const CodeLocation & loc, const std::vector<ptr<Stmt>> && inits, const Expr * cond,
+			 const Expr * inc, const Stmt * body, const std::vector<Label> && label = {} )
+		: Stmt(loc, std::move(label)), inits(std::move(inits)), cond(cond), inc(inc), body(body) {}
+
+	const Stmt * accept( Visitor & v ) const override { return v.visit( this ); }
+  private:
+	CoforStmt * clone() const override { return new CoforStmt{ *this }; }
+	MUTATE_FRIEND
+};
+
 } // namespace ast
 
