From 3da041f2e17fdeb69bf345aadf89c5fcc1814260 Mon Sep 17 00:00:00 2001 From: Bad Diode Date: Mon, 18 Apr 2022 16:27:21 -0300 Subject: Move semantic analysis to separate file --- src/parser.h | 22 +++------------------- 1 file changed, 3 insertions(+), 19 deletions(-) (limited to 'src/parser.h') diff --git a/src/parser.h b/src/parser.h index cc3ba92..206ca4c 100644 --- a/src/parser.h +++ b/src/parser.h @@ -3,32 +3,16 @@ #include "lexer.h" #include "nodes.h" -#include "hashtable.h" -typedef struct Type { - StringView name; - size_t size; // (bytes) -} Type; - -typedef struct Scope { - struct Scope *parent; - HashTable *symbols; - HashTable *types; -} Scope; - -typedef struct ParseTree { - Node **roots; - Scope *global_scope; - Scope *current_scope; -} ParseTree; +typedef Node* Root; typedef struct Parser { Token *tokens; size_t current_token; - ParseTree *parse_tree; + Root *roots; } Parser; -ParseTree * parse(Token *tokens); +Root * parse(Token *tokens); Node * parse_next(Parser *parser); #endif // BDL_PARSER_H -- cgit v1.2.1