diff options
author | Yann Herklotz <ymherklotz@gmail.com> | 2017-03-19 19:36:49 +0000 |
---|---|---|
committer | Yann Herklotz <ymherklotz@gmail.com> | 2017-03-19 19:36:49 +0000 |
commit | 5bb277cc67c7c3fa8fa3024f1ed3da81a71636e2 (patch) | |
tree | 62e2178c79566d138f0861799e0996efe75f97ad /c_compiler/include/statement.hpp | |
parent | 1e68e77f3119c2558aceb2837eb1e25111eedab9 (diff) | |
download | Compiler-5bb277cc67c7c3fa8fa3024f1ed3da81a71636e2.tar.gz Compiler-5bb277cc67c7c3fa8fa3024f1ed3da81a71636e2.zip |
Finished better expressions
Diffstat (limited to 'c_compiler/include/statement.hpp')
-rw-r--r-- | c_compiler/include/statement.hpp | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/c_compiler/include/statement.hpp b/c_compiler/include/statement.hpp index 121db2c..887ffc5 100644 --- a/c_compiler/include/statement.hpp +++ b/c_compiler/include/statement.hpp @@ -27,6 +27,7 @@ public: virtual void countVariables(unsigned& var_count) const = 0; virtual void countArguments(unsigned& argument_count) const = 0; + virtual void countExpressionDepth(unsigned& depth_count) const = 0; void linkStatement(Statement* next); }; @@ -47,7 +48,8 @@ public: virtual VariableStackBindings printAsm(VariableStackBindings bindings, unsigned& label_count) const; virtual void countVariables(unsigned& var_count) const; - virtual void countArguments(unsigned& argument_count) const; + virtual void countArguments(unsigned& argument_count) const; + virtual void countExpressionDepth(unsigned& depth_count) const; }; @@ -65,7 +67,8 @@ public: virtual VariableStackBindings printAsm(VariableStackBindings bindings, unsigned& label_count) const; virtual void countVariables(unsigned& var_count) const; - virtual void countArguments(unsigned& argument_count) const; + virtual void countArguments(unsigned& argument_count) const; + virtual void countExpressionDepth(unsigned& depth_count) const; }; @@ -81,7 +84,8 @@ public: virtual VariableStackBindings printAsm(VariableStackBindings bindings, unsigned& label_count) const; virtual void countVariables(unsigned& var_count) const; - virtual void countArguments(unsigned& argument_count) const; + virtual void countArguments(unsigned& argument_count) const; + virtual void countExpressionDepth(unsigned& depth_count) const; }; @@ -98,6 +102,7 @@ public: virtual void countVariables(unsigned& var_count) const; virtual void countArguments(unsigned& argument_count) const; + virtual void countExpressionDepth(unsigned& depth_count) const; }; @@ -114,7 +119,8 @@ public: virtual VariableStackBindings printAsm(VariableStackBindings bindings, unsigned& label_count) const = 0; virtual void countVariables(unsigned& var_count) const; - virtual void countArguments(unsigned& argument_count) const; + virtual void countArguments(unsigned& argument_count) const; + virtual void countExpressionDepth(unsigned& depth_count) const; }; class WhileLoop : public IterationStatement @@ -122,7 +128,7 @@ class WhileLoop : public IterationStatement public: WhileLoop(Expression* condition, Statement* statement); - virtual VariableStackBindings printAsm(VariableStackBindings bindings, unsigned& label_cout) const; + virtual VariableStackBindings printAsm(VariableStackBindings bindings, unsigned& label_count) const; }; class ForLoop : public IterationStatement |