diff options
Diffstat (limited to '')
-rw-r--r-- | masm/parse.c | 26 |
1 files changed, 0 insertions, 26 deletions
diff --git a/masm/parse.c b/masm/parse.c index 9f8ddb1..452045b 100644 --- a/masm/parse.c +++ b/masm/parse.c @@ -110,29 +110,6 @@ static int parse_label(struct parser *parser, return M_ERROR; strcpy(expr->text, token.text); - struct symbol *ref; - if (symtbl_find(&parser->sym_tbl, &ref, token.text) == M_SUCCESS) { - if (ref->flag == SYM_GLOBAL && ref->sec == NULL) { - ref->sec = parser->sec_tbl.current; - ref->index = parser->sec_tbl.current->count; - return M_SUCCESS; - } - ERROR_POS(token, "redefined symbol '%s'", token.text); - return M_ERROR; - } - - struct symbol symbol; - symbol = (struct symbol) { - .name = "", - .sec = parser->sec_tbl.current, - .index = parser->sec_tbl.current->count, - .flag = SYM_LOCAL, - }; - strcpy(symbol.name, token.text); - - if (symtbl_push(&parser->sym_tbl, symbol)) - return M_ERROR; - return M_SUCCESS; } @@ -184,8 +161,6 @@ int parser_init(struct lexer *lexer, struct parser *parser) { parser->lexer = lexer; parser->peek.type = TOK_EOF; - if (symtbl_init(&parser->sym_tbl)) - return M_ERROR; if (sectbl_init(&parser->sec_tbl)) return M_ERROR; if (reftbl_init(&parser->ref_tbl)) @@ -196,7 +171,6 @@ int parser_init(struct lexer *lexer, struct parser *parser) void parser_free(struct parser *parser) { - symtbl_free(&parser->sym_tbl); sectbl_free(&parser->sec_tbl); reftbl_free(&parser->ref_tbl); } |