diff options
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 |