From 5e5915618dbd52eb08f81b8d370fda8cb699dcb7 Mon Sep 17 00:00:00 2001 From: Peter Mikkelsen Date: Wed, 19 Jan 2022 10:20:11 +0000 Subject: =?UTF-8?q?Add=20zilde=20=E2=8D=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lexer.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'lexer.c') diff --git a/lexer.c b/lexer.c index 25b5d75..3fd708d 100644 --- a/lexer.c +++ b/lexer.c @@ -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] == '{'){ -- cgit v1.2.3