diff --git a/pyk/docs/conf.py b/pyk/docs/conf.py index a4da8c26982..f038ad53f18 100644 --- a/pyk/docs/conf.py +++ b/pyk/docs/conf.py @@ -9,8 +9,8 @@ project = 'pyk' author = 'Runtime Verification, Inc' copyright = '2024, Runtime Verification, Inc' -version = '0.1.614' -release = '0.1.614' +version = '0.1.615' +release = '0.1.615' # -- General configuration --------------------------------------------------- # https://www.sphinx-doc.org/en/master/usage/configuration.html#general-configuration diff --git a/pyk/package/version b/pyk/package/version index c7e249b55cf..cd9d220d6e3 100644 --- a/pyk/package/version +++ b/pyk/package/version @@ -1 +1 @@ -0.1.614 +0.1.615 diff --git a/pyk/pyproject.toml b/pyk/pyproject.toml index 29af13209cd..72b229da429 100644 --- a/pyk/pyproject.toml +++ b/pyk/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "poetry.core.masonry.api" [tool.poetry] name = "pyk" -version = "0.1.614" +version = "0.1.615" description = "" authors = [ "Runtime Verification, Inc. ", diff --git a/pyk/src/pyk/kast/outer_lexer.py b/pyk/src/pyk/kast/outer_lexer.py index 6278f36a6bc..f735a10e13c 100644 --- a/pyk/src/pyk/kast/outer_lexer.py +++ b/pyk/src/pyk/kast/outer_lexer.py @@ -723,7 +723,7 @@ def _attr(la: str, it: Iterator[str]) -> Generator[Token, None, str]: def _attr_key(la: str, it: Iterator[str]) -> tuple[Token, str]: - # ["a"-"z","1"-"9"](["A"-"Z", "a"-"z", "-", "0"-"9"])*("<" (["A"-"Z", "a"-"z", "-", "0"-"9"])+ ">")? + # ["a"-"z","1"-"9"](["A"-"Z", "a"-"z", "-", "0"-"9", "."])*("<" (["A"-"Z", "a"-"z", "-", "0"-"9"])+ ">")? consumed: list[str] = [] if la not in _LOWER and la not in _DIGIT: @@ -732,7 +732,7 @@ def _attr_key(la: str, it: Iterator[str]) -> tuple[Token, str]: consumed.append(la) la = next(it, '') - while la in _ALNUM or la == '-': + while la in _ALNUM or la == '-' or la == '.': consumed.append(la) la = next(it, '') @@ -740,13 +740,13 @@ def _attr_key(la: str, it: Iterator[str]) -> tuple[Token, str]: consumed.append(la) la = next(it, '') - if not la in _ALNUM and la != '-': + if not la in _ALNUM and la != '-' and la != '.': raise _unexpected_character(la) consumed.append(la) la = next(it, '') - while la in _ALNUM or la == '-': + while la in _ALNUM or la == '-' or la == '.': consumed.append(la) la = next(it, '') diff --git a/pyk/src/tests/unit/test-data/outer-lexer/attr-key-with-dots.test b/pyk/src/tests/unit/test-data/outer-lexer/attr-key-with-dots.test new file mode 100644 index 00000000000..cda0d0bc25d --- /dev/null +++ b/pyk/src/tests/unit/test-data/outer-lexer/attr-key-with-dots.test @@ -0,0 +1,22 @@ +[org.kframework.attributes.Location(Location(50,10,50,120))] +=== +LBRACK +[ + +ATTR_KEY +org.kframework.attributes.Location + +LPAREN +( + +ATTR_CONTENT +Location(50,10,50,120) + +RPAREN +) + +RBRACK +] + +EOF +