neverparse: Fix parsing of Modella's neverclaims.
Reported by František Blahoudek. * src/neverparse/neverclaimparse.yy: Fix. * src/tgbatest/neverclaimread.test: Test it. * NEWS: Mention the fix.
This commit is contained in:
parent
a4934c4f71
commit
6c76ba408e
3 changed files with 39 additions and 4 deletions
1
NEWS
1
NEWS
|
|
@ -3,6 +3,7 @@ New in spot 1.2.4a (not yet released)
|
||||||
* Bug fixes:
|
* Bug fixes:
|
||||||
|
|
||||||
- Fix simplification of bounded repetition in SERE formulas.
|
- Fix simplification of bounded repetition in SERE formulas.
|
||||||
|
- Fix parsing of neverclaims produced by Modella.
|
||||||
|
|
||||||
New in spot 1.2.4 (2014-05-15)
|
New in spot 1.2.4 (2014-05-15)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
/* -*- coding: utf-8 -*-
|
/* -*- coding: utf-8 -*-
|
||||||
** Copyright (C) 2010, 2011, 2012, 2013 Laboratoire de Recherche et
|
** Copyright (C) 2010, 2011, 2012, 2013, 2014 Laboratoire de Recherche et
|
||||||
** Développement de l'Epita (LRDE).
|
** Développement de l'Epita (LRDE).
|
||||||
**
|
**
|
||||||
** This file is part of Spot, a model checking library.
|
** This file is part of Spot, a model checking library.
|
||||||
|
|
@ -191,7 +191,7 @@ transitions:
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
formula: FORMULA | "false" { $$ = new std::string("0"); }
|
formula: FORMULA | IDENT | "false" { $$ = new std::string("0"); }
|
||||||
|
|
||||||
opt_dest:
|
opt_dest:
|
||||||
/* empty */
|
/* empty */
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
# Copyright (C) 2010, 2011, 2012, 2013 Laboratoire de Recherche et
|
# Copyright (C) 2010, 2011, 2012, 2013, 2014 Laboratoire de Recherche
|
||||||
# Développement de l'Epita (LRDE).
|
# et Développement de l'Epita (LRDE).
|
||||||
#
|
#
|
||||||
# This file is part of Spot, a model checking library.
|
# This file is part of Spot, a model checking library.
|
||||||
#
|
#
|
||||||
|
|
@ -172,6 +172,40 @@ EOF
|
||||||
grep input: stderr >> stderrfilt
|
grep input: stderr >> stderrfilt
|
||||||
diff stderrfilt expected
|
diff stderrfilt expected
|
||||||
|
|
||||||
|
|
||||||
|
# This output from MoDeLLa was not property parsed by Spot because of
|
||||||
|
# the missing parentheses around p0. Report from František Blahoudek.
|
||||||
|
cat >input <<EOF
|
||||||
|
never{
|
||||||
|
T0_init:
|
||||||
|
if
|
||||||
|
:: true -> goto T1
|
||||||
|
:: p0 -> goto T2
|
||||||
|
fi;
|
||||||
|
T1:
|
||||||
|
if
|
||||||
|
:: true -> goto T1
|
||||||
|
:: p0 -> goto accept_T3
|
||||||
|
fi;
|
||||||
|
T2:
|
||||||
|
if
|
||||||
|
:: p0 -> goto accept_T3
|
||||||
|
fi;
|
||||||
|
accept_T3:
|
||||||
|
if
|
||||||
|
:: p0 -> goto T2
|
||||||
|
fi;
|
||||||
|
}
|
||||||
|
EOF
|
||||||
|
cat >expected<<EOF
|
||||||
|
transitions: 6
|
||||||
|
states: 4
|
||||||
|
EOF
|
||||||
|
|
||||||
|
run 0 ../ltl2tgba -ks -XN input > output
|
||||||
|
diff output expected
|
||||||
|
|
||||||
|
|
||||||
cat >formulae<<EOF
|
cat >formulae<<EOF
|
||||||
a
|
a
|
||||||
FG a
|
FG a
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue