summaryrefslogtreecommitdiff
path: root/src/compiler/lexer.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/compiler/lexer.c')
-rw-r--r--src/compiler/lexer.c7
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);