aboutsummaryrefslogtreecommitdiffstats
path: root/c_parser/include/ast_statement.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'c_parser/include/ast_statement.hpp')
-rw-r--r--c_parser/include/ast_statement.hpp123
1 files changed, 41 insertions, 82 deletions
diff --git a/c_parser/include/ast_statement.hpp b/c_parser/include/ast_statement.hpp
index 224a809..4761efb 100644
--- a/c_parser/include/ast_statement.hpp
+++ b/c_parser/include/ast_statement.hpp
@@ -1,122 +1,81 @@
#ifndef AST_STATEMENT_HPP
#define AST_STATEMENT_HPP
-class ast_StatementList : public ast_Base {
-protected:
- mutable std::vector<const ast_Base*> statement_list;
-
-public:
- ast_StatementList(const ast_Base* _statement) {
- statement_list.push_back(_statement);
- }
-
- virtual void print() const {
- for(size_t i = 0; i < statement_list.size(); ++i) {
- statement_list[i]->print();
- }
- }
+#include "ast.hpp"
- virtual void push(const ast_Base* _statement) const {
- statement_list.push_back(_statement);
- }
-};
-
-class ast_Statement : public ast_Base {
+class Statement : public Base {
protected:
- mutable std::vector<const ast_Base*> ast_list;
+ mutable std::vector<const Base*> list;
public:
- ast_Statement() {}
+ Statement() {}
- ast_Statement(const ast_Base* _el) {
- ast_list.push_back(_el);
+ Statement(const Base* _el) {
+ list.push_back(_el);
}
- ast_Statement(const ast_Base* _dec, const ast_Base* _statement) {
- ast_list.push_back(_dec);
- ast_list.push_back(_statement);
+ Statement(const Base* _dec, const Base* _statement) {
+ list.push_back(_dec);
+ list.push_back(_statement);
}
virtual void print() const {
- for(size_t i = 0; i < ast_list.size(); ++i) {
- ast_list[i]->print();
+ for(size_t i = 0; i < list.size(); ++i) {
+ list[i]->print();
}
}
- virtual void push(const ast_Base* _var) const {
- ast_list.push_back(_var);
+ virtual void push(const Base* _var) const {
+ list.push_back(_var);
}
};
-class ast_CompoundStatement : public ast_Statement {
+class StatementList : public Statement {
public:
- ast_CompoundStatement() : ast_Statement() {}
- ast_CompoundStatement(const ast_Base* _el) : ast_Statement(_el) {}
- ast_CompoundStatement(const ast_Base* _dec, const ast_Base* _statement) :
- ast_Statement(_dec, _statement) {}
+ StatementList(const Base* _statement) : Statement(_statement) {}
+};
+
+class CompoundStatement : public Statement {
+public:
+ CompoundStatement() : Statement() {}
+ CompoundStatement(const Base* _el) : Statement(_el) {}
+ CompoundStatement(const Base* _dec, const Base* _statement) :
+ Statement(_dec, _statement) {}
virtual void print() const override {
std::cout << "<Scope>" << std::endl;
- for(size_t i = 0; i < ast_list.size(); ++i) {
- ast_list[i]->print();
+ for(size_t i = 0; i < list.size(); ++i) {
+ list[i]->print();
}
std::cout << "</Scope>" << std::endl;
}
};
-class ast_SelectionStatement : public ast_Statement {
+class SelectionStatement : public Statement {
public:
- ast_SelectionStatement() : ast_Statement() {}
- ast_SelectionStatement(const ast_Base* _el) : ast_Statement(_el) {}
- ast_SelectionStatement(const ast_Base* _if, const ast_Base* _else) :
- ast_Statement(_if, _else) {}
-
- virtual void print() const override {
- for(size_t i = 0; i < ast_list.size(); ++i) {
- ast_list[i]->print();
- }
- }
+ SelectionStatement() : Statement() {}
+ SelectionStatement(const Base* _el) : Statement(_el) {}
+ SelectionStatement(const Base* _if, const Base* _else) :
+ Statement(_if, _else) {}
};
-class ast_ExpressionStatement : public ast_Statement {
+class ExpressionStatement : public Statement {
public:
- ast_ExpressionStatement() : ast_Statement() {}
- ast_ExpressionStatement(const ast_Base* _el) : ast_Statement(_el) {}
- ast_ExpressionStatement(const ast_Base* _if, const ast_Base* _else) :
- ast_Statement(_if, _else) {}
-
- virtual void print() const override {
- for(size_t i = 0; i < ast_list.size(); ++i) {
- ast_list[i]->print();
- }
- }
+ ExpressionStatement() : Statement() {}
+ ExpressionStatement(const Base* _el) : Statement(_el) {}
};
-class ast_JumpStatement : public ast_Statement {
+class JumpStatement : public Statement {
public:
- ast_JumpStatement() : ast_Statement() {}
- ast_JumpStatement(const ast_Base* _el) : ast_Statement(_el) {}
- ast_JumpStatement(const ast_Base* _if, const ast_Base* _else) :
- ast_Statement(_if, _else) {}
-
- virtual void print() const override {
- for(size_t i = 0; i < ast_list.size(); ++i) {
- ast_list[i]->print();
- }
- }
+ JumpStatement() : Statement() {}
+ JumpStatement(const Base* _el) : Statement(_el) {}
};
-class ast_IterationStatement : public ast_Statement {
+class IterationStatement : public Statement {
public:
- ast_IterationStatement() : ast_Statement() {}
- ast_IterationStatement(const ast_Base* _el) : ast_Statement(_el) {}
- ast_IterationStatement(const ast_Base* _if, const ast_Base* _else) :
- ast_Statement(_if, _else) {}
-
- virtual void print() const override {
- for(size_t i = 0; i < ast_list.size(); ++i) {
- ast_list[i]->print();
- }
- }
+ IterationStatement() : Statement() {}
+ IterationStatement(const Base* _el) : Statement(_el) {}
+ IterationStatement(const Base* _if, const Base* _else) :
+ Statement(_if, _else) {}
};
#endif