Skip to content

Commit 5288896

Browse files
rv-jenkinsrv-auditorF-WRunTimeehildenb
authored
Update dependency: deps/k_release (#585)
- Switches to using `CTermShow` for controlling node printing: runtimeverification/k#4808 --------- Co-authored-by: devops <[email protected]> Co-authored-by: Freeman <[email protected]> Co-authored-by: Everett Hildenbrandt <[email protected]>
1 parent 427a0f5 commit 5288896

File tree

11 files changed

+408
-135
lines changed

11 files changed

+408
-135
lines changed

deps/k_release

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
7.1.253
1+
7.1.257

flake.lock

Lines changed: 8 additions & 8 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

flake.nix

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
description = "kmir - ";
33
inputs = {
4-
k-framework.url = "github:runtimeverification/k/v7.1.253";
4+
k-framework.url = "github:runtimeverification/k/v7.1.257";
55
nixpkgs.follows = "k-framework/nixpkgs";
66
flake-utils.follows = "k-framework/flake-utils";
77
rv-utils.follows = "k-framework/rv-utils";

kmir/pyproject.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,11 @@ build-backend = "hatchling.build"
44

55
[project]
66
name = "kmir"
7-
version = "0.3.169"
7+
version = "0.3.170"
88
description = ""
99
requires-python = "~=3.10"
1010
dependencies = [
11-
"kframework==v7.1.253",
11+
"kframework==v7.1.257",
1212
]
1313

1414
[[project.authors]]

kmir/src/kmir/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
from typing import Final
22

3-
VERSION: Final = '0.3.169'
3+
VERSION: Final = '0.3.170'

kmir/src/kmir/__main__.py

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,9 @@
77
from typing import TYPE_CHECKING
88

99
from pyk.cli.args import KCLIArgs
10+
from pyk.cterm.show import CTermShow
1011
from pyk.kast.outer import KFlatModule, KImport
12+
from pyk.kast.pretty import PrettyPrinter
1113
from pyk.proof.reachability import APRProof, APRProver
1214
from pyk.proof.show import APRProofShow
1315
from pyk.proof.tui import APRProofViewer
@@ -115,7 +117,9 @@ def _kmir_view(opts: ViewOpts) -> None:
115117
smir_info = None
116118
if opts.smir_info is not None:
117119
smir_info = SMIRInfo.from_file(opts.smir_info)
118-
node_printer = KMIRAPRNodePrinter(kmir, proof, smir_info=smir_info, full_printer=False)
120+
printer = PrettyPrinter(kmir.definition)
121+
cterm_show = CTermShow(printer.print)
122+
node_printer = KMIRAPRNodePrinter(cterm_show, proof, smir_info=smir_info, full_printer=False)
119123
viewer = APRProofViewer(proof, kmir, node_printer=node_printer)
120124
viewer.run()
121125

@@ -126,8 +130,10 @@ def _kmir_show(opts: ShowOpts) -> None:
126130
smir_info = None
127131
if opts.smir_info is not None:
128132
smir_info = SMIRInfo.from_file(opts.smir_info)
129-
node_printer = KMIRAPRNodePrinter(kmir, proof, smir_info=smir_info, full_printer=opts.full_printer)
130-
shower = APRProofShow(kmir, node_printer=node_printer)
133+
printer = PrettyPrinter(kmir.definition)
134+
cterm_show = CTermShow(printer.print)
135+
node_printer = KMIRAPRNodePrinter(cterm_show, proof, smir_info=smir_info, full_printer=opts.full_printer)
136+
shower = APRProofShow(kmir.definition, node_printer=node_printer)
131137
lines = shower.show(proof)
132138
print('\n'.join(lines))
133139

kmir/src/kmir/kmir.py

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@
3131
from pathlib import Path
3232
from typing import Final
3333

34+
from pyk.cterm.show import CTermShow
3435
from pyk.kore.syntax import Pattern
3536
from pyk.utils import BugReport
3637

@@ -187,21 +188,18 @@ def is_terminal(self, cterm: CTerm) -> bool:
187188

188189

189190
class KMIRNodePrinter(NodePrinter):
190-
kmir: KMIR
191-
192-
def __init__(self, kmir: KMIR, full_printer: bool = False) -> None:
193-
NodePrinter.__init__(self, kmir, full_printer=full_printer)
194-
self.kmir = kmir
191+
def __init__(self, cterm_show: CTermShow, full_printer: bool = False) -> None:
192+
NodePrinter.__init__(self, cterm_show, full_printer=full_printer)
195193

196194

197195
class KMIRAPRNodePrinter(KMIRNodePrinter, APRProofNodePrinter):
198196
smir_info: SMIRInfo | None
199197

200198
def __init__(
201-
self, kmir: KMIR, proof: APRProof, smir_info: SMIRInfo | None = None, full_printer: bool = False
199+
self, cterm_show: CTermShow, proof: APRProof, smir_info: SMIRInfo | None = None, full_printer: bool = False
202200
) -> None:
203-
KMIRNodePrinter.__init__(self, kmir, full_printer=full_printer)
204-
APRProofNodePrinter.__init__(self, proof, kmir, full_printer=full_printer)
201+
KMIRNodePrinter.__init__(self, cterm_show, full_printer=full_printer)
202+
APRProofNodePrinter.__init__(self, proof, cterm_show, full_printer=full_printer)
205203
self.smir_info = smir_info
206204

207205
def _span(self, node: KCFG.Node) -> int | None:
@@ -246,7 +244,7 @@ def _function_name(self, node: KCFG.Node) -> str | None:
246244

247245
def print_node(self, kcfg: KCFG, node: KCFG.Node) -> list[str]:
248246
ret_strs = super().print_node(kcfg, node)
249-
ret_strs.append(self.kmir.pretty_print(node.cterm.cell('K_CELL'))[0:80])
247+
ret_strs.append(self.cterm_show._printer(node.cterm.cell('K_CELL'))[0:80])
250248
curr_func = self._function_name(node)
251249
if curr_func is not None:
252250
ret_strs.append(f'function: {curr_func}')

kmir/src/tests/integration/data/prove-smir/show/pinocchio_token_program.smir.processor::transfer::process_transfer.expected

Lines changed: 347 additions & 90 deletions
Large diffs are not rendered by default.

kmir/src/tests/integration/test_integration.py

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,9 @@
66
from typing import TYPE_CHECKING
77

88
import pytest
9+
from pyk.cterm.show import CTermShow
910
from pyk.kast.inner import KApply, KSort, KToken
11+
from pyk.kast.pretty import PrettyPrinter
1012
from pyk.proof import Proof
1113
from pyk.proof.show import APRProofShow
1214

@@ -469,12 +471,17 @@ def test_prove_rs(rs_file: Path, kmir: KMIR, update_expected_output: bool) -> No
469471

470472
apr_proof = kmir.prove_rs(prove_rs_opts)
471473

474+
printer = PrettyPrinter(kmir.definition)
475+
cterm_show = CTermShow(printer.print)
476+
472477
if not should_fail:
473478
assert apr_proof.passed
474479
else:
475480
assert apr_proof.failed
476481

477-
shower = APRProofShow(kmir, node_printer=KMIRAPRNodePrinter(kmir, apr_proof, full_printer=False))
482+
shower = APRProofShow(
483+
kmir.definition, node_printer=KMIRAPRNodePrinter(cterm_show, apr_proof, full_printer=False)
484+
)
478485
show_res = '\n'.join(shower.show(apr_proof))
479486
assert_or_update_show_output(
480487
show_res, PROVING_DIR / f'show/{rs_file.stem}.expected', update=update_expected_output
@@ -498,10 +505,15 @@ def test_prove_pinocchio(kmir: KMIR, update_expected_output: bool) -> None:
498505
]
499506
prove_rs_opts = ProveRSOpts(pinocchio_token_program, smir=True)
500507

508+
printer = PrettyPrinter(kmir.definition)
509+
cterm_show = CTermShow(printer.print)
510+
501511
for start_symbol in start_symbols:
502512
prove_rs_opts.start_symbol = start_symbol
503513
apr_proof = kmir.prove_rs(prove_rs_opts)
504-
shower = APRProofShow(kmir, node_printer=KMIRAPRNodePrinter(kmir, apr_proof, full_printer=True))
514+
shower = APRProofShow(
515+
kmir.definition, node_printer=KMIRAPRNodePrinter(cterm_show, apr_proof, full_printer=True)
516+
)
505517
show_res = '\n'.join(shower.show(apr_proof))
506518
assert_or_update_show_output(
507519
show_res,

kmir/uv.lock

Lines changed: 17 additions & 17 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package/version

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
0.3.169
1+
0.3.170

0 commit comments

Comments
 (0)