diff options
Diffstat (limited to 'include/cps/AST.h')
| -rw-r--r-- | include/cps/AST.h | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/include/cps/AST.h b/include/cps/AST.h index 588f5eb..de57024 100644 --- a/include/cps/AST.h +++ b/include/cps/AST.h @@ -51,6 +51,16 @@ public: int getLine() const { return Line; } }; +class UnaryExprAST : public ExprAST { + int Op; + std::unique_ptr<ExprAST> Operand; +public: + UnaryExprAST(int Op, std::unique_ptr<ExprAST> Operand) + : Op(Op), Operand(std::move(Operand)) {} + int getOp() const { return Op; } + ExprAST *getOperand() const { return Operand.get(); } +}; + class BinaryExprAST : public ExprAST { int Op; std::unique_ptr<ExprAST> LHS, RHS; |
