Compute all_accepting_conditions_ from neg_accepting_conditions_, not by browsing the dictionary. The dictionary also contains accepting conditions from other automata... This bug was a consequence of the change from 2003-07-14. * src/tgbaalgos/save.cc (save_bfs::start()): Likewise, do not browse the dictionary to print accepting conditions. Call ->all_accepting_conditions() instead. * src/tgba/tgbaproduct.cc (tgba_product::tgba_product): Typo from 2003-08-22 in the computation of all_accepting_conditions_. * src/tgbatest/explpro3.test: New file. * src/tgbatest/Makefile.am (TESTS): Add explpro3.test. * src/tgbatest/explprod.test, src/tgbatest/explpro2.test, src/tgbatest/tripprod.test: Sort the output using Perl.
33 lines
519 B
Bash
Executable file
33 lines
519 B
Bash
Executable file
#!/bin/sh
|
|
|
|
. ./defs
|
|
|
|
set -e
|
|
|
|
cat >input1 <<EOF
|
|
acc = ;
|
|
s1, s2, !a,;
|
|
s1, s3, !b,;
|
|
EOF
|
|
|
|
cat >input2 <<EOF
|
|
acc = p2 p3;
|
|
s1, s2, b, p2;
|
|
s1, s3, a, p3;
|
|
EOF
|
|
|
|
cat >expected <<EOF
|
|
acc = "p2" "p3";
|
|
"s1 * s1", "s2 * s2", ! a b, "p2";
|
|
"s1 * s1", "s3 * s3", a ! b, "p3";
|
|
EOF
|
|
|
|
./explprod input1 input2 > stdout
|
|
|
|
# Sort out some possible inversions in the output.
|
|
# (The order is not guaranteed by SPOT.)
|
|
sed 's/"p3" "p2"/"p2" "p3"/g' stdout > tmp_ && mv tmp_ stdout
|
|
|
|
cat stdout
|
|
diff stdout expected
|
|
rm input1 input2 stdout expected
|