Analyseur syntaxique dirigé par table
Bonjour ,j'ai un petit projet que je n'arrive pas a le resoudre svp
le principe de ce projet est de realiser un analyseur sinyaxique avec la methde descendante dirigé par table pour une grammaire d'expressions logique
la grammaire LL(1) donner pour ce language est :
Exp0->Expl$
Expl-> Terme Expl1
Expl1-> ou Terme Expl1| Ɛ
Terme-> Facteur Terme1
Terme1-> et Facteur Terme| Ɛ
Facteur -> (Expl) |non Facteur |vrai|faux
j'ai realiser un analyseur lexical avec Flex pour cette grammire :
%{
#include<stdio.h>
#define VRAI 300
#define FAUX 301
#define ET 302
#define OU 303
#define NON 304
%}
%%
et return ET ;
ou return OU;
faux return FAUX ;
vrai return VRAI ;
non return NON ;
"\n" |
"(" |
")" |
"$" return yytext[0];
[ \t] ;
<<EOF>> return 0 ;
%%
je n'arrive pas a implementé cette grammaire en C ,j'attent vos aide svp
le principe de ce projet est de realiser un analyseur sinyaxique avec la methde descendante dirigé par table pour une grammaire d'expressions logique
la grammaire LL(1) donner pour ce language est :
Exp0->Expl$
Expl-> Terme Expl1
Expl1-> ou Terme Expl1| Ɛ
Terme-> Facteur Terme1
Terme1-> et Facteur Terme| Ɛ
Facteur -> (Expl) |non Facteur |vrai|faux
j'ai realiser un analyseur lexical avec Flex pour cette grammire :
%{
#include<stdio.h>
#define VRAI 300
#define FAUX 301
#define ET 302
#define OU 303
#define NON 304
%}
%%
et return ET ;
ou return OU;
faux return FAUX ;
vrai return VRAI ;
non return NON ;
"\n" |
"(" |
")" |
"$" return yytext[0];
[ \t] ;
<<EOF>> return 0 ;
%%
je n'arrive pas a implementé cette grammaire en C ,j'attent vos aide svp
A voir également:
- Analyseur syntaxique dirigé par table
- Table ascii - Guide
- Table des matières word - Guide
- Analyseur de spectre audio - Télécharger - Création musicale
- Table des caractères - Guide
- No bootable partition in table ✓ - Forum Windows
1 réponse
Bonjour,
Pour commencer, je t'invite à lire un cours sur lex et yacc si tu n'es pas familier de ces outils :
http://www.linux-france.org/article/devl/lexyacc/
Ensuite, pourquoi ne pas repartir d'un exemple, que tu modifierais progressivement pour arriver à la grammaire que tu considère ?
http://www.linux-france.org/article/devl/lexyacc/minimanlexyacc-4.html
Bonne chance
Pour commencer, je t'invite à lire un cours sur lex et yacc si tu n'es pas familier de ces outils :
http://www.linux-france.org/article/devl/lexyacc/
Ensuite, pourquoi ne pas repartir d'un exemple, que tu modifierais progressivement pour arriver à la grammaire que tu considère ?
http://www.linux-france.org/article/devl/lexyacc/minimanlexyacc-4.html
Bonne chance