diff --git a/version1.0/main.cpp b/version1.0/main.cpp index 0f4f49d..d3bcf36 100644 --- a/version1.0/main.cpp +++ b/version1.0/main.cpp @@ -4,6 +4,7 @@ int main() resource_programme_process prog; nasal_lexer lex; nasal_parser pas; + generator gen; std::string command; std::cout<<">> Nasal interpreter by ValKmjolnir"<> Input [help] to find help."< #include "nasal_token_type.h" -#include "abstract_syntax_tree.h" #include "ast.h" #include "nasal_var.h" #include "nasal_var_inrun_list.h" #include "nasal_lexer.h" #include "nasal_parser.h" +#include "ast_generator.h" #include "nasal_var.cpp" diff --git a/version1.0/nasal_parser.h b/version1.0/nasal_parser.h index edf10d5..91158ed 100644 --- a/version1.0/nasal_parser.h +++ b/version1.0/nasal_parser.h @@ -1,14 +1,10 @@ #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; @@ -30,6 +26,10 @@ class nasal_parser parse.pop(); return; } + int get_error_num() + { + return error; + } void print_parser_stack() { if(parse.empty()) @@ -84,7 +84,7 @@ class nasal_parser } if(temp.empty()) { - std::cout<<">>[Parse] [-Warning] Empty lexer list."<>[Parse] warning: empty lexer list."<>[Abstract-syntax-tree]"<>[Parse] "< root; + std::list root; public: nasal_function(); nasal_function(const nasal_function&);