formula: fix building of {a->c[*]}

Fixes #285, reported by Florian Perlié-Long.

* NEWS: Mention the issue.
* spot/tl/formula.cc: Fix it.
* tests/core/kind.test: Document it.
* THANKS: Add Florian.
This commit is contained in:
Alexandre Duret-Lutz 2017-09-26 17:30:54 +02:00
parent f81fb31136
commit 002e6ed96b
4 changed files with 9 additions and 3 deletions

3
NEWS
View file

@ -81,6 +81,9 @@ New in spot 2.4.0.dev (not yet released)
Bugs fixed:
- The formula class failed to build {a->c[*]} althought it is
alowed in our grammar.
- spot::scc_info::determine_unknown_acceptance() incorrectly
considered some rejecting SCC as accepting.

1
THANKS
View file

@ -11,6 +11,7 @@ Ernesto Posse
Étienne Renault
Fabrice Kordon
Felix Klaedtke
Florian Perlié-Long
František Blahoudek
Gerard J. Holzmann
Heikki Tauriainen

View file

@ -1281,7 +1281,8 @@ namespace spot
props = children[0]->props & children[1]->props;
is_.eventual = false;
is_.universal = false;
is_.sere_formula = is_.boolean;
is_.sere_formula = (children[0]->is_boolean()
&& children[1]->is_sere_formula());
is_.sugar_free_boolean = false;
is_.in_nenoform = false;
is_.syntactic_safety = (children[0]->is_syntactic_guarantee()

View file

@ -1,7 +1,7 @@
#! /bin/sh
# -*- coding: utf-8 -*-
# Copyright (C) 2010, 2011, 2012, 2015 Laboratoire de Recherche et
# Développement de l'Epita (LRDE).
# Copyright (C) 2010, 2011, 2012, 2015, 2017 Laboratoire de Recherche
# et Développement de l'Epita (LRDE).
#
# This file is part of Spot, a model checking library.
#
@ -133,6 +133,7 @@ Fa M b,&!xLPgopra
{p[+]:p[+]},&!xfPsoprla
(!p W Gp) | ({(!p[*];(p[+]:(p[*];!p[+])))[:*4][:+]}<>-> (!p W Gp)),&!xPpla
{b[+][:*0..3]},&!fPsopra
{a->c[*]},fPsopra
EOF
run 0 ../kind input