Flex&Bison
Fermé
adelgh123
Messages postés
1
Date d'inscription
Statut
Membre
Dernière intervention
-
thefloflo64 Messages postés 663 Date d'inscription Statut Membre Dernière intervention -
thefloflo64 Messages postés 663 Date d'inscription Statut Membre Dernière intervention -
III) Traiter sur machine les trois questions suivantes.
Soit la grammaire G=(Vt, Vn, P, S) définie par :
Vt={int , real , boolean , array , ref , struct , var , type ,
Of , [ , ] , , , ; , : , = , identificateur , nombre}
Vn= {ListDeclaration , Declaration , ListIdentificateur ,
DefinitionType , ListeChamps}
P={
ListDeclaration -> ListDeclaration ; Declaration
| Declaration
Declaration -> var ListIdentificateur : DefinitionType
| type identificateur = DefinitionType
ListIdentificateur -> ListIdentificateur , identificateur
| identificateur
DefinitionType -> int
| real
| boolean
| array [ nombre ] of DefinitionType
| ref DefinitionType
| struct ListeChamps end
ListeChamps -> ListeChamps ; ListeChamps
| identificateur : DefinitionType
}
S= ListDeclaration
1) Ecrire une spécification lexicale renfermant un main() qui ne fait qu'appeler que le
lexer pour tester l’analyseur généré sur des fichiers contenant des déclarations
définies selon la grammaire G précédemment définie. Faire également des tests sur
des exemples qui aboutissent à des erreurs lexicales.
2) Ecrire une spécification syntaxique bison renfermant un main() qui ne fait
qu'appeler que le parseur pour tester l’analyseur généré sur des exemples bien
choisis. Faire des tests pour afficher aussi des erreurs syntaxiques.
3) Modifier les spécifications flex et bison précédente et les intégrer avec un unique
main() pour afficher les éventuelles erreurs rencontrées ou sinon la table des
identifiants trouvés dans le fichier passé en paramètre renfermant une liste de
déclarations. Tester sur divers exemples bien choisis.
Exemple :
Voici le contenu de fichier à analyser :
var var0, var1 : integer;
vreal : real;
tab : array[ 10 ] of boolean ;
et la table des identificateurs à afficher :
1
2
3
4
-->
-->
-->
-->
var0
var1
vreal
tab
Soit la grammaire G=(Vt, Vn, P, S) définie par :
Vt={int , real , boolean , array , ref , struct , var , type ,
Of , [ , ] , , , ; , : , = , identificateur , nombre}
Vn= {ListDeclaration , Declaration , ListIdentificateur ,
DefinitionType , ListeChamps}
P={
ListDeclaration -> ListDeclaration ; Declaration
| Declaration
Declaration -> var ListIdentificateur : DefinitionType
| type identificateur = DefinitionType
ListIdentificateur -> ListIdentificateur , identificateur
| identificateur
DefinitionType -> int
| real
| boolean
| array [ nombre ] of DefinitionType
| ref DefinitionType
| struct ListeChamps end
ListeChamps -> ListeChamps ; ListeChamps
| identificateur : DefinitionType
}
S= ListDeclaration
1) Ecrire une spécification lexicale renfermant un main() qui ne fait qu'appeler que le
lexer pour tester l’analyseur généré sur des fichiers contenant des déclarations
définies selon la grammaire G précédemment définie. Faire également des tests sur
des exemples qui aboutissent à des erreurs lexicales.
2) Ecrire une spécification syntaxique bison renfermant un main() qui ne fait
qu'appeler que le parseur pour tester l’analyseur généré sur des exemples bien
choisis. Faire des tests pour afficher aussi des erreurs syntaxiques.
3) Modifier les spécifications flex et bison précédente et les intégrer avec un unique
main() pour afficher les éventuelles erreurs rencontrées ou sinon la table des
identifiants trouvés dans le fichier passé en paramètre renfermant une liste de
déclarations. Tester sur divers exemples bien choisis.
Exemple :
Voici le contenu de fichier à analyser :
var var0, var1 : integer;
vreal : real;
tab : array[ 10 ] of boolean ;
et la table des identificateurs à afficher :
1
2
3
4
-->
-->
-->
-->
var0
var1
vreal
tab
A voir également:
- Flex&Bison
- En attente de validation free flex 2024 - Forum Free mobile
- Chrome os flex iso - Guide
- Jbl tune flex ecouteur gauche ne fonctionne plus - Forum Casque et écouteurs
- Comment connecter le deuxième écouteur sans fil JBL Free ? - Forum Casque et écouteurs
- Allumer jbl wave flex sans boitier - Forum Casque et écouteurs