********************************************************************************
* Trombi - Copyright 2007-2008 Louis Paternault
* 
* This file is part of Trombi.
* 
* Trombi is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* 
* Trombi is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
* GNU General Public License for more details.
* 
* You should have received a copy of the GNU General Public License
* along with Trombi.  If not, see <http://www.gnu.org/licenses/>.
********************************************************************************

***********************
*** Entree standard ***
***********************

** Ce fichier decrit la grammaire verifiee par une liste de fichiers.
** Le comportement est classique. Je detaille quand meme la signification de
** la grammaire pour lever toute ambiguite.

** Cette grammaire decrit une liste de fichiers d'une seule ligne. La fin de ligne
** correspond donc ici a la fin de la chaine a analyser.

** D'une maniere generale, les separateurs sont les espaces et la fin de
** ligne.
** Les guillemets et apostrophes empechent l'interpretation de tels
** caracteres, dans la mesure decrite ci-apres.
** L'antislash \ permet de proteger un caractere special (guillemet,
** apostrophe, espace, antislash)
** Les caracteres entre apostrophes '' ne sont pas interpretes.
** Les caracteres entre guillemets "" ne sont pas interpretes, saut \" qui
** correspond au caractere "guillemets" (et non pas au guillemets fermants).

*** Signification des lettres :
M : mot
L : lettre (tout caractere sauf les caracteres speciaux que sont le guillemet,
l'apostrophe, l'antislash, l'espace)
C : caractere quelconque (y compris les caracteres speciaux)
G : mot entre guillemets
A : mot entre apostyrophes

**********************

M -> L M
M -> " G " M
M -> ' A ' M
M -> \ C M
M -> espace M
M -> $

G -> L G
G -> ' G
G -> \ C G
G -> espace G
G -> epsilon

A -> L A
A -> " A
A -> ' A
A -> \ A
A -> espace A
A -> epsilon

C -> n'importe quel caractere
C -> $

L -> tout caractere non special
