diff options
author | Peter Mikkelsen <petermikkelsen10@gmail.com> | 2022-05-09 18:59:23 +0000 |
---|---|---|
committer | Peter Mikkelsen <petermikkelsen10@gmail.com> | 2022-05-09 18:59:23 +0000 |
commit | e425895a315d65ff9ca1e2d7911c2fd21d49fe5e (patch) | |
tree | 7622287d299dbf3edad7679841a59ac47348f1f5 /lexer.c | |
parent | 0f547edbd76814f7a8299f5e1647cd0816276ba8 (diff) |
Fix some nasty bugs with empty lines in dfns, and with stranding of ⍺ and ⍵.
Diffstat (limited to 'lexer.c')
-rw-r--r-- | lexer.c | 8 |
1 files changed, 7 insertions, 1 deletions
@@ -72,8 +72,14 @@ lexline(InputStream *input, int toplevel) case L'⋄': if(stmt->ntoks == 0) stmt = lexline(input, toplevel); - else + else{ stmt->next = lexline(input, toplevel); + if(stmt->next && stmt->next->ntoks == 0){ // Prevent empty statements + freestatement(*(stmt->next)); + free(stmt->next); + stmt->next = nil; + } + } goto end; case L'⍝': while(peek != '\n' && !inputEOF(input)) |