diff --git a/interpreter/src/Lexer.cpp b/interpreter/src/Lexer.cpp index 72b2ce2..50d2005 100644 --- a/interpreter/src/Lexer.cpp +++ b/interpreter/src/Lexer.cpp @@ -192,11 +192,17 @@ Token Lexer::id() std::string result; std::map RESERVED_KEYWORDS = getReservedKeywords(); - while (_currentChar != '\0' && (isalnum(_currentChar) || _currentChar == '(' || _currentChar == ')')) { + while (_currentChar != '\0' && isalnum(_currentChar)) { result += _currentChar; advance(); } + if (_currentChar == '(' && peekNextChar() == ')') { + result += "()"; + advance(); + advance(); + } + if (RESERVED_KEYWORDS.count(result)) { return RESERVED_KEYWORDS.at(result); } else {