aboutsummaryrefslogtreecommitdiffstats
path: root/c_compiler/include/function.hpp
diff options
context:
space:
mode:
authorYann Herklotz <ymherklotz@gmail.com>2017-03-03 21:24:20 +0000
committerYann Herklotz <ymherklotz@gmail.com>2017-03-03 21:24:20 +0000
commitee069912377bf8f5069489e527af642953d5883d (patch)
tree97fa985de635d0b5c82158411b80ac3f7b08a915 /c_compiler/include/function.hpp
parent76de3faca823ce51e32f0e3c4bcc6127492efdc5 (diff)
downloadCompiler-ee069912377bf8f5069489e527af642953d5883d.tar.gz
Compiler-ee069912377bf8f5069489e527af642953d5883d.zip
Going to test
Diffstat (limited to 'c_compiler/include/function.hpp')
-rw-r--r--c_compiler/include/function.hpp11
1 files changed, 9 insertions, 2 deletions
diff --git a/c_compiler/include/function.hpp b/c_compiler/include/function.hpp
index b1ee88d..c58699c 100644
--- a/c_compiler/include/function.hpp
+++ b/c_compiler/include/function.hpp
@@ -4,15 +4,22 @@
#include "ast.hpp"
-class Function : public BaseNode {
+class Function : public Node {
protected:
+ const Type* type;
std::string id;
+ const DeclarationList* parameter_list;
+ const Statement* statement;
public:
- Function(const std::string& _id, const BaseList* _param_list, const BaseNode* _comp_statement);
+ Function(const std::string& _id, const Statement* _comp_statement);
+
+ virtual ~Function();
virtual void printxml() const override;
virtual void printasm() const override;
+
+ void push_parameter(const Declaration* declaration) const;
};