diff options
author | Peter Mikkelsen <petermikkelsen10@gmail.com> | 2022-01-19 10:20:11 +0000 |
---|---|---|
committer | Peter Mikkelsen <petermikkelsen10@gmail.com> | 2022-01-19 10:20:11 +0000 |
commit | 5e5915618dbd52eb08f81b8d370fda8cb699dcb7 (patch) | |
tree | 747702c7f0de52a22ca9239314bd85f8eb81fc47 /lexer.c | |
parent | 1cc5b2f1a0317bb4aedf9ae6d319eb1f77170a65 (diff) |
Add zilde ⍬
Diffstat (limited to 'lexer.c')
-rw-r--r-- | lexer.c | 7 |
1 files changed, 6 insertions, 1 deletions
@@ -21,13 +21,18 @@ lexline(Rune *line) if(isspacerune(line[offset])){ offset++; continue; - }else if(runestrchr(L"[]←⋄⍝", line[offset])){ + }else if(runestrchr(L"[]←⋄⍝⍬", line[offset])){ switch(line[offset]){ case '[': stmt->toks[stmt->ntoks].tag = LBracketTag; break; case ']': stmt->toks[stmt->ntoks].tag = RBracketTag; break; case L'←': stmt->toks[stmt->ntoks].tag = ArrowTag; break; case L'⋄': stmt->next = lexline(&line[offset+1]); goto end; case L'⍝': goto end; + case L'⍬': + stmt->toks[stmt->ntoks].tag = ArrayTag; + stmt->toks[stmt->ntoks].array = allocarray(AtypeInt, 1, 0); + stmt->toks[stmt->ntoks].array->shape[0] = 0; + break; } offset++; }else if(line[offset] == '{'){ |