From c09f7492840166bf5fa6ae591824df7fec9f2801 Mon Sep 17 00:00:00 2001 From: LordBaryhobal Date: Sat, 7 Feb 2026 23:23:16 +0100 Subject: [PATCH] fix(fstring): use two different tokens for x and X --- src/core/format_spec/lexer.py | 4 +++- src/core/format_spec/parser.py | 1 + src/core/format_spec/token.py | 1 + 3 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/core/format_spec/lexer.py b/src/core/format_spec/lexer.py index ffb1241..0305d69 100644 --- a/src/core/format_spec/lexer.py +++ b/src/core/format_spec/lexer.py @@ -95,8 +95,10 @@ class FormatSpecLexer: self.add_token(TokenType.T_DEC) case "o": self.add_token(TokenType.T_OCT) - case "x" | "X": + case "x": self.add_token(TokenType.T_HEX) + case "X": + self.add_token(TokenType.T_HEX_CAPS) case "e": self.add_token(TokenType.T_SCI) case "f": diff --git a/src/core/format_spec/parser.py b/src/core/format_spec/parser.py index a1084b2..53e8f8a 100644 --- a/src/core/format_spec/parser.py +++ b/src/core/format_spec/parser.py @@ -14,6 +14,7 @@ class FormatSpecParser: TokenType.T_DEC, TokenType.T_OCT, TokenType.T_HEX, + TokenType.T_HEX_CAPS, TokenType.T_SCI, TokenType.T_FIX, TokenType.T_PCT, diff --git a/src/core/format_spec/token.py b/src/core/format_spec/token.py index d336d99..d41559e 100644 --- a/src/core/format_spec/token.py +++ b/src/core/format_spec/token.py @@ -24,6 +24,7 @@ class TokenType(Enum): T_DEC = auto() T_OCT = auto() T_HEX = auto() + T_HEX_CAPS = auto() ## Float T_SCI = auto()