* src/ltlparse/ltlparse.yy (OP_POST_NEG, OP_POST_POS): New tokens.

(subformula): Recognize `ATOMIC_PROP OP_POST_POS' and
`ATOMIC_PROP OP_POST_NEG'.
* src/ltlparse/ltlscan.ll: Introduce the not_prop start condition,
to restrict the set of atomic propositions allowed in places
where they are not expected.  Make `true' and `false' case insensitive.
* src/ltltest/parse.test, src/ltltest/tostring.test: More cases.
* src/ltlvisit/tostring.cc (to_string_visitor): Quote atomic
propositions equal to "true" or "false".
This commit is contained in:
Alexandre Duret-Lutz 2004-05-13 09:49:06 +00:00
parent 4f96a9fc14
commit 60a3b4ed72
6 changed files with 125 additions and 34 deletions

View file

@ -48,7 +48,9 @@ namespace spot
visit(const atomic_prop* ap)
{
std::string str = ap->name();
if (str[0] == 'F' || str[0] == 'G' || str[0] == 'X')
if (str[0] == 'F' || str[0] == 'G' || str[0] == 'X'
|| !strcasecmp(str.c_str(), "true")
|| !strcasecmp(str.c_str(), "false"))
{
os_ << '"' << str << '"';
}