parseaut: accept Alias: before AP:

Fixes #345.

* spot/parseaut/parseaut.yy: Deal with this inconvenient order.
* tests/core/parseaut.test: Test it.
* NEWS: Mention the bug fix.
This commit is contained in:
Alexandre Duret-Lutz 2018-05-21 10:24:25 +02:00
parent 7b580e006a
commit eca96cdf80
3 changed files with 135 additions and 7 deletions

View file

@ -1,6 +1,6 @@
#!/bin/sh
# -*- coding: utf-8 -*-
# Copyright (C) 2014-2017 Laboratoire de Recherche et Développement de
# Copyright (C) 2014-2018 Laboratoire de Recherche et Développement de
# l'Epita (LRDE).
#
# This file is part of Spot, a model checking library.
@ -504,6 +504,37 @@ cat >input <<EOF
[!@a & @bc] 0 {1}
[@a & @bc] 0 {0 1}
--END--
HOA: v1
name: "GFa & GF(b & c)"
States: 1
Start: 0
acc-name: generalized-Buchi 2
Acceptance: 2 (Inf(0) & Inf(1))
Alias: @a 0
Alias: @bc 1 & 2
--BODY--
State: 0
[!@a & !@bc] 0
[@a & !@bc] 0 {0}
[!@a & @bc] 0 {1}
[@a & @bc] 0 {0 1}
--END--
HOA: v1
name: "GFa & GF(b & c)"
States: 1
Start: 0
acc-name: generalized-Buchi 2
Acceptance: 2 (Inf(0) & Inf(1))
Alias: @bc 1 & 2
AP: 1 "a"
Alias: @a 0
--BODY--
State: 0
[!@a & !@bc] 0
[@a & !@bc] 0 {0}
[!@a & @bc] 0 {1}
[@a & @bc] 0 {0 1}
--END--
EOF
expecterr input <<EOF
@ -516,6 +547,9 @@ input:15.20-22: trans-based acceptance used despite...
input:11.17-25: ... declaration of state-based acceptance.
input:16.12-14: unknown alias @bc
input:17.11-13: unknown alias @bc
input:26.18: atomic proposition used in Alias without AP declaration
input:40.16: AP number is larger than the number of APs...
input:41.1-3: ... declared here
EOF
cat >input <<EOF
@ -535,6 +569,22 @@ cat >input <<EOF
[!@a & @b.c] 0 {1}
[@a & @b.c] 0 {0 1}
--END--
HOA: v1.1
Alias: @b.c 1 & 2
name: "GFa & GF(b & c)"
States: 1
Start: 0
acc-name: who cares
Acceptance: 2 (Inf(0) & Inf(1))
AP: 3 "a" "b" "c"
Alias: @a 0
--BODY--
State: 0
[!@a & !@b.c] 0
[@a & !@b.c] 0 {0}
[!@a & @b.c] 0 {1}
[@a & @b.c] 0 {0 1}
--END--
/* Some comment */
HOA: v1
States: 2
@ -565,6 +615,22 @@ State: 0
[0&1&2] 0 {0 1}
--END--
HOA: v1
name: "GFa & GF(b & c)"
States: 1
Start: 0
AP: 3 "a" "b" "c"
acc-name: generalized-Buchi 2
Acceptance: 2 Inf(0)&Inf(1)
properties: trans-labels explicit-labels trans-acc complete
properties: deterministic
--BODY--
State: 0
[!0&!1 | !0&!2] 0
[0&!1 | 0&!2] 0 {0}
[!0&1&2] 0 {1}
[0&1&2] 0 {0 1}
--END--
HOA: v1
States: 2
Start: 0
AP: 1 "a"
@ -581,7 +647,8 @@ EOF
expectok input --stats='%F:%L' <<EOF
input:1.5-16.11
input:18.1-26.7
input:17.3-32.9
input:34.1-42.7
EOF
cat >input <<EOF