diff options
-rw-r--r-- | src/lexer.cc | 14 |
1 files changed, 3 insertions, 11 deletions
diff --git a/src/lexer.cc b/src/lexer.cc index 129531d..8f712e2 100644 --- a/src/lexer.cc +++ b/src/lexer.cc @@ -107,17 +107,9 @@ Lexer::string(void) return; } - int token_length = m_current - m_start - 1; - if (token_length == 0) - token_length++; - - char *lexeme; - asprintf(&lexeme, "%.*s", token_length, m_script + m_start + 1); - - Token token; - token.init(STRING, lexeme, m_line); - m_tokens->add(&token); - token.clean(); + /* opening double quotes should not be in the lexeme */ + m_start++; + add_token(STRING); advance(); } |