********************************************************************************
* 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/>.
********************************************************************************

**********
** Cette grammaire decrit l'analyse d'une chaine de caractere, pour en faire une chaine utilisable en LaTeX.
**********

** Les chaines sont sensees etre composees de caracteres alphanumerique, de l'espace, du trait d'union et du tiret bas. Neanmoins, une chaine incorrecte ne dois pas renvoyer d'erreur.

** Les remplacements "standards" sont :
**    - le tiret bas par une espace
**    - les chaines entre deux tirets par la diacritique correspondant au code html.

Proteges : ensemble des caracteres reserves en LaTeX, et qu'il faut proteger.
AlphaNum : ensemble des caracteres alpha-numeriques (sans diacritiques), ainsi
que l'espace et l'apostrophe
Accents  : diacritiques. Le logiciel est concu pour qu'ils ne soient pas utilises, mais l'utilisateur peut preferer le faire quand meme.
TiretBas : tiret bas "_". Remplace une espace.


Axiome -> AlphaNum Axiome
Axiome -> Protege  Axiome
Axiome -> Accent Axiome
Axiome -> TiretBas Axiome
Axiome -> - entreTirets Axiome
Axiome -> epsilon

entreTirets -> AlphaNum Tiret
entreTirets -> -
entreTirets -> epsilon
