diff options
author | Peter Mikkelsen <petermikkelsen10@gmail.com> | 2022-01-24 21:18:01 +0000 |
---|---|---|
committer | Peter Mikkelsen <petermikkelsen10@gmail.com> | 2022-01-24 21:18:01 +0000 |
commit | 468e0f6313fb620bd2f7ea469178fe02412ddc31 (patch) | |
tree | 7bec5259864136c98c9b3d7dbc972e1ab2be458f /apl9.h | |
parent | 07fe0f96352967457d64ff349f4383c5568bcd42 (diff) |
Implement ⍺⍵⍶⍹ as get-set variables, which may make it easier to do TCO later.
Diffstat (limited to 'apl9.h')
-rw-r--r-- | apl9.h | 8 |
1 files changed, 6 insertions, 2 deletions
@@ -183,6 +183,10 @@ struct DfnFrame { Rune *code; Symtab *symtab; + Datum *left; + Array *right; + Datum *lefto; + Datum *righto; DfnFrame *prev; }; @@ -226,7 +230,7 @@ Datum *eval(Statement *, int); Symbol *getsym(Rune *, int); void initsymtab(void); DfnFrame *getcurrentdfn(void); -DfnFrame *pushdfnframe(Rune *); +DfnFrame *pushdfnframe(Rune *, Datum *, Datum *, Array *, Array *); void popdfnframe(void); vlong globalIO(void); void globalIOset(vlong); @@ -243,7 +247,7 @@ void incref(Array *); /* functions.c */ Array *runfunc(Function, Array *,Array *); -Array *rundfn(Rune *, Array *, Array *); +Array *rundfn(Rune *, Datum *, Datum *, Array *, Array *); Array *runtrain(Function *, int, Array *, Array *, Array *); /* quadnames.c */ |