Exo sur identificateur grammaire
Corrigé du TD de L N Patrick Poulingeas ? Exercice a Un identi ?cateur commence par une lettre majuscule ou minuscule suivi d'un nombre quelconque éventuellement aucun de symboles Ces symboles sont constitués des lettres des chi ?res et du caractère '' Exemples d'iden ?cateurs valides i i Unevariable a Exemples d'iden ?cateurs incorrects a i Une variable N B Dans les réponses aux questions suivantes on se contentera de donner les règles de production des grammaires L'axiome de la grammaire sera le premier symbole non terminal apparaissant en partie gauche de la première règle Le vocabulaire non terminal et le vocabulaire terminal se déduiront implicitement de l'écriture des règles a b z A B Z b Une constante ou plus rigoureusement un littéral de type cha? ne de caractères est délimitée par des apostrophes et constituée d'un nombre quelconque de caractères Pour permettre à une apostrophe de faire partie d'une cha? ne de caractères on double celle-ci Ce sont les règles syntaxiques employées par Turbo Pascal '' '' c On se limitera à un sous-ensemble des déclarations de constantes possibles en Turbo Pascal Exemple de déclarations de constantes simples CONST c constante entière c constante réelle c 'a' constante caractère c 'chaine' constante cha? ne de caractères Exemple de déclarations de constantes typées CONST c Integer c Real E- c Char 'z' c String 'foo' c String 'bar' est le nombre maximum de caractères autorisés dans la cha? ne C CONST '' Integer Real Char '' String String - E d Exemple de déclarations de variables même remarque qu'au c VAR i Integer i Real Et les types Boolean Char String i i Integer i String i Array of Real tableau à une dimension i Array of Char tableau à deux dimensions VAR Integer Real Boolean Char String String Array of e Exemple de déclarations de types même remarque qu'au c TYPE chaine String tableau Array of chaine personne Record nom String prenom String age Integer end TYPE C Integer Real Boolean Char String String Array of Record end Dans les règles de productions que l'on vient d'écrire pour la dé ?nition d'un nouveau type reprenant un type déclaré précédemment on s'est limité au cas d'un type tableau c'est-à-dire à la forme Array min max of ??type déclaré précédemment ? comme dans l'exemple Cette grammaire ne permet donc pas d'engendrer des déclarations du style TYPE premier type Char secondtype premiertype autorisé en Turbo Pascal Pour gérer des déclarations de ce genre il faudrait mettre le non-terminal dans une alternative de la règle de production dé ?nissant f Exemple de programme c'est-à-dire un élément du langage considéré Algo exemple Variables a b entier c réel Début a b c Ecrire a Ecrire b Ecrire a c Lire b Si a ? Fin Remarques ?? On interdira les programmes ??vides ? en rendant la partie contenant les instructions obligatoire c'est-à-dire la partie commençant par le mot-clé Début et se terminant par le mot-clé Fin ?? Le titre c'est-à-dire la ligne commençant
Documents similaires










-
43
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Dec 06, 2021
- Catégorie Creative Arts / Ar...
- Langue French
- Taille du fichier 115.6kB