Bonjour,
je n'arrive pas à développer un analyseur syntaxique pour la grammaire suivante :
Cet analyseur se contente d'afficher le message "mot accepté" lorsque le mot en entrée est analysé avec succès.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 S : X 'b' X : 'a' | 'a' X
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38 1.l %% \n {return fin;} "a" ; "b" ; . fprintf(stderr,"lalphabet %c inconu \n",yytext[0]); 2.y %{ #include <stdio.h> %} %start A %token fin %% A : S fin {printf("mot accepté\n\n");YYACCEPT;} S : X 'b' X : 'a' | 'a' X %% #include <stdio.h> #include "lex.yy.c" yyerror () {} int main() { if ( yyparse() != 0 ) { fprintf(stderr,"Syntaxe incorrecte\n");return 1 ; } else {fprintf(stderr,"Syntaxe correcte\n");return 0 ; } }
Partager