diff options
author | Peter Mikkelsen <petermikkelsen10@gmail.com> | 2022-01-24 21:42:35 +0000 |
---|---|---|
committer | Peter Mikkelsen <petermikkelsen10@gmail.com> | 2022-01-24 21:42:35 +0000 |
commit | 5a5136ef9f981a603ca2e933e47cfd3a178be7cc (patch) | |
tree | fa086c71deaa2b82ad1644bb66fe69181ed1804b /quadnames.c | |
parent | fbbd0b34314d58cc4d210e5ff07c2726fdadd659 (diff) |
Don't open symbols when lexing
Diffstat (limited to 'quadnames.c')
-rw-r--r-- | quadnames.c | 22 |
1 files changed, 18 insertions, 4 deletions
diff --git a/quadnames.c b/quadnames.c index 093a234..8ce54e1 100644 --- a/quadnames.c +++ b/quadnames.c @@ -27,6 +27,23 @@ QuadnameDef quadnames[] = { {nil, 0, nil, nil, nil, nil} /* MUST BE LAST */ }; +void +initquadnames(void) +{ + Symbol *s; + QuadnameDef q; + int i; + for(i = 0; quadnames[i].name != nil; i++){ + q = quadnames[i]; + if(q.tag == NameTag){ + s = getsym(q.name, 1); + s->getfn = q.get; + s->setfn = q.set; + s->undefined = 0; + } + } +} + Datum quadnamedatum(QuadnameDef q) { @@ -34,10 +51,7 @@ quadnamedatum(QuadnameDef q) d.tag = q.tag; switch(q.tag){ case NameTag: - d.symbol = getsym(q.name, 0); - d.symbol->getfn = q.get; - d.symbol->setfn = q.set; - d.symbol->undefined = 0; + d.name = q.name; break; case FunctionTag: d.func.type = FunctypeQuad; |