diff --git a/src/util/src/ttokenizer.c b/src/util/src/ttokenizer.c index 8fca99291164a429867a090c98a61156daa40af2..2b6307aae82d0cce2c8d5fd4d8973b85ed7821cb 100644 --- a/src/util/src/ttokenizer.c +++ b/src/util/src/ttokenizer.c @@ -528,6 +528,8 @@ uint32_t tGetToken(char* z, uint32_t* tokenId) { for (i = 1; isdigit(z[i]); i++) { } + uint32_t j = i; + /* here is the 1u/1a/2s/3m/9y */ if ((z[i] == 'b' || z[i] == 'u' || z[i] == 'a' || z[i] == 's' || z[i] == 'm' || z[i] == 'h' || z[i] == 'd' || z[i] == 'n' || z[i] == 'y' || z[i] == 'w' || @@ -562,6 +564,15 @@ uint32_t tGetToken(char* z, uint32_t* tokenId) { } *tokenId = TK_FLOAT; } + + if (*tokenId == TK_INTEGER && z[j] != '\0') { + char c = z[j] | 0x20; + if (c >= 'a' && c <= 'z') { + // ascii + *tokenId = TK_ID; + } + } + return i; } case '[': {