verification/rvgen: Fix ltl2k writing True as a literal
The rvgen parser for LTL stores literal true values in the python
representation (capitalised True), this doesn't build in C.
The Literal class should already handle this case but ASTNode skips its
strigification method and converts the value (true/false) directly.
Fix by delegating ASTNode stringification to the Literal and Variable
classes instead of bypassing them.
Fixes: 97ffa4ce6a ("verification/rvgen: Add support for linear temporal logic")
Reviewed-by: Nam Cao <namcao@linutronix.de>
Link: https://lore.kernel.org/r/20260514152055.229162-8-gmonaco@redhat.com
Signed-off-by: Gabriele Monaco <gmonaco@redhat.com>
This commit is contained in:
parent
5f845ad706
commit
df996599cc
1 changed files with 5 additions and 4 deletions
|
|
@ -122,10 +122,8 @@ class ASTNode:
|
|||
return self.op.expand(self, node, node_set)
|
||||
|
||||
def __str__(self):
|
||||
if isinstance(self.op, Literal):
|
||||
return str(self.op.value)
|
||||
if isinstance(self.op, Variable):
|
||||
return self.op.name.lower()
|
||||
if isinstance(self.op, (Literal, Variable)):
|
||||
return str(self.op)
|
||||
return "val" + str(self.id)
|
||||
|
||||
def normalize(self):
|
||||
|
|
@ -382,6 +380,9 @@ class Variable:
|
|||
def __iter__(self):
|
||||
yield from ()
|
||||
|
||||
def __str__(self):
|
||||
return self.name.lower()
|
||||
|
||||
def negate(self):
|
||||
new = ASTNode(self)
|
||||
return NotOp(new)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue