diff options
author | Peter Mikkelsen <petermikkelsen10@gmail.com> | 2022-01-16 01:22:17 +0000 |
---|---|---|
committer | Peter Mikkelsen <petermikkelsen10@gmail.com> | 2022-01-16 01:22:17 +0000 |
commit | 0f9d219bf2f9c24f24014499c3ef6ee50909e054 (patch) | |
tree | 537a3641a9eb6be35c0a7960cffd32f18b106b58 /lexer.c | |
parent | de3bbbc0981bde7a02f7f5398ce921e0beb4c174 (diff) |
Add negative numbers to lexer and printer
Diffstat (limited to 'lexer.c')
-rw-r--r-- | lexer.c | 6 |
1 files changed, 5 insertions, 1 deletions
@@ -85,10 +85,14 @@ lexline(Rune *line) stmt->toks[stmt->ntoks].operator.dyadic = 1; stmt->toks[stmt->ntoks].operator.code = p-primdyadopnames; offset++; - }else if(isdigitrune(line[offset])){ + }else if(isdigitrune(line[offset]) || (line[offset] == L'¯' && isdigitrune(line[offset+1]))){ char buf[64]; char *p = buf; int floating = 0; + if(line[offset] == L'¯'){ + *p++ = '-'; + offset++; + } get_digits: while(isdigitrune(line[offset])) p += runetochar(p, &line[offset++]); |