diff options
author | Yann Herklotz <ymherklotz@gmail.com> | 2017-03-06 17:37:51 +0000 |
---|---|---|
committer | Yann Herklotz <ymherklotz@gmail.com> | 2017-03-06 17:37:51 +0000 |
commit | fdd6ff07cee824078c5315bf07926ee15bbdde85 (patch) | |
tree | 25ae7097f5f1ee88b7e9d0f27297f38c08a29009 /c_compiler/include/statement.hpp | |
parent | 3cef694323c53a19c8c7c0fab19432eb74f8792a (diff) | |
download | Compiler-fdd6ff07cee824078c5315bf07926ee15bbdde85.tar.gz Compiler-fdd6ff07cee824078c5315bf07926ee15bbdde85.zip |
making changes to type in lexer now
Diffstat (limited to 'c_compiler/include/statement.hpp')
-rw-r--r-- | c_compiler/include/statement.hpp | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/c_compiler/include/statement.hpp b/c_compiler/include/statement.hpp index dff9902..17a5153 100644 --- a/c_compiler/include/statement.hpp +++ b/c_compiler/include/statement.hpp @@ -7,6 +7,7 @@ class Statement : public Node { protected: Statement* next_statement; + public: Statement(Statement* statement = nullptr); @@ -14,9 +15,9 @@ public: virtual void printxml() const = 0; virtual void printasm() const = 0; - void addStatement(Statement* _next) { - next_statement = _next; - } + virtual void count_variables(int32_t& var_count) const = 0; + + void addStatement(Statement* _next); }; @@ -24,6 +25,7 @@ class CompoundStatement : public Statement { protected: Declaration* m_decl; Statement* m_statement; + public: CompoundStatement(Declaration* decl = nullptr, Statement* statement = nullptr); CompoundStatement(Statement* statement); @@ -31,6 +33,8 @@ public: virtual void print() const; virtual void printxml() const; virtual void printasm() const; + + virtual void count_variables(int32_t& var_count) const; }; @@ -44,6 +48,8 @@ public: virtual void print() const; virtual void printxml() const; virtual void printasm() const; + + virtual void count_variables(int32_t& var_count) const; }; @@ -56,6 +62,8 @@ public: virtual void print() const; virtual void printxml() const; virtual void printasm() const; + + virtual void count_variables(int32_t& var_count) const; }; @@ -68,6 +76,8 @@ public: virtual void print() const; virtual void printxml() const; virtual void printasm() const; + + virtual void count_variables(int32_t& var_count) const; }; @@ -80,6 +90,8 @@ public: virtual void print() const; virtual void printxml() const; virtual void printasm() const; + + virtual void count_variables(int32_t& var_count) const; }; |