From b40ec98eadbc69e3b2e4403a4aac6a1560d9be32 Mon Sep 17 00:00:00 2001 From: Wiktor Kubski Date: Sun, 17 Nov 2024 16:08:48 +0000 Subject: [PATCH] Fix Lexer --- interpreter/src/Lexer.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) 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 {