forExpr.hpp
Go to the documentation of this file.
1
2#pragma once
3
5
6namespace by {
7
8 class frame;
9
14 class _nout forExpr: public loopExpr {
15 BY(CLASS(forExpr, loopExpr, expr::exprType), VISIT())
16 friend class verifier;
17
18 public:
19 forExpr(const std::string& localName, const node& container, const blockExpr& blk);
20
21 public:
22 const std::string& getLocalName() const;
23 str getContainer();
24
25 protected:
26 tstr<loop> _makeLoop(arr* ret) const override;
27 str _makeEval() const override;
28
29 private:
30 str _container;
31 std::string _name;
32 };
33}
Managed array container for byeol language.
Definition: arr.hpp:14
Block expression containing multiple statements.
Definition: blockExpr.hpp:15
Type information for expression nodes
Definition: expr.hpp:22
For loop expression.
Definition: forExpr.hpp:14
Base class for loop expressions.
Definition: loopExpr.hpp:16
Base class for all AST nodes in byeol language.
Definition: node.hpp:30
AST verifier for semantic analysis.
Definition: verifier.hpp:20