[Bison] Problème de décalage/réduction
Salut tout le monde :ccool:,
Je suis en train de faire un tout mini compilateur C avec Flex et Bison. Mon problème est que lorsque j'analyse ma grammaire avec Bison j'ai un problème de décalage/réduction (2 Décalage/Réduxtion) que je n'arrive pas à résoudre.
Voila un extrait de la grammaire:
Code:
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
|
Declaration : Constante Variable Tableau
;
Constante :
| "const" CHAR IDF "=" CAR ";" Constante
| "const" INT IDF "=" ENTIER ";" Constante
| "const" FLOAT IDF "=" REEL ";" Constante
| "const" CHAR "*" IDF "=" CHAINE ";" Constante
| "const" CHAR "[]" IDF "=" CHAINE ";" Constante
;
Variable :
| CHAR IDF ";" Variable
| INT IDF ";" Variable
| FLOAT IDF ";" Variable
;
Tableau :
| "char" SuiteTab
| "int" SuiteTab
| "float" SuiteTab
;
SuiteTab : IDF Index ";" Tableau
;
Index : "[" ENTIER "]" Index
| "[" ENTIER "]"
; |
Le problème se situe au niveau de Tableau car lorsque je supprime la partie tableau le problème disparait!
Voila voila :) Merci d'avance!
EDIT:
Désolé de ce post inutile je viens de résoudre le problème :oops:
Voila les modifs:
Code:
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
|
Declaration : Constante Variables
;
Constante :
| "const" CHAR IDF "=" CAR ";" Constante
| "const" INT IDF "=" ENTIER ";" Constante
| "const" FLOAT IDF "=" REEL ";" Constante
| "const" CHAR "*" IDF "=" CHAINE ";" Constante
| "const" CHAR "[]" IDF "=" CHAINE ";" Constante
;
Variables :
| CHAR IDF SuiteVar ";" Variables
| INT IDF SuiteVar ";" Variables
| FLOAT IDF SuiteVar ";" Variables
;
SuiteVar :
| Index
;
Index : "[" ENTIER "]" Index
| "[" ENTIER "]"
; |
Voila voila :) Merci!