diff options
author | Peter Mikkelsen <petermikkelsen10@gmail.com> | 2022-01-14 13:09:26 +0000 |
---|---|---|
committer | Peter Mikkelsen <petermikkelsen10@gmail.com> | 2022-01-14 13:09:26 +0000 |
commit | 3330e6ed47c71b87bb79c5e277214a36d3f2ad3b (patch) | |
tree | 2e019b93bae58aef42d543332cce10dc706f43e7 /eval.c | |
parent | 396543790dc1c844c726b77a95c6180978232abd (diff) |
Add code to simplify arrays of nested scalars, sometimes created by functions or operators
Diffstat (limited to 'eval.c')
-rw-r--r-- | eval.c | 6 |
1 files changed, 6 insertions, 0 deletions
@@ -112,6 +112,12 @@ retry: if(stmt->toks[offset+1].tag == ArrayTag) freearray(stmt->toks[offset+1].array); + if(new.tag == ArrayTag){ + Array *tmp = new.array; + new.array = simplifyarray(tmp); + freearray(tmp); + } + stmt->toks[offset] = new; for(int i = offset+1; i < stmt->ntoks-1; i++) stmt->toks[i] = stmt->toks[i+1]; |