diff options
author | Peter Mikkelsen <petermikkelsen10@gmail.com> | 2022-02-22 12:29:23 +0000 |
---|---|---|
committer | Peter Mikkelsen <petermikkelsen10@gmail.com> | 2022-02-22 12:29:23 +0000 |
commit | e8e6feeb95cdc3b81a2c17b5a342a3d0b170ccb4 (patch) | |
tree | 8952eb98e03c3153143e8d5598988ef537153135 /lexer.c | |
parent | 67cbbe89c1b876b88557def75ec376d9f3330588 (diff) |
Prepare for error guards
Diffstat (limited to 'lexer.c')
-rw-r--r-- | lexer.c | 7 |
1 files changed, 7 insertions, 0 deletions
@@ -88,11 +88,18 @@ lexline(InputStream *input, int toplevel) }else if(!toplevel && peek == ':'){ Rune buf[MAX_LINE_LENGTH]; Rune *p = buf; + int errorguard = 0; + if(getrune(input) == ':') + errorguard = 1; + else + ungetrune(input); + while((peek = getrune(input)) != L'⋄' && peek != '\n' && !inputEOF(input)) *p++ = peek; *p = 0; ungetrune(input); stmt->guard = lexlinestr(buf, toplevel); + stmt->errorguard = errorguard; stmt->ntoks--; }else if(peek == '{'){ int unclosed = 1; |