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 de var : le mot-clé réservé ne sera pas reconnu
  • l’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 de ville 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.