/* Analyseur syntaxique des expressions parenthèsées imprime la hauteur des parenthèses a utiliser avec exo2-1.lex qui reconnait les differents terminaux PARA PARB: parentheses de type (), POINTV point virgule */ %{ #define YYSTYPE int int hauteur = 0; %} %token POINTV PARA PARB %% statement : expression POINTV {printf("\n");} ; expression : ouvrir expression fermer expression | ouvrir expression fermer | ouvrir fermer expression | ouvrir fermer ; ouvrir : PARA {hauteur++; printf("%d", hauteur);} ; fermer : PARB {hauteur--; printf("%d", hauteur);} ; %% #include "lex.yy.c" main() { yyparse(); } yyerror(char *s) { printf ("%s\n",s); }