From 10b1b31314b9c0e7834a36ee58fb0b01dcaf6efc Mon Sep 17 00:00:00 2001 From: Valk Richard Li <48872266+ValKmjolnir@users.noreply.github.com> Date: Tue, 1 Oct 2019 23:10:49 +0800 Subject: [PATCH] Delete ast.h --- version0.15/ast.h | 82 ----------------------------------------------- 1 file changed, 82 deletions(-) delete mode 100644 version0.15/ast.h diff --git a/version0.15/ast.h b/version0.15/ast.h deleted file mode 100644 index 98bd9b5..0000000 --- a/version0.15/ast.h +++ /dev/null @@ -1,82 +0,0 @@ -#ifndef __AST_H__ -#define __AST_H__ - -#include "token_type.h" -#include -#include -#include - -enum tree_node_type -{ - __syntax_tree_begin=128, - __error_syntax, - __null_statement, - __definition, - __assignment, - __loop, - __choose -}; - -struct node -{ - int type; - int line; - std::string content; - std::list children; -}; - -class abstract_syntax_tree -{ - private: - node tree; - std::stack parser_stack; - public: - abstract_syntax_tree() - { - tree.type=__syntax_tree_begin; - tree.line=0; - tree.content=""; - tree.children.clear(); - } - void init_parser_stack(std::stack& temp) - { - parser_stack=temp; - return; - } - void tree_generator(std::list& error_list) - { - while(!parser_stack.empty()) - { - int type=parser_stack.top().type; - node child_node; - child_node.line=parser_stack.top().line; - child_node.content=""; - child_node.children.clear(); - switch(type) - { - case __var:break; - case __id:break; - case __number:break; - case __string:break; - case __if:break; - case __for:break; - case __forindex:break; - case __foreach:break; - case __while:break; - case __semi:child_node.type=__null_statement;break; - default:child_node.type=__error_syntax;break; - } - if(child_node.type==__error_syntax) - error_list.push_back(parser_stack.top().line); - parser_stack.pop(); - } - return; - } - void run() - { - ; - return; - } -}; - -#endif