Les erreurs de nature lexicale
Un premier type d’erreur peut à ce stade être anticipée : les erreurs dues à des erreurs dans l’écriture des jetons, qui seront alors mal analysés.
exemples
// mal écrit
ver wille ='Stoekolm;
Note
Observez que ce bloc n’est pas coloré syntaxiquement : l’erreur WARNING: Could not lex literal_block as "javascript". Highlighting skipped.
est ici renvoyée par le logiciel utilisé pour générer cette documentation.
// bien écrit
var ville = 'Stockholm';
Plusieurs erreurs sont présentes dans le premier exemple :
erreur lexicale
ver
au lieu devar
: le mot-clé réservé ne sera pas reconnul’oubli d’un des délimitateurs
'
provoquera des erreurs, l’analyseur lexical ne pouvant alors pas déterminer les limites du jeton littéral Stockholm.
autres erreurs non lexicales
wille
au lieu deville
ne provoquera pas d’erreur lors de l’analyse lexicale, cela reste un identificateur valide. Mais si le programme contient une fois l’un et une fois l’autre, mais cela pourrait entrainer des dysfonctionnements lors de l’exécution.l’absence d’espace entre
=
et'
ne provoquera pas non plus d’erreur d’analyse lexicale. C’est par contre une inconsistance de style qui peut gêner la lecture par un humain.De même, l’erreur d’orthographe de
Stockholm
ne perturbera pas l’analyseur lexical
On peut comparer ces erreurs à des erreurs d’orthographe : mal écrire les mots d’un programme peut amener à des erreurs.