Yacc : récupérer la chaine de caractere de $1

Sara426 Messages postés 782 Statut Membre -  
Sara426 Messages postés 782 Statut Membre -
Bonjour,

Je dois faire un compilateur avec Yacc mais j'ai un problème avec un type.

J'ai une fonction simple, par exemple:
void ecrire(char* idf);

Dans Yacc lorsque je lance {ecrire($1);}
Il me retourne un probleme de typage :
note: expected `char *' but argument is of type `YYSTYPE'

Or $1 dans le Lex correspond bien a une chaine de caractere.

Est-ce que quelqu'un aurait une idée ?

Cordialement,
Sara.

1 réponse

  1. Freedomsoul Messages postés 538 Statut Membre 97
     
    Es-tu sur de la définission de ta variable $1 ?

    pourrais-tu données d'avantage d'informations ?

    Merci
    0
    1. Sara426 Messages postés 782 Statut Membre 63
       
      Dans le lex on a [a-zA-Z]* {return (IDF);}

      Et dans le yacc
      truc : IDF {écrire($1);}
      ;

      Donc IDF est obligatoirement une chaine de caractère.
      0