diff --git a/src/etc/lexer.cpp b/src/etc/lexer.cpp index b5cd636..8cdcc34 100644 --- a/src/etc/lexer.cpp +++ b/src/etc/lexer.cpp @@ -63,9 +63,14 @@ vector& lex(const string& in) } } else { tok::type currentType = getIdentifierCharType(current); - if ((currentType == tok::STRING) || ((currentType == tok::UNEXPECTED) && ((generated.first == tok::IDENTIFIER) || (generated.first == tok::NUMBER)))) { - longLex = false; - } else generated.second.append(string(1, current)); + switch (currentType) { + case tok::UNEXPECTED: if ((generated.first == currentType) || (generated.first == tok::STRING)) break; + case tok::STRING: { + longLex = false; + break; + } + default: generated.second.append(string(1, current)); break; + } } } /* Test