From 178038f2c76df49928d39ccb02bb9d3a4ce67fa3 Mon Sep 17 00:00:00 2001 From: Lukas Krickl Date: Thu, 30 Nov 2023 07:05:53 +0100 Subject: [PATCH] WIP: symbols --- src/ulas.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/ulas.c b/src/ulas.c index d149d5c..225ac2e 100644 --- a/src/ulas.c +++ b/src/ulas.c @@ -208,7 +208,13 @@ int ulas_isname(const char *tok, unsigned long n) { } struct ulas_tok *ulas_symbolresolve(const char *name, int *rc) { - // TODO: implement + for (int i = 0; i < ulas.syms.len; i++) { + struct ulas_sym *sym = &ulas.syms.buf[i]; + // when scope is the same as the current one, or scope 0 (global) + if ((sym->scope & ulas.scope) == 0 && strcmp(name, sym->name) == 0) { + return &sym->tok; + } + } return NULL; } -- 2.30.2