diff options
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 * |