aboutsummaryrefslogtreecommitdiffstats
path: root/c_compiler/include/function.hpp
diff options
context:
space:
mode:
authorYann Herklotz <ymherklotz@gmail.com>2017-03-03 22:19:32 +0000
committerYann Herklotz <ymherklotz@gmail.com>2017-03-03 22:19:32 +0000
commit46c70f9c2dca832ba84472dbbe09064b57710b45 (patch)
treed5c0ac0f1bc53a7f26b760b8ab63f1fc163a378b /c_compiler/include/function.hpp
parentee069912377bf8f5069489e527af642953d5883d (diff)
downloadCompiler-46c70f9c2dca832ba84472dbbe09064b57710b45.tar.gz
Compiler-46c70f9c2dca832ba84472dbbe09064b57710b45.zip
Kind of working
Diffstat (limited to 'c_compiler/include/function.hpp')
-rw-r--r--c_compiler/include/function.hpp21
1 files changed, 11 insertions, 10 deletions
diff --git a/c_compiler/include/function.hpp b/c_compiler/include/function.hpp
index c58699c..a6d44f0 100644
--- a/c_compiler/include/function.hpp
+++ b/c_compiler/include/function.hpp
@@ -6,20 +6,21 @@
class Function : public Node {
protected:
- const Type* type;
+ Type* type;
std::string id;
- const DeclarationList* parameter_list;
- const Statement* statement;
+ Declaration* parameter_list;
+ Statement* statement;
public:
- Function(const std::string& _id, const Statement* _comp_statement);
+ Function(const std::string& _id, Declaration* _parameter_list) : id(_id), parameter_list(_parameter_list) {}
- virtual ~Function();
-
- virtual void printxml() const override;
- virtual void printasm() const override;
-
- void push_parameter(const Declaration* declaration) const;
+ virtual void print() const {
+ std::cout << id << std::endl;
+ parameter_list->print();
+ }
+
+ virtual void printxml() const {}
+ virtual void printasm() const {}
};