Fix infinite recursion when translating E* and E accepts [*0].
* src/tgbaalgos/ltl2tgba_fm.cc (ratexp_trad_visitor::visit): Use a different translating rule for E* if E accepts [*0]. * src/tgbatest/ltl2tgba.test: Add test case.
This commit is contained in:
parent
cce6dd34f8
commit
a29c87b2ed
2 changed files with 57 additions and 3 deletions
|
|
@ -85,6 +85,9 @@ check_psl '{[*2];a[*2..4]}|->b'
|
|||
check_psl '{a[*2..5] && b[*..3]}|->c'
|
||||
check_psl '{{[+];a;[+]} && {[+];b;[+]}}<>->c'
|
||||
check_psl '{(a[->3]) & {[+];b}}<>->c'
|
||||
# This formula (built by a random formula generator), exhibited an
|
||||
# infinite recursion in the translation:
|
||||
check_psl '{(a|[*0])[*];1}'
|
||||
# Example from "Beyond Hardware Verification" by Glazberg, Moulin, Orni,
|
||||
# Ruah, Zarpas (2007).
|
||||
check_psl '{[*];req;ack}|=>{start;busy[*];done}'
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue