aboutsummaryrefslogtreecommitdiffstats
path: root/c_compiler/src/bindings.cpp
diff options
context:
space:
mode:
authorYann Herklotz <ymherklotz@gmail.com>2017-03-19 19:36:49 +0000
committerYann Herklotz <ymherklotz@gmail.com>2017-03-19 19:36:49 +0000
commit5bb277cc67c7c3fa8fa3024f1ed3da81a71636e2 (patch)
tree62e2178c79566d138f0861799e0996efe75f97ad /c_compiler/src/bindings.cpp
parent1e68e77f3119c2558aceb2837eb1e25111eedab9 (diff)
downloadCompiler-5bb277cc67c7c3fa8fa3024f1ed3da81a71636e2.tar.gz
Compiler-5bb277cc67c7c3fa8fa3024f1ed3da81a71636e2.zip
Finished better expressions
Diffstat (limited to 'c_compiler/src/bindings.cpp')
-rw-r--r--c_compiler/src/bindings.cpp9
1 files changed, 7 insertions, 2 deletions
diff --git a/c_compiler/src/bindings.cpp b/c_compiler/src/bindings.cpp
index 05bd288..a76429c 100644
--- a/c_compiler/src/bindings.cpp
+++ b/c_compiler/src/bindings.cpp
@@ -6,7 +6,7 @@
// VariableStackBindings definition
VariableStackBindings::VariableStackBindings()
- : stack_counter_(0), expression_stack_(-4)
+ : stack_counter_(0), expression_stack_(16)
{}
void VariableStackBindings::insertBinding(std::string id, TypePtr type, int stack_position)
@@ -30,7 +30,12 @@ void VariableStackBindings::setStackPosition(int stack_counter)
void VariableStackBindings::nextExpressionStackPosition()
{
- expression_stack_ -= 4;
+ expression_stack_ += 4;
+}
+
+void VariableStackBindings::setExpressionStackPosition(const int& stack_counter)
+{
+ expression_stack_ = stack_counter;
}
int VariableStackBindings::currentStackPosition() const