From d653cf850bcdc9e7f846e06c8b78c9a0a5f5bd9f Mon Sep 17 00:00:00 2001 From: astitva Date: Sun, 12 Jul 2026 01:55:13 +0530 Subject: [PATCH] fix(scanner): correct implements keyword tokenization --- src/compiler/lexer/scanner.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/compiler/lexer/scanner.c b/src/compiler/lexer/scanner.c index 68aa1ec9..1b7f4281 100644 --- a/src/compiler/lexer/scanner.c +++ b/src/compiler/lexer/scanner.c @@ -358,8 +358,9 @@ static PxTokenType identifierType(Scanner *scanner) { switch (scanner->start[1]) { case 'f': return checkKeyword(scanner, 2, 0, "", TOKEN_IF); case 'm': - if (scanner->current - scanner->start > 2 && scanner->start[2] == 'l') - return checkKeyword(scanner, 4, 7, "ements", TOKEN_IMPLEMENTS); + if (scanner->current - scanner->start > 3 && + scanner->start[2] == 'p' && scanner->start[3] == 'l') + return checkKeyword(scanner, 4, 6, "ements", TOKEN_IMPLEMENTS); break; case 'n': if (scanner->current - scanner->start > 2) { @@ -743,5 +744,4 @@ Token scanToken(Scanner *scanner) { } return errorToken(scanner, "Unexpected character."); -} - +} \ No newline at end of file