From e195d66a333102924bae452ba09dc20cba4e96e6 Mon Sep 17 00:00:00 2001 From: Peter Mikkelsen Date: Wed, 9 Feb 2022 13:08:12 +0000 Subject: Since symbols now have pointers to their values, we don't need the symbol.undefined field anymore --- symbol.c | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) (limited to 'symbol.c') diff --git a/symbol.c b/symbol.c index 046857b..8f4797a 100644 --- a/symbol.c +++ b/symbol.c @@ -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 * -- cgit v1.2.3