diff options
Diffstat (limited to 'src/as_analyzer.c')
| -rw-r--r-- | src/as_analyzer.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/as_analyzer.c b/src/as_analyzer.c index f48353f..5a75794 100644 --- a/src/as_analyzer.c +++ b/src/as_analyzer.c @@ -53,6 +53,15 @@ void sym_table_add(struct allocator * alct, struct sym_table* tbl, const char* n tbl->size += 1; } +int sym_table_lookup(sym_table* tbl, const char* name) { + for (int i = 0; i < tbl->size; i++) { + if (strcmp(name, tbl->buf[i].name) == 0) { + return tbl->buf[i].offset; + } + } + return -1; +} + struct sym_table analyze_prog(struct allocator * alct, struct prog * prog) { process_section_label(alct, prog); struct stmt * * stmts = prog->stmts->stmts; |
