diff options
Diffstat (limited to 'src/compiler/lexer.c')
-rw-r--r-- | src/compiler/lexer.c | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/src/compiler/lexer.c b/src/compiler/lexer.c index f248641..8994bce 100644 --- a/src/compiler/lexer.c +++ b/src/compiler/lexer.c @@ -123,14 +123,11 @@ LexerNodeArray lexer(char *str) { lexerPushClear(&result, &result_size, iter, &node_str_begin, &node_token, LEXER_TOKEN_NUMBER); } - } else if (isSymbol(c)) { - if (node_token != LEXER_TOKEN_SYMBOL) { + } else if (isSymbol(c) || isSingleSymbol(c)) { + if (node_token != LEXER_TOKEN_SYMBOL || isSingleSymbol(*node_str_begin)) { lexerPushClear(&result, &result_size, iter, &node_str_begin, &node_token, LEXER_TOKEN_SYMBOL); } - } else if (isSingleSymbol(c)) { - lexerPushClear(&result, &result_size, iter, &node_str_begin, &node_token, - LEXER_TOKEN_SYMBOL); } else { RETURN_ERROR: free(result.data); |