Простые грамматики YACC дают ошибку

У меня вопрос к компилятору yacc. Я не собираю простую грамматику YACC. Вот раздел кода:

/*anbn_0.y */
%token A B
%%
start: anbn '\n' {printf(" is in anbn_0\n");
return 0;}
anbn: empty
| A anbn B
;
empty: ;
%%
#include "lex.yy.c"
yyerror(s)
char *s;
{ printf("%s, it is not in anbn_0\n", s);

Я использую Mac OS X и, я пытаюсь команда йо;$ yacc anbn_0.y а потом$ gcc -o anbn_0 y.tab.c -ll и дай мне ошибку. Здесь ошибка;

warning: implicit declaration of function 'yylex' is invalid in C99 [-Wimplicit-function-declaration]
      yychar = YYLEX;

Почему я получаю ошибку?

Ответы на вопрос(2)

Ваш ответ на вопрос