aboutsummaryrefslogtreecommitdiffstats
path: root/c_compiler/include/bindings.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'c_compiler/include/bindings.hpp')
-rw-r--r--c_compiler/include/bindings.hpp19
1 files changed, 9 insertions, 10 deletions
diff --git a/c_compiler/include/bindings.hpp b/c_compiler/include/bindings.hpp
index 5dd1e1f..512e426 100644
--- a/c_compiler/include/bindings.hpp
+++ b/c_compiler/include/bindings.hpp
@@ -1,7 +1,6 @@
#ifndef BINDINGS_HPP
#define BINDINGS_HPP
-#include <cstdint>
#include <map>
#include <memory>
#include <string>
@@ -15,7 +14,7 @@ typedef std::shared_ptr<Type> TypePtr;
struct DeclarationData
{
TypePtr type;
- int32_t stack_position;
+ int stack_position;
};
@@ -23,22 +22,22 @@ struct DeclarationData
class VariableStackBindings
{
private:
- std::map<std::string, DeclarationData> bindings;
- int32_t stack_counter;
- int8_t current_register;
+ std::map<std::string, DeclarationData> bindings_;
+ int stack_counter_;
+ unsigned expression_stack_;
public:
VariableStackBindings();
void insertBinding(std::string id, TypePtr type, int32_t stack_position);
void increaseStackPosition();
- void resetRegister();
- void increaseRegister();
+ void resetExpressionStack();
+ void nextExpressionStackPosition();
- int32_t getCurrentStackPosition() const;
- int32_t getStackPosition(const std::string& id) const;
+ int currentStackPosition() const;
+ int stackPosition(const std::string& id) const;
- int8_t getCurrentRegister() const;
+ unsigned currentExpressionStackPosition() const;
bool bindingExists(const std::string& id) const;
};