La machine réalisant cette tâche est nommée lexer dans cette application.
Autres noms possibles: scanneur, lexeur ou analyseur lexical.
Le lexer parcours un texte source caractère/caractère et le transforme en
liste de lexèmes .
Changer le texte ci-dessous :
La fonction readToken
retourne par défaut le token suivant, voir true
si un token est passé.
Il est impératif que la règle d'analyse de base puisse identifier tous les tokens pouvant être trouvé,
sinon l'analyse risque d'être stoppé prématurément.
Pour cela il est possible d'utiliser un token nommé NOT_WHITE_SPACES
détectant tout sauf un espace blanc.
Il suffit de l'ajouter en fin de règle et de surtout détecter tous les espaces blancs !
En JavaScript il faut savoir différencier la division '/' au délimitation d'une expression régulière :
Pour cela, il nous faut connaître le token précédant.
Si le token précédant correspond à token pouvant être avant le token trouvé alors celui-ci est validé.
Sinon il faut en trouver un autre !
Il nous faut parfois obtenir une liste de lexème réduite en omettant certains tokens non significatifs.
Les commentaires en font partie, comme les espaces blancs... mais là, ce n'est pas forcément le cas (sauts de ligne en JavaScript).