diff options
author | Peter Mikkelsen <peter@pmikkelsen.com> | 2022-02-09 13:08:12 +0000 |
---|---|---|
committer | Peter Mikkelsen <peter@pmikkelsen.com> | 2022-02-09 13:08:12 +0000 |
commit | e195d66a333102924bae452ba09dc20cba4e96e6 (patch) | |
tree | 83ce2bd6c816eb9087b4c7f575e52e77ae8faa73 /symbol.c | |
parent | a8f66d313a4ec83622e1e0fce3206a65c12324a9 (diff) |
Since symbols now have pointers to their values, we don't need the symbol.undefined field anymore
Diffstat (limited to 'symbol.c')
-rw-r--r-- | symbol.c | 9 |
1 files changed, 2 insertions, 7 deletions
@@ -47,9 +47,9 @@ getsym(Rune *name, int fresh) tab->syms = erealloc(tab->syms, sizeof(Symbol *) * tab->nsyms); tab->syms[tab->nsyms-1] = emalloc(sizeof(Symbol)); tab->syms[tab->nsyms-1]->name = runestrdup(name); - tab->syms[tab->nsyms-1]->undefined = 1; tab->syms[tab->nsyms-1]->getfn = nil; tab->syms[tab->nsyms-1]->setfn = nil; + tab->syms[tab->nsyms-1]->value = nil; return tab->syms[tab->nsyms-1]; } @@ -71,8 +71,7 @@ freesymtab(Symtab *tab) int i; for(i = 0; i < tab->nsyms; i++){ Symbol *s = tab->syms[i]; - if(s->undefined == 0) - freedatum(s->value); + freedatum(s->value); free(s->name); } free(tab->syms); @@ -87,22 +86,18 @@ initsymtab(void) s = getsym(L"⍺", 1); s->getfn = getalpha; s->setfn = setalpha; - s->undefined = 0; s = getsym(L"⍵", 1); s->getfn = getomega; s->setfn = setsyntaxerr; - s->undefined = 0; s = getsym(L"⍶", 1); s->getfn = getalphao; s->setfn = setsyntaxerr; - s->undefined = 0; s = getsym(L"⍹", 1); s->getfn = getomegao; s->setfn = setsyntaxerr; - s->undefined = 0; } DfnFrame * |