aboutsummaryrefslogtreecommitdiffstats
path: root/c_compiler/include/expression.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'c_compiler/include/expression.hpp')
-rw-r--r--c_compiler/include/expression.hpp43
1 files changed, 23 insertions, 20 deletions
diff --git a/c_compiler/include/expression.hpp b/c_compiler/include/expression.hpp
index a4939a9..ae186d1 100644
--- a/c_compiler/include/expression.hpp
+++ b/c_compiler/include/expression.hpp
@@ -2,8 +2,11 @@
#define AST_EXPRESSION_HPP
#include "node.hpp"
+#include "bindings.hpp"
+#include <cstdint>
#include <memory>
+#include <string>
class Expression;
@@ -13,79 +16,79 @@ typedef std::shared_ptr<Expression> ExpressionPtr;
class Expression : public Node
{
public:
- virtual VariableStackBindings printasm(VariableStackBindings bindings) const = 0;
+ virtual VariableStackBindings printAsm(VariableStackBindings bindings) const = 0;
virtual void print() const;
- virtual void printxml() const;
- virtual int32_t getPostfixStackPosition(VariableStackBindings bindings) const;
+ virtual void printXml() const;
+ virtual int postfixStackPosition(VariableStackBindings bindings) const;
};
class OperationExpression : public Expression
{
protected:
- ExpressionPtr lhs;
- ExpressionPtr rhs;
+ ExpressionPtr lhs_;
+ ExpressionPtr rhs_;
public:
- OperationExpression(Expression* _lhs, Expression* _rhs);
+ OperationExpression(Expression* lhs, Expression* rhs);
- virtual VariableStackBindings printasm(VariableStackBindings bindings) const = 0;
+ virtual VariableStackBindings printAsm(VariableStackBindings bindings) const = 0;
};
class AssignmentExpression : public OperationExpression
{
public:
- AssignmentExpression(Expression* _lhs, Expression* _rhs);
+ AssignmentExpression(Expression* lhs, Expression* rhs);
- virtual VariableStackBindings printasm(VariableStackBindings bindings) const;
+ virtual VariableStackBindings printAsm(VariableStackBindings bindings) const;
};
class AdditiveExpression : public OperationExpression
{
private:
- std::string operation;
+ std::string operation_;
public:
- AdditiveExpression(Expression* _lhs, const std::string& _operation, Expression* _rhs);
+ AdditiveExpression(Expression* lhs, const std::string& operation, Expression* rhs);
- virtual VariableStackBindings printasm(VariableStackBindings bindings) const;
+ virtual VariableStackBindings printAsm(VariableStackBindings bindings) const;
};
class MultiplicativeExpression : public OperationExpression
{
private:
- std::string operation;
+ std::string operation_;
public:
- MultiplicativeExpression(Expression* _lhs, const std::string& _operation, Expression* _rhs);
+ MultiplicativeExpression(Expression* lhs, const std::string& operation, Expression* rhs);
- virtual VariableStackBindings printasm(VariableStackBindings bindings) const;
+ virtual VariableStackBindings printAsm(VariableStackBindings bindings) const;
};
class Identifier : public Expression
{
private:
- std::string m_id;
+ std::string id_;
public:
Identifier(const std::string& id);
- virtual VariableStackBindings printasm(VariableStackBindings bindings) const;
- virtual int32_t getPostfixStackPosition(VariableStackBindings bindings) const;
+ virtual VariableStackBindings printAsm(VariableStackBindings bindings) const;
+ virtual int postfixStackPosition(VariableStackBindings bindings) const;
};
class Constant : public Expression
{
private:
- int32_t m_constant;
+ int32_t constant_;
public:
Constant(const int32_t& constant);
- virtual VariableStackBindings printasm(VariableStackBindings bindings) const;
+ virtual VariableStackBindings printAsm(VariableStackBindings bindings) const;
};