whileExpr.hpp
Go to the documentation of this file.
1
2#pragma once
3
5
6namespace by {
7
12 class _nout whileExpr: public loopExpr {
13 BY(CLASS(whileExpr, loopExpr, expr::exprType), VISIT())
14 friend class verifier;
15
16 public:
17 whileExpr(const node& condition, const blockExpr& blk);
18
19 public:
20 const node& getCondition() const BY_CONST_FUNC(getCondition())
21 node& getCondition();
22
23 protected:
24 tstr<loop> _makeLoop(arr* ret) const override;
25
26 private:
27 str _condition;
28 };
29}
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
Base class for loop expressions.
Definition: loopExpr.hpp:16
Base class for all AST nodes in byeol language.
Definition: node.hpp:30
Strong reference smart pointer with strict type checking.
Definition: tstr.hpp:13
AST verifier for semantic analysis.
Definition: verifier.hpp:20
While loop expression.
Definition: whileExpr.hpp:12