diff options
Diffstat (limited to 'redes/lexparse.c')
| -rw-r--r-- | redes/lexparse.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/redes/lexparse.c b/redes/lexparse.c index 78b7df8..9791ec9 100644 --- a/redes/lexparse.c +++ b/redes/lexparse.c @@ -170,8 +170,18 @@ TokenVec* lex_level(char* line, size_t* pos, char until, TokenVecVec* tok_seq_po .kind = TOK_SUB_OUT, .as.procsub_token_vec = sub_toks }); + } else { + push_to_String(&buf.lit_germ, line[(*pos)++]); } } + MaybeToken m_last = consolidate_buffer(&buf); + if (m_last.some) { + push_to_TokenVec(&tokens, m_last.value); + } + + if (until == '\0') { + push_to_TokenVec(&tokens, (Token){.kind = TOK_SPEC, .as.spec = SPEC_EOL}); + } return push_to_TokenVecVec(tok_seq_pool, tokens); } |
