Erreur lexique et syntaxe 1

Erreur Lexique et syntaxeIntroduction Comment décrire un langage de programmation Lexique Identi ?cateurs et Mots-clés Constantes Symboles spéciaux Commentaires Syntaxe Déclarations Accès aux variables Expressions Opérateurs arithmétiques Opérateurs relationnels Opérateurs logiques Priorités Instructions Introduction Les deux chapitres précédents ont présenté les principes de base de la programmation impérative à savoir les notions de actions C variables et a ?ectation types abstraits et concrets énumération tableaux produits sommes Le but de cette seconde partie du cours est double donner les éléments nécessaires à l'apprentissage d'un nouveau langage de programmation impérative ou éventuellement autre à partir de son manuel de référence expliquer plus en détail certains aspects de la programmation impérative comme les règles de portée l'a ?ectation le passage de paramètre les pointeurs etc Pour cela nous allons expliquer comment décrire avec précision un langage de programmation Comment décrire un langage de programmation Lorsque l'on apprend une langue par exemple l'anglais on doit ma? triser le vocabulaire mots du dictionnaire déclinaisons conjugaisons etc la grammaire comment composer des phrases correctes du point de vue de leur forme et de leur structure sinon de leur sens Par exemple le chat mange la maison est correct du point de vue grammatical le sens des mots et des phrases Généralement cet apprentissage se fait en même temps que le vocabulaire et la grammaire on apprend les mots corrects et leur sens et les constructions grammaticales et leur sens Cependant l'exemple ci-dessus montre que l'on peut séparer la correction grammaticale de la correction du sens dite correction sémantique Un langage de programmation que l'on peut considérer comme une langue arti ?cielle par rapport aux langues naturelles comme le français et l'anglais peut être décrit par les mêmes niveaux le vocabulaire appelé lexique la grammaire appelée syntaxe le sens appelé sémantique CLa di ?érence principale entre un langage de programmation et une langue naturelle est qu'un langage de programmation est beaucoup plus simple et beaucoup plus strict qu'une langue naturelle Une bonne façon de mettre en évidence les trois niveaux ci-dessus est de prendre des exemples de morceaux de programmes erronés ici en Pascal program p var x y boolean t array of integer begin if y else t end La ligne contient une erreur lexicale x n'est pas un identi ?cateur légal en Pascal La ligne contient une erreur syntaxique la construction if else n'est pas légale en Pascal il faut une partie then La ligne contient également une erreur sémantique la variable y est déclarée booléenne on ne peut donc la comparer à l'entier En ?n la ligne contient une autre erreur sémantique n'est pas un indice valide pour le tableau t Ces deux erreurs sémantiques sont de nature di ?érente la première peut être détectée simplement en regardant le texte du programme on dit qu'il s'agit d'une erreur de sémantique statique La seconde ne peut être détectée dans le cas général que lorsque le programme s'exécute on dit qu'il s'agit d'une erreur de sémantique dynamique Nous reviendrons sur ces notions en temps utile

  • 31
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Aucune attribution requise
Partager