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函數中遇到了段錯誤。它完全沒有進入循環。
有什麼想法? 謝謝, 羅伯特