J'essayais d'apprendre lex et yacc en utilisant le livre oreilly. J'ai essayé de suivre l'exemple du livre, mais cela donne un défaut de segmentation.défaut de segmentation avec bison et flex
%{
/**
* A lexer for the basic grammar to use for recognizing English sentences.
*/
#include <stdio.h>
extern FILE *yyin;
%}
%token NOUN PRONOUN VERB ADVERB ADJECTIVE PREPOSITION CONJUNCTION
%%
sentence: subject VERB object{ printf("Sentence is valid.\n");}
;
subject: NOUN
| PRONOUN
;
object: NOUN
;
%%
main()
{
while(!feof(yyin)) {
yyparse();
}
}
yyerror(char *s)
{
fprintf(stderr, "%s\n", s);
}
J'utilise flex et bison. Je reçois un défaut de segmentation dans la fonction principale, dans la boucle while. Il n'entre pas du tout dans la boucle.
Des pensées? Merci, Robert