summaryrefslogtreecommitdiff
path: root/lexer.c
diff options
context:
space:
mode:
authorPeter Mikkelsen <petermikkelsen10@gmail.com>2022-02-22 11:05:30 +0000
committerPeter Mikkelsen <petermikkelsen10@gmail.com>2022-02-22 11:05:30 +0000
commitdf6c3247c40b05266894d45136dc64f96b0cbac9 (patch)
tree568b29e803bc9e58a1147b64dedb9cbd3b34c13d /lexer.c
parent7c39c4eab3e16c201b22e0bf29e51006f60e99e7 (diff)
Implement lexical scope instead of dynamic scope rules.
Diffstat (limited to 'lexer.c')
-rw-r--r--lexer.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/lexer.c b/lexer.c
index ed2c2e4..93fdb62 100644
--- a/lexer.c
+++ b/lexer.c
@@ -118,6 +118,7 @@ lexline(InputStream *input, int toplevel)
stmt->toks[stmt->ntoks] = allocdatum(FunctionTag, 0);
stmt->toks[stmt->ntoks]->func.type = FunctypeDfn;
stmt->toks[stmt->ntoks]->func.dfn = runestrdup(buf);
+ stmt->toks[stmt->ntoks]->func.scope = getcurrentdfn();
}else{
stmt->toks[stmt->ntoks] = allocdatum(oplevel == 1 ? MonadicOpTag : DyadicOpTag, 0);
stmt->toks[stmt->ntoks]->operator.type = OperatortypeDop;