diff --git a/nasal_parser.h b/nasal_parser.h deleted file mode 100644 index 7c1ebe3..0000000 --- a/nasal_parser.h +++ /dev/null @@ -1,1100 +0,0 @@ -#ifndef __NASAL_PARSER_H__ -#define __NASAL_PARSER_H__ - -#include "nasal_token_type.h" - -class nasal_parser -{ - private: - ast_tree_node root; - std::stack parse; - std::stack node_cache; - token this_token; - int error; - int warning; - public: - nasal_parser() - { - error=0; - warning=0; - this_token.type=0; - } - void get_token() - { - if(parse.empty()) - { - this_token.type=0; - return; - } - this_token=parse.top(); - parse.pop(); - return; - } - void print_parser_stack() - { - if(parse.empty()) - return; - int line=0; - std::stack temp; - while(!parse.empty()) - { - temp.push(parse.top()); - if(line!=temp.top().line) - { - if(line+1==temp.top().line) - { - line=temp.top().line; - if(line==1) - std::cout<<"line "< "; - parse.pop(); - } - while(!temp.empty()) - { - parse.push(temp.top()); - temp.pop(); - } - std::cout<& lexer) - { - while(!parse.empty()) - parse.pop(); - std::stack temp; - for(std::list::iterator i=lexer.begin();i!=lexer.end();++i) - { - token temp_parse; - temp_parse=*i; - temp.push(temp_parse);//push this into stack - } - if(temp.empty()) - { - std::cout<<">>[Parse] [-Warning] Empty lexer list."<>[Abstract-syntax-tree]"<>[Parse] "<>[Error] line "<>[Error] line "<>[Error] line "<>[Error] line "<>[Error] line "<>[Error] line "<>[Error] line "<>[Error] line "<>[Error] line "<>[Error] line "<>[Error] line "<>[Error] line "<>[Error] line "<>[Error] line "<>[Error] line "<>[Error] line "<>[Error] line "<>[Error] line "<>[Error] line "<>[Error] line "<>[Error] line "<>[Error] line "<>[Error] line "<>[Error] line "<>[Error] line "<>[Error] line "<>[Error] line "<>[Error] line "<>[Error] line "<>[Error] line "<>[Error] line "<>[Error] line "<>[Error] line "<>[Error] line "<>[Error] line "<>[Error] line "<>[Error] line "<>[Error] line "<>[Error] line "<>[Error] line "<>[Error] line "<>[Error] line "<>[Error] line "<>[Error] line "<>[Error] line "<>[Error] line "<>[Error] line "<>[Error] line "<>[Error] line "<>[Error] line "<>[Error] line "<>[Parse] complete generation."<