[YACC] Problème de récursion à droite

Problème de récursion à droite [YACC] - Divers - Programmation

Marsh Posté le 01-03-2003 à 16:43:44    

Dans le cadre de la création d'un compilateur pour un langage quelconque, je dois utiliser lex et yacc, et donc définir la grammaire du langage, en voici un morceau :  
 

Code :
  1. Declaration : DECLARE Id_statement { printf("Declaration" ); }
  2.   ;
  3. Id_statement : IDENTIFICATEUR { }
  4.   | Id_statement ',' IDENTIFICATEUR { printf("reconnait plusieurs id" ); }
  5.   ;


 
Comme décrit, une déclaration est définie par le mot clé DECLARE (le token étant défini plus haut) puis suivi d'un ou plusieurs identificateurs (identificateur = [A-Z]) séparés par une virgule. Cela implique donc de faire une récursion à droite en ce qui concerne la déclaration.  
 
Le problème est que quoique je fasse, aucun DECLARE avec plus d'un identificateur à la suite n'est "compris". Alors où est le problème ?
 
Merci d'avance :)


---------------
Wigga with Attitude.
Reply

Marsh Posté le 01-03-2003 à 16:43:44   

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed