Fonctionnement de l'analyseur lexical
=====================================

Il est constitu :
	* d'une chane  analyser, encapsule dans un contexte qui maintient
	  l'tat d'avancement de l'analyse (notamment le caractre courant et la
	  chane courante, qui contient tous les caractres du jeton en cours
	  d'analyse, jusqu'au caractre courant non inclus)
	* d'un jeton rassemblant les informations reccueillies au cours de
	  l'analyse
	* d'un ensemble d'tats nomms
	* d'un ensemble de transitions, auxquelles peuvent se rattacher des
	  actions

L'application "cliente" demande  l'analyseur lexical de lire et lui
retourner la squence de jetons correspondant aux donnes  analyser.
L'analyse consiste  se positionner au dbut du jeton (le dbut des donnes
pour la lecture du premier jeton, l'tat d'avancement  la fin de la lecture
prcdente pour les jetons suivants),  partir de l'tat initial (nomm
"init") et  appliquer la transition qui convient. Les actions rattaches
 la transition sont alors excutes, puis le contexte est mis  jour pour
reflter l'avancement de l'analyse.  l'issue de la transition, l'tat
courant devient l'tat "cible" de la transition applique. On applique alors
itrativement les transitions jusqu' arriver  un tat final qui marque la
fin de l'analyse du jeton courant et qui dtermine son type. On lit alors
itrativement les jetons jusqu' arriver au jeton marquant la fin des
donnes.

Jetons
------

Chaque jeton est constitu :
	* d'un type (dfini  la fin de son analyse), un type de jeton particulier
	  est ddi  marquer la fin des donnes  analyser
	* de la chane lue pour le constituer
	* de proprits (tableau associatif) dpendant du type de jeton et
	  permettant aux actions excutes tout au long de la lecture du jeton
	  d'agrger des donnes

tats
-----

	* Les tats non terminaux (dont l'tat initial, "init") proposent des
	  transitions  appliquer pour faire progresser l'analyse.
	* Les tats terminaux marquent la fin de l'analyse d'un jeton.

Transitions
-----------

Chaque tat non terminal propose une squence de transitions. Quand il est
parcouru, la premire transition applicable de la squence est value. Une
transition est compose d'une condition d'applicabilit, du nom de son tat
cible (terminal ou non terminal), d'actions  excuter et du nombre de
caractres  consommer pour que le contexte reflte le changement d'tat
(gnralement 1 (le caractre qui vient d'tre lu fait partie du jeton en
cours d'analyse) ou 0 (le caractre qui vient d'tre lu marque le dbut du
jeton suivant et doit tre ignor pour le jeton actuel), mais d'autres
valeurs sont possibles, mme ngatives (pour annuler une consommation
antrieure,  utiliser avec beaucoup d'attention)).

Conditions d'applicabilit (catgories disponibles de base, il est possible
d'en dfinir d'autres) :
	* fin des donnes  analyser, transition prioritaire qui doit tre
	  dfinie pour chaque tat non terminal
	* transition alternative, applique quand aucune autre transition n'est
	  applicable, doit aussi tre dfinie pour chaque tat non terminal
	* le caractre courant du contexte correspond  une certaine classe de
	  caractres
	* la chane courante du contexte correspond  une certaine expression
	  rationnelle
