Théorie des langages : Exercices expressions régulières
Télécharger PDFUniversité du Littoral – Côte d'Opale
Master 1 Informatique
Compilation TD n°9
Nous allons dans ce TD commencer à travailler sur l'interpréteur Schme en vérifiant un certain nombre de ses propriétés.
La grammaire du langage Scheme nous est fournie dans le poly sur le compilateur Scheme et est rappelée dans la figure suivante :
PHRASE ::= ATOME | (SUITE | quote PHRASE ATOME ::= symbole | nombre SUITE ::= PHRASE SUITE SUITE ::= . PHRASE ) SUITE ::= ) Nous allons vérifier que la grammaire est bien de type LL(1) et que par conséquent, nous pouvons réaliser un analyseur récursif descendant (cf cours).
•Donnez l'axiome, les non terminaux et les terminaux de la grammaire
•Calculez les ensembles premier et suivant (first et follow) pour tous les non terminaux
•Vérifiez que la grammaire est bien de type LL(1)
Utilisez maintenant la table d'analyse que vous avez réalisée afin d'analyser la phrase (define toto 'il pleut)).
En utilisant la table d'analyse de votre grammaire, donnez le pseudo-code de l'analyseur récursif descendant. Je vous rappelle que vous avez 3 fonctions à écrire, une fonction pour chaque non terminal que nous appellerons respectivement parseP(), parseA() et parseS()