From 85aa2ad424c68343ef09e5f6df243ad6499e47d5 Mon Sep 17 00:00:00 2001 From: Peter Mikkelsen Date: Wed, 12 Jan 2022 00:09:12 +0000 Subject: =?UTF-8?q?Add=20a=20small=20version=20of=20monadic=20=E2=8D=B3=20?= =?UTF-8?q?and=20some=20simple=20form=20of=20=E2=8E=95IO?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lexer.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'lexer.c') diff --git a/lexer.c b/lexer.c index bc5aa50..a7557c2 100644 --- a/lexer.c +++ b/lexer.c @@ -53,11 +53,15 @@ lexline(Rune *line, int *ntoks, Symtab *symtab) *p = 0; tokens[*ntoks].tag = ArrayTag; tokens[*ntoks].array = mkscalarint(atoll(buf)); - }else if(isalpharune(line[offset])){ + }else if(isalpharune(line[offset]) || line[offset] == L'⎕'){ + int quadname = L'⎕' == line[offset]; Rune buf[64]; Rune *p = buf; - while(isalpharune(line[offset])){ - *p = line[offset]; + while(isalpharune(line[offset]) || (line[offset] == L'⎕' && p == buf)){ + if(quadname) + *p = toupperrune(line[offset]); + else + *p = line[offset]; p++; offset++; } -- cgit v1.2.3