Diagnose reversed ranges like [=2..1], [->..0] or [*8..4].

* src/ltlparse/ltlparse.yy: Diagnose them.
* src/ltltest/parseerr.test: Add tests.
This commit is contained in:
Alexandre Duret-Lutz 2011-12-02 12:27:44 +01:00
parent ec9a3f96cb
commit 2f9f274a5f
2 changed files with 36 additions and 5 deletions

View file

@ -1,6 +1,6 @@
#! /bin/sh
# Copyright (C) 2009, 2010 Laboratoire de Recherche et Développement
# de l'Epita (LRDE).
# Copyright (C) 2009, 2010, 2011 Laboratoire de Recherche et
# Développement de l'Epita (LRDE).
# Copyright (C) 2003, 2004 Laboratoire d'Informatique de Paris 6 (LIP6),
# département Systèmes Répartis Coopératifs (SRC), Université Pierre
# et Marie Curie.
@ -85,6 +85,13 @@ run 0 ../equals -E 'a & (a + b c' 'a & (0)'
run 0 ../equals -E 'a & (+' 'a & (0)'
run 0 ../equals -E 'a & (' 'a & (0)'
# Invalid ranges
run 0 ../equals -E '{a[*8..1];b}' '{a[*1..8];b}'
run 0 ../equals -E '{a[=8..1];b}' '{a[=1..8];b}'
run 0 ../equals -E '{a[->8..1];b}' '{a[->1..8];b}'
run 0 ../equals -E '{a[->..0];b}' '{a[->0..1];b}'
check 'a - b' 'AP(a)' '>>> a - b
^
syntax error, unexpected $undefined