Skip to content

Commit 7ab90da

Browse files
Encoding and decoding llvm pattern's functions
Modifying string tests to only test non-unicode string for bindings.
1 parent 0a794a7 commit 7ab90da

File tree

2 files changed

+10
-3
lines changed

2 files changed

+10
-3
lines changed

pyk/src/pyk/kllvm/convert.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,7 @@ def sentence_to_llvm(sentence: Sentence) -> kllvm.Declaration:
108108
def pattern_to_llvm(pattern: Pattern) -> kllvm.Pattern:
109109
match pattern:
110110
case String(value):
111-
return kllvm.StringPattern(value)
111+
return kllvm.StringPattern(value.encode('latin-1'))
112112
case VarPattern(name, sort):
113113
return kllvm.VariablePattern(name, sort_to_llvm(sort))
114114
case App(symbol, sorts, args):
@@ -201,7 +201,7 @@ def llvm_to_sentence(decl: kllvm.Declaration) -> Sentence:
201201
def llvm_to_pattern(pattern: kllvm.Pattern) -> Pattern:
202202
match pattern:
203203
case kllvm.StringPattern(): # type: ignore
204-
return String(pattern.contents)
204+
return String(pattern.contents.decode('latin-1'))
205205
case kllvm.VariablePattern(): # type: ignore
206206
if pattern.name and pattern.name[0] == '@':
207207
return SVar(pattern.name, llvm_to_sort(pattern.sort))

pyk/src/tests/integration/test_string.py

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,13 @@
4040
'🙂',
4141
)
4242

43+
BINDINGS_TEST_DATA: Final = (
44+
'hello',
45+
'\n',
46+
'\x01',
47+
'£',
48+
)
49+
4350
KOMPILE_DEFINITION = """
4451
module STRING-REWRITE
4552
imports STRING-SYNTAX
@@ -213,7 +220,7 @@ def test_krun(backend: str, definition_dir: Path, text: str) -> None:
213220
assert actual == expected
214221

215222

216-
@pytest.mark.parametrize('text', TEST_DATA, ids=TEST_DATA)
223+
@pytest.mark.parametrize('text', BINDINGS_TEST_DATA, ids=BINDINGS_TEST_DATA)
217224
def test_bindings(runtime: Runtime, text: str) -> None:
218225
from pyk.kllvm.convert import llvm_to_pattern, pattern_to_llvm
219226

0 commit comments

Comments
 (0)