#pragma once #include "AST/Base.h" #include #include namespace ast { class BinExpr : public Expr { const std::string op; const std::unique_ptr left, right; public: BinExpr(std::unique_ptr &left, const std::string &op, std::unique_ptr &right) : left(std::move(left)), op(op), right(std::move(right)) {} }; class PrefExpr : public Expr { const std::unique_ptr expr; public: PrefExpr(std::unique_ptr &expr) : expr(std::move(expr)) {} }; }