diff options
| author | Mistivia <i@mistivia.com> | 2025-03-26 19:10:25 +0800 |
|---|---|---|
| committer | Mistivia <i@mistivia.com> | 2025-03-26 19:10:25 +0800 |
| commit | 312716a295626f2b60b41777728c7f220fee843d (patch) | |
| tree | 5747882b5a662c29a734dc66486035f93fe42990 /src/as_analyzer.c | |
| parent | b2be728e0cf6f024ecc524b28806012c53ca5206 (diff) | |
finish fvm-as
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; |
