From 9a938d3ce26b2d3728d791c0f858acdbd50223b5 Mon Sep 17 00:00:00 2001 From: Peter Mikkelsen Date: Sun, 23 Jan 2022 21:16:02 +0000 Subject: =?UTF-8?q?Rework=20symbol=20lookup=20to=20use=20lexical=20scoping?= =?UTF-8?q?,=20and=20implement=20recursive=20function=20call=20via=20?= =?UTF-8?q?=E2=88=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- quadnames.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'quadnames.c') diff --git a/quadnames.c b/quadnames.c index df98193..fa1b247 100644 --- a/quadnames.c +++ b/quadnames.c @@ -34,7 +34,7 @@ quadnamedatum(QuadnameDef q) d.tag = q.tag; switch(q.tag){ case NameTag: - d.symbol = getsym(currentsymtab, q.name); + d.symbol = getsym(q.name); d.symbol->getfn = q.get; d.symbol->setfn = q.set; d.symbol->undefined = 0; @@ -76,7 +76,7 @@ getio(void) { Datum *d = mallocz(sizeof(Datum), 1); d->tag = ArrayTag; - d->array = mkscalarint(currentsymtab->io); + d->array = mkscalarint(globalIO()); return d; } @@ -86,7 +86,7 @@ setio(Datum new) if(new.tag != ArrayTag || new.array->rank != 0 || new.array->type != AtypeInt || (new.array->intdata[0] != 0 && new.array->intdata[0] != 1)) throwerror(nil, EDomain); else - currentsymtab->io = new.array->intdata[0]; + globalIOset(new.array->intdata[0]); } /* ⎕PP */ @@ -114,7 +114,7 @@ getdiv(void) { Datum *d = mallocz(sizeof(Datum), 1); d->tag = ArrayTag; - d->array = mkscalarint(currentsymtab->div); + d->array = mkscalarint(globalDIV()); return d; } @@ -124,7 +124,7 @@ setdiv(Datum new) if(new.tag != ArrayTag || new.array->rank != 0 || new.array->type != AtypeInt || (new.array->intdata[0] != 0 && new.array->intdata[0] != 1)) throwerror(nil, EDomain); else - currentsymtab->div = new.array->intdata[0]; + globalDIVset(new.array->intdata[0]); } /* ⎕RUN */ -- cgit v1.2.3