Extend the ELTL parser to support basic aliases of automaton

operators such as F=U(true,$0) or R=!U(!$0,!$1), and infix
notation for binary automaton operators.

* README: Document the ELTL directories.
* src/eltlparse/eltlparse.yy, src/eltlparse/eltlscan.ll: Add
support for aliases and infix notation.
* src/eltlparse/public.hh, src/ltlast/nfa.cc, src/ltlast/nfa.hh:
Clean them.
* src/eltltest/acc.test, src/tgbatest/eltl2tgba.test: Add tests
for the ELTL parser's extensions.
* src/tgbatest/eltl2tgba.cc: Adjust.
This commit is contained in:
Damien Lefortier 2009-04-04 21:54:01 +02:00
parent 2fbcd7e52f
commit 355461ae99
10 changed files with 370 additions and 115 deletions

View file

@ -33,7 +33,24 @@ U=(
0 1 \$1
accept 1
)
F=U(true, \$0)
R=!U(!\$0, !\$1)
%
a U b | a R b | F(true) | U(a,b) -> R(a,b)
EOF
run 0 ./acc input || exit 1
cat >input <<EOF
U=(
0 0 \$0
0 1 \$1
accept 1
)
T=U(true,true)
%
T()|1
EOF
run 1 ./acc input || exit 1
cat >input <<EOF
A=(