summaryrefslogtreecommitdiff
path: root/node/StatementNode.hh
diff options
context:
space:
mode:
Diffstat (limited to 'node/StatementNode.hh')
-rw-r--r--node/StatementNode.hh18
1 files changed, 18 insertions, 0 deletions
diff --git a/node/StatementNode.hh b/node/StatementNode.hh
index 595298b..68c808f 100644
--- a/node/StatementNode.hh
+++ b/node/StatementNode.hh
@@ -4,9 +4,27 @@
#include <memory>
#include "BaseNode.hh"
+#include "ExprNode.hh"
namespace pcc {
using StatementListNode = ListNode<std::shared_ptr<BaseNode>>;
+
+class EmptyStatementNode : public BaseNode {
+ public:
+ EmptyStatementNode(Context* context);
+ virtual Value CodeGen() override;
+};
+
+class AssignStatementNode : public BaseNode {
+ public:
+ AssignStatementNode(Context* context, std::shared_ptr<ExprNode> lhs,
+ std::shared_ptr<ExprNode> rhs);
+ virtual Value CodeGen() override;
+
+ protected:
+ std::shared_ptr<ExprNode> lhs_;
+ std::shared_ptr<ExprNode> rhs_;
+};
} // namespace pcc
#endif