diff options
author | Yann Herklotz <ymherklotz@gmail.com> | 2017-03-22 14:17:29 +0000 |
---|---|---|
committer | Yann Herklotz <ymherklotz@gmail.com> | 2017-03-22 14:17:29 +0000 |
commit | f12ccd62ecf08774ce599a2e15d9042500d2760a (patch) | |
tree | 12012ae296025441c3329e23a7290732cf33c36c /c_compiler/include/bindings.hpp | |
parent | 190b7a0e5d45367230795ac0bdf6fc2f248ba9e1 (diff) | |
download | Compiler-f12ccd62ecf08774ce599a2e15d9042500d2760a.tar.gz Compiler-f12ccd62ecf08774ce599a2e15d9042500d2760a.zip |
Adding test and break working
Diffstat (limited to 'c_compiler/include/bindings.hpp')
-rw-r--r-- | c_compiler/include/bindings.hpp | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/c_compiler/include/bindings.hpp b/c_compiler/include/bindings.hpp index 0afb3e9..2559420 100644 --- a/c_compiler/include/bindings.hpp +++ b/c_compiler/include/bindings.hpp @@ -23,6 +23,8 @@ class VariableStackBindings { private: std::map<std::string, DeclarationData> bindings_; + std::string break_label_; + std::string continue_label_; int stack_counter_; int expression_stack_; @@ -33,13 +35,18 @@ public: void increaseStackPosition(); void setStackPosition(int stack_counter); void nextExpressionStackPosition(); - void setExpressionStackPosition(const int& stack_counter); + void setExpressionStackPosition(const int &stack_counter); + + std::string breakLabel(); + std::string breakLabel(const std::string &label); + std::string continueLabel(); + std::string continueLabel(const std::string &label); int currentStackPosition() const; - int stackPosition(const std::string& id) const; + int stackPosition(const std::string &id) const; int currentExpressionStackPosition() const; - bool bindingExists(const std::string& id) const; + bool bindingExists(const std::string &id) const; }; |