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 ******** .. code-block:: javascript // 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. .. code-block:: javascript // 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.