aboutsummaryrefslogtreecommitdiff
path: root/src/as_analyzer.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/as_analyzer.c')
-rw-r--r--src/as_analyzer.c9
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;