55from typing import TYPE_CHECKING , NamedTuple
66
77from pyk .cterm import CTerm , CTermSymbolic
8+ from pyk .cterm .show import CTermShow
89from pyk .kast import KInner
910from pyk .kast .inner import (
1011 KApply ,
2526from pyk .kast .prelude .ml import mlEqualsFalse , mlEqualsTrue
2627from pyk .kast .prelude .string import stringToken
2728from pyk .kast .prelude .utils import token
28- from pyk .kast .pretty import paren
29+ from pyk .kast .pretty import PrettyPrinter , paren
2930from pyk .kcfg .kcfg import KCFGExtendResult , Step
3031from pyk .kcfg .semantics import DefaultSemantics
3132from pyk .kcfg .show import NodePrinter
@@ -697,8 +698,8 @@ def end_basic_block() -> KInner:
697698class KEVMNodePrinter (NodePrinter ):
698699 kevm : KEVM
699700
700- def __init__ (self , kevm : KEVM ):
701- NodePrinter .__init__ (self , kevm )
701+ def __init__ (self , kevm : KEVM , cterm_show : CTermShow , full_printer : bool = True ):
702+ NodePrinter .__init__ (self , cterm_show , full_printer = full_printer )
702703 self .kevm = kevm
703704
704705 def print_node (self , kcfg : KCFG , node : KCFG .Node ) -> list [str ]:
@@ -708,14 +709,15 @@ def print_node(self, kcfg: KCFG, node: KCFG.Node) -> list[str]:
708709
709710
710711class KEVMAPRNodePrinter (KEVMNodePrinter , APRProofNodePrinter ):
711- def __init__ (self , kevm : KEVM , proof : APRProof ):
712- KEVMNodePrinter .__init__ (self , kevm )
713- APRProofNodePrinter .__init__ (self , proof , kevm )
712+ def __init__ (self , kevm : KEVM , cterm_show : CTermShow , proof : APRProof , full_printer : bool = True ):
713+ KEVMNodePrinter .__init__ (self , kevm , cterm_show , full_printer = full_printer )
714+ APRProofNodePrinter .__init__ (self , proof , cterm_show , full_printer = full_printer )
714715
715716
716- def kevm_node_printer (kevm : KEVM , proof : APRProof ) -> NodePrinter :
717+ def kevm_node_printer (kevm : KEVM , proof : APRProof , full_printer : bool = True ) -> NodePrinter :
718+ cterm_show = CTermShow (PrettyPrinter (kevm .definition , patch_symbol_table = KEVM ._kevm_patch_symbol_table ).print )
717719 if type (proof ) is APRProof :
718- return KEVMAPRNodePrinter (kevm , proof )
720+ return KEVMAPRNodePrinter (kevm , cterm_show , proof , full_printer = full_printer )
719721 raise ValueError (f'Cannot build NodePrinter for proof type: { type (proof )} ' )
720722
721723
0 commit comments