From f1de7b3a09a335ed9753b8a080325ab7d7c0ac33 Mon Sep 17 00:00:00 2001 From: Valk Richard Li <48872266+ValKmjolnir@users.noreply.github.com> Date: Thu, 10 Oct 2019 10:33:14 -0500 Subject: [PATCH] New update --- version1.0/main.cpp | 13 +++++++++++-- version1.0/nasal.h | 2 +- version1.0/nasal_parser.h | 24 +++++------------------- version1.0/nasal_token_type.h | 7 +++++++ version1.0/nasal_var.h | 2 +- 5 files changed, 25 insertions(+), 23 deletions(-) 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&);