2
我正在尝试使用oreilly书学习lex和yacc。我从书中尝试了下面的例子,但它给出了分段错误。北美野牛和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);
}
我使用flex和野牛。 我在while循环中的main函数中遇到了段错误。它完全没有进入循环。
有什么想法? 谢谢, 罗伯特