hoa: validate trans-acc and state-acc

and also set prop_state_based_acc() on input

* src/hoaparse/hoaparse.yy: Here.
* src/tgbatest/hoaparse.test: Add tests.
This commit is contained in:
Alexandre Duret-Lutz 2015-01-20 09:45:16 +01:00
parent c6110a884c
commit dd948bc1a7
2 changed files with 94 additions and 27 deletions

View file

@ -345,6 +345,7 @@ cat >input<<EOF
acc-name: generalized-Buchi 2
Acceptance: 2 (Inf(0) & Inf(1))
properties: implicit-labels explicit-labels /* ? */ complete
properties: trans-acc state-acc /* ? */
AP: 2 "a" "b"
--BODY--
State: 0 "foo" { 0 }
@ -383,7 +384,7 @@ cat >input<<EOF
Start: 0
acc-name: generalized-Buchi 2
Acceptance: 2 (Inf(0) & Inf(1))
properties: implicit-labels
properties: implicit-labels trans-acc
AP: 2 "a" "b"
--BODY--
State: 0 "foo" { 0 }
@ -401,11 +402,15 @@ EOF
expecterr input <<EOF
input:7.17-31: 'property: implicit-labels' is incompatible with...
input:7.33-47: ... 'property: explicit-labels'.
input:15.7: too many transition for this state, ignoring this one
input:27.33-44: 'property: state-labels' is incompatible with...
input:27.17-31: ... 'property: implicit-labels'.
input:57.7-9: transition label used although the automaton was...
input:46.17-31: ... declared with 'property: implicit-labels' here
input:8.17-25: 'property: trans-acc' is incompatible with...
input:8.27-35: ... 'property: state-acc'.
input:16.7: too many transition for this state, ignoring this one
input:28.33-44: 'property: state-labels' is incompatible with...
input:28.17-31: ... 'property: implicit-labels'.
input:50.20-24: state-based acceptance used despite...
input:47.33-41: ... declaration of transition-based acceptance.
input:58.7-9: transition label used although the automaton was...
input:47.17-31: ... declared with 'property: implicit-labels' here
EOF
@ -420,6 +425,7 @@ cat >input <<EOF
Alias: @a 0
Alias: @a 1 & 2 /* should be @bc */
properties: state-labels /* this is bogus */
state-acc /* bogus as well */
--BODY--
State: 0
[!@a & !@bc] 0
@ -431,12 +437,14 @@ EOF
expecterr input <<EOF
input:9.5-19: ignoring redefinition of alias @a
input:13.13-15: unknown alias @bc
input:13.5-16: transition label used although the automaton was...
input:14.13-15: unknown alias @bc
input:14.5-16: transition label used although the automaton was...
input:10.17-28: ... declared with 'property: state-labels' here
input:14.12-14: unknown alias @bc
input:15.12-14: unknown alias @bc
input:16.11-13: unknown alias @bc
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
EOF
cat >input <<EOF