diff --git a/version0.15/version0.15.1/code_generator.h b/version0.15/version0.15.1/code_generator.h deleted file mode 100644 index 368d5b0..0000000 --- a/version0.15/version0.15.1/code_generator.h +++ /dev/null @@ -1,81 +0,0 @@ -#ifndef __CODE_GENERATOR_H__ -#define __CODE_GENERATOR_H__ - -#include "nasal_parser.h" -#include "abstract_syntax_tree.h" -#include - -class code_generator -{ - private: - ASTree root; - std::stack node_stack; - std::stack temp; - public: - code_generator() - { - root.set_data(0,__root); - } - void number_node_gen() - { - NumberNode t; - t.setnumber(temp.top().content); - t.set_data(temp.top().line,__number); - if(node_stack.empty()) - node_stack.push(t); - else if(node_stack.top().return_type()==__operator) - node_stack.top().return_child().push_back(t); - else - node_stack.push(t); - return; - } - void operator_node_gen() - { - OperatorNode t; - t.set_operator_type(temp.top().content); - t.set_data(temp.top().line,__operator); - if(node_stack.empty()) - { - std::cout<<"line "<& parse) - { - while(!node_stack.empty()) - node_stack.pop(); - temp=parse; - while(!temp.empty()) - { - switch(temp.top().type) - { - case __number:number_node_gen();break; - case __add_operator:operator_node_gen();break; - case __sub_operator:operator_node_gen();break; - default:std::cout<<"line "<