diff --git a/src/pyk/kast/outer_lexer.py b/src/pyk/kast/outer_lexer.py index 123eb2ad4..1e54ded68 100644 --- a/src/pyk/kast/outer_lexer.py +++ b/src/pyk/kast/outer_lexer.py @@ -74,7 +74,7 @@ def __add__(self, other: object) -> Loc: return NotImplemented -_INIT_LOC: Final = Loc(1, 0) +INIT_LOC: Final = Loc(1, 0) class Token(NamedTuple): @@ -89,7 +89,7 @@ def let(self, *, text: str | None = None, type: TokenType | None = None, loc: Lo return Token(text=text, type=type, loc=loc) -_EOF_TOKEN: Final = Token('', TokenType.EOF, _INIT_LOC) +_EOF_TOKEN: Final = Token('', TokenType.EOF, INIT_LOC) _SIMPLE_CHARS: Final = { ',': TokenType.COMMA, @@ -739,7 +739,7 @@ def _strip_bubble_attr(bubble: str) -> tuple[str, list[Token]]: next(it) # skip "[" la = next(it, '') - tokens = [Token('[', TokenType.LBRACK, _INIT_LOC)] + tokens = [Token('[', TokenType.LBRACK, INIT_LOC)] attr_tokens = _attr(la, it) try: while True: @@ -769,22 +769,22 @@ def _attr(la: str, it: Iterator[str]) -> Generator[Token, None, str]: la = _skip_ws_and_comments(la, it) if la == '(': # TAG_STATE - yield Token('(', TokenType.LPAREN, _INIT_LOC) + yield Token('(', TokenType.LPAREN, INIT_LOC) la = next(it, '') if la == '"': text, token_type, la = _string(la, it) - yield Token(text, token_type, _INIT_LOC) + yield Token(text, token_type, INIT_LOC) else: content, la = _attr_content(la, it) if content: # allows 'key()' - yield Token(content, TokenType.ATTR_CONTENT, _INIT_LOC) + yield Token(content, TokenType.ATTR_CONTENT, INIT_LOC) if la != ')': raise _unexpected_character(la) - yield Token(')', TokenType.RPAREN, _INIT_LOC) + yield Token(')', TokenType.RPAREN, INIT_LOC) la = next(it, '') la = _skip_ws_and_comments(la, it) @@ -792,14 +792,14 @@ def _attr(la: str, it: Iterator[str]) -> Generator[Token, None, str]: if la != ',': break - yield Token(',', TokenType.COMMA, _INIT_LOC) + yield Token(',', TokenType.COMMA, INIT_LOC) la = next(it, '') la = _skip_ws_and_comments(la, it) if la != ']': raise _unexpected_character(la) - yield Token(']', TokenType.RBRACK, _INIT_LOC) + yield Token(']', TokenType.RBRACK, INIT_LOC) la = next(it, '') return la # noqa: B901 @@ -840,7 +840,7 @@ def _attr_key(la: str, it: Iterator[str]) -> tuple[Token, str]: la = next(it, '') attr_key = ''.join(consumed) - return Token(attr_key, TokenType.ATTR_KEY, _INIT_LOC), la + return Token(attr_key, TokenType.ATTR_KEY, INIT_LOC), la _ATTR_CONTENT_FORBIDDEN: Final = {'', '\n', '\r', '"'} diff --git a/src/tests/unit/kast/test_outer_lexer.py b/src/tests/unit/kast/test_outer_lexer.py index 8722dc7c0..770fa59f9 100644 --- a/src/tests/unit/kast/test_outer_lexer.py +++ b/src/tests/unit/kast/test_outer_lexer.py @@ -5,7 +5,7 @@ import pytest from pyk.kast.outer_lexer import ( - _INIT_LOC, + INIT_LOC, Loc, LocationIterator, Token, @@ -459,132 +459,132 @@ def test_klabel(text: str, expected_token: Token, expected_remaining: str) -> No ATTR_TEST_DATA: Final = ( - ('a]', [Token('a', TokenType.ATTR_KEY, _INIT_LOC), Token(']', TokenType.RBRACK, _INIT_LOC)], ''), - (' a ] ', [Token('a', TokenType.ATTR_KEY, _INIT_LOC), Token(']', TokenType.RBRACK, _INIT_LOC)], ' '), - ('a]', [Token('a', TokenType.ATTR_KEY, _INIT_LOC), Token(']', TokenType.RBRACK, _INIT_LOC)], ''), - ('1a-B<-->]', [Token('1a-B<-->', TokenType.ATTR_KEY, _INIT_LOC), Token(']', TokenType.RBRACK, _INIT_LOC)], ''), + ('a]', [Token('a', TokenType.ATTR_KEY, INIT_LOC), Token(']', TokenType.RBRACK, INIT_LOC)], ''), + (' a ] ', [Token('a', TokenType.ATTR_KEY, INIT_LOC), Token(']', TokenType.RBRACK, INIT_LOC)], ' '), + ('a]', [Token('a', TokenType.ATTR_KEY, INIT_LOC), Token(']', TokenType.RBRACK, INIT_LOC)], ''), + ('1a-B<-->]', [Token('1a-B<-->', TokenType.ATTR_KEY, INIT_LOC), Token(']', TokenType.RBRACK, INIT_LOC)], ''), ( 'a()] ', [ - Token('a', TokenType.ATTR_KEY, _INIT_LOC), - Token('(', TokenType.LPAREN, _INIT_LOC), - Token(')', TokenType.RPAREN, _INIT_LOC), - Token(']', TokenType.RBRACK, _INIT_LOC), + Token('a', TokenType.ATTR_KEY, INIT_LOC), + Token('(', TokenType.LPAREN, INIT_LOC), + Token(')', TokenType.RPAREN, INIT_LOC), + Token(']', TokenType.RBRACK, INIT_LOC), ], ' ', ), ( 'a("")]', [ - Token('a', TokenType.ATTR_KEY, _INIT_LOC), - Token('(', TokenType.LPAREN, _INIT_LOC), - Token('""', TokenType.STRING, _INIT_LOC), - Token(')', TokenType.RPAREN, _INIT_LOC), - Token(']', TokenType.RBRACK, _INIT_LOC), + Token('a', TokenType.ATTR_KEY, INIT_LOC), + Token('(', TokenType.LPAREN, INIT_LOC), + Token('""', TokenType.STRING, INIT_LOC), + Token(')', TokenType.RPAREN, INIT_LOC), + Token(']', TokenType.RBRACK, INIT_LOC), ], '', ), ( 'a("hello")]', [ - Token('a', TokenType.ATTR_KEY, _INIT_LOC), - Token('(', TokenType.LPAREN, _INIT_LOC), - Token('"hello"', TokenType.STRING, _INIT_LOC), - Token(')', TokenType.RPAREN, _INIT_LOC), - Token(']', TokenType.RBRACK, _INIT_LOC), + Token('a', TokenType.ATTR_KEY, INIT_LOC), + Token('(', TokenType.LPAREN, INIT_LOC), + Token('"hello"', TokenType.STRING, INIT_LOC), + Token(')', TokenType.RPAREN, INIT_LOC), + Token(']', TokenType.RBRACK, INIT_LOC), ], '', ), ( 'a( )] ', [ - Token('a', TokenType.ATTR_KEY, _INIT_LOC), - Token('(', TokenType.LPAREN, _INIT_LOC), - Token(' ', TokenType.ATTR_CONTENT, _INIT_LOC), - Token(')', TokenType.RPAREN, _INIT_LOC), - Token(']', TokenType.RBRACK, _INIT_LOC), + Token('a', TokenType.ATTR_KEY, INIT_LOC), + Token('(', TokenType.LPAREN, INIT_LOC), + Token(' ', TokenType.ATTR_CONTENT, INIT_LOC), + Token(')', TokenType.RPAREN, INIT_LOC), + Token(']', TokenType.RBRACK, INIT_LOC), ], ' ', ), ( 'a(())] ', [ - Token('a', TokenType.ATTR_KEY, _INIT_LOC), - Token('(', TokenType.LPAREN, _INIT_LOC), - Token('()', TokenType.ATTR_CONTENT, _INIT_LOC), - Token(')', TokenType.RPAREN, _INIT_LOC), - Token(']', TokenType.RBRACK, _INIT_LOC), + Token('a', TokenType.ATTR_KEY, INIT_LOC), + Token('(', TokenType.LPAREN, INIT_LOC), + Token('()', TokenType.ATTR_CONTENT, INIT_LOC), + Token(')', TokenType.RPAREN, INIT_LOC), + Token(']', TokenType.RBRACK, INIT_LOC), ], ' ', ), ( 'a(/*)] ', [ - Token('a', TokenType.ATTR_KEY, _INIT_LOC), - Token('(', TokenType.LPAREN, _INIT_LOC), - Token('/*', TokenType.ATTR_CONTENT, _INIT_LOC), - Token(')', TokenType.RPAREN, _INIT_LOC), - Token(']', TokenType.RBRACK, _INIT_LOC), + Token('a', TokenType.ATTR_KEY, INIT_LOC), + Token('(', TokenType.LPAREN, INIT_LOC), + Token('/*', TokenType.ATTR_CONTENT, INIT_LOC), + Token(')', TokenType.RPAREN, INIT_LOC), + Token(']', TokenType.RBRACK, INIT_LOC), ], ' ', ), ( 'a(()())] ', [ - Token('a', TokenType.ATTR_KEY, _INIT_LOC), - Token('(', TokenType.LPAREN, _INIT_LOC), - Token('()()', TokenType.ATTR_CONTENT, _INIT_LOC), - Token(')', TokenType.RPAREN, _INIT_LOC), - Token(']', TokenType.RBRACK, _INIT_LOC), + Token('a', TokenType.ATTR_KEY, INIT_LOC), + Token('(', TokenType.LPAREN, INIT_LOC), + Token('()()', TokenType.ATTR_CONTENT, INIT_LOC), + Token(')', TokenType.RPAREN, INIT_LOC), + Token(']', TokenType.RBRACK, INIT_LOC), ], ' ', ), ( 'a( tag content (()) () )]', [ - Token('a', TokenType.ATTR_KEY, _INIT_LOC), - Token('(', TokenType.LPAREN, _INIT_LOC), - Token(' tag content (()) () ', TokenType.ATTR_CONTENT, _INIT_LOC), - Token(')', TokenType.RPAREN, _INIT_LOC), - Token(']', TokenType.RBRACK, _INIT_LOC), + Token('a', TokenType.ATTR_KEY, INIT_LOC), + Token('(', TokenType.LPAREN, INIT_LOC), + Token(' tag content (()) () ', TokenType.ATTR_CONTENT, INIT_LOC), + Token(')', TokenType.RPAREN, INIT_LOC), + Token(']', TokenType.RBRACK, INIT_LOC), ], '', ), ( 'a,b,c]', [ - Token('a', TokenType.ATTR_KEY, _INIT_LOC), - Token(',', TokenType.COMMA, _INIT_LOC), - Token('b', TokenType.ATTR_KEY, _INIT_LOC), - Token(',', TokenType.COMMA, _INIT_LOC), - Token('c', TokenType.ATTR_KEY, _INIT_LOC), - Token(']', TokenType.RBRACK, _INIT_LOC), + Token('a', TokenType.ATTR_KEY, INIT_LOC), + Token(',', TokenType.COMMA, INIT_LOC), + Token('b', TokenType.ATTR_KEY, INIT_LOC), + Token(',', TokenType.COMMA, INIT_LOC), + Token('c', TokenType.ATTR_KEY, INIT_LOC), + Token(']', TokenType.RBRACK, INIT_LOC), ], '', ), ( ' /* 1 */ a /* 2 */ , b /* 3 */ ]', [ - Token('a', TokenType.ATTR_KEY, _INIT_LOC), - Token(',', TokenType.COMMA, _INIT_LOC), - Token('b', TokenType.ATTR_KEY, _INIT_LOC), - Token(']', TokenType.RBRACK, _INIT_LOC), + Token('a', TokenType.ATTR_KEY, INIT_LOC), + Token(',', TokenType.COMMA, INIT_LOC), + Token('b', TokenType.ATTR_KEY, INIT_LOC), + Token(']', TokenType.RBRACK, INIT_LOC), ], '', ), ( 'a("hello"), b(foo(bar(%), baz))]', [ - Token('a', TokenType.ATTR_KEY, _INIT_LOC), - Token('(', TokenType.LPAREN, _INIT_LOC), - Token('"hello"', TokenType.STRING, _INIT_LOC), - Token(')', TokenType.RPAREN, _INIT_LOC), - Token(',', TokenType.COMMA, _INIT_LOC), - Token('b', TokenType.ATTR_KEY, _INIT_LOC), - Token('(', TokenType.LPAREN, _INIT_LOC), - Token('foo(bar(%), baz)', TokenType.ATTR_CONTENT, _INIT_LOC), - Token(')', TokenType.RPAREN, _INIT_LOC), - Token(']', TokenType.RBRACK, _INIT_LOC), + Token('a', TokenType.ATTR_KEY, INIT_LOC), + Token('(', TokenType.LPAREN, INIT_LOC), + Token('"hello"', TokenType.STRING, INIT_LOC), + Token(')', TokenType.RPAREN, INIT_LOC), + Token(',', TokenType.COMMA, INIT_LOC), + Token('b', TokenType.ATTR_KEY, INIT_LOC), + Token('(', TokenType.LPAREN, INIT_LOC), + Token('foo(bar(%), baz)', TokenType.ATTR_CONTENT, INIT_LOC), + Token(')', TokenType.RPAREN, INIT_LOC), + Token(']', TokenType.RBRACK, INIT_LOC), ], '', ),