aboutsummaryrefslogtreecommitdiffstats
path: root/c_compiler/include/primitives.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'c_compiler/include/primitives.hpp')
-rw-r--r--c_compiler/include/primitives.hpp31
1 files changed, 9 insertions, 22 deletions
diff --git a/c_compiler/include/primitives.hpp b/c_compiler/include/primitives.hpp
index 2eeaa19..f4c5087 100644
--- a/c_compiler/include/primitives.hpp
+++ b/c_compiler/include/primitives.hpp
@@ -3,38 +3,25 @@
#include "ast.hpp"
-#include <string>
-class Variable : public Base {
-private:
- std::string id;
+class Declarator : public BasePrimitive {
public:
- Variable(const std::string& _id) : id(_id) {}
+ Declarator(const std::string& _id) : BasePrimitive(_id) {}
- virtual void print() const {
- std::cout << "<Variable id=\"" << id << "\" />" << std::endl;
- }
-
- virtual void push(const Base* var) const {
- std::cerr << "Error: Can't call this function on this class" << std::endl;
- (void)var;
+ virtual void printxml() const {
+ std::cout << "<Variable id=\"" << id << "\" />" << std::endl;
}
};
-class Parameter : public Base {
-private:
- std::string id;
+
+class Parameter : public BasePrimitive {
public:
- Parameter(const std::string& _id) : id(_id) {}
+ Parameter(const std::string& _id) : BasePrimitive(_id) {}
- virtual void print() const {
+ virtual void printxml() const {
std::cout << "<Parameter id=\"" << id << "\" />" << std::endl;
}
-
- virtual void push(const Base* var) const {
- std::cerr << "Error: Can't call this function on this class" << std::endl;
- (void)var;
- }
};
+
#endif