From a9663b327230e08a6bc5cfe4f20ed8d066f33338 Mon Sep 17 00:00:00 2001 From: Yann Herklotz Date: Fri, 17 Mar 2017 22:38:08 +0000 Subject: Creating if statement --- c_compiler/include/expression.hpp | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'c_compiler/include/expression.hpp') diff --git a/c_compiler/include/expression.hpp b/c_compiler/include/expression.hpp index 19d2c4f..9a22ce7 100644 --- a/c_compiler/include/expression.hpp +++ b/c_compiler/include/expression.hpp @@ -45,6 +45,8 @@ public: OperationExpression(Expression* lhs, Expression* rhs); virtual VariableStackBindings printAsm(VariableStackBindings bindings, unsigned& label_count) const = 0; + + void evaluateExpression(VariableStackBindings bindings, unsigned& label_count) const; }; @@ -130,8 +132,10 @@ public: class ShiftExpression : public OperationExpression { +private: + std::string operator_; public: - ShiftExpression(Expression* lhs, Expression* rhs); + ShiftExpression(Expression* lhs, const std::string& _operator, Expression* rhs); virtual VariableStackBindings printAsm(VariableStackBindings bindings, unsigned& label_count) const; }; @@ -139,8 +143,10 @@ public: class RelationalExpression : public OperationExpression { +private: + std::string operator_; public: - RelationalExpression(Expression* lhs, Expression* rhs); + RelationalExpression(Expression* lhs, const std::string& _operator, Expression* rhs); virtual VariableStackBindings printAsm(VariableStackBindings bindings, unsigned& label_count) const; }; -- cgit