Zkusil jsem vsechny priklady a nechodi mi zadny.
U toho prvniho je asi problem v definici EMPTY_LINE,
kde je navic tecka a hvezdicka, ale i kdyz se odstrani, tak to nechodi, nevim proc (line 10, unrecognized rule). U ostatnich prikladu chybi vsechny procento-slozena zavorka v uvodni sekci, takze to gcc neprelozi.
(Pokud autor ty chyby udelal zamerne, aby zjistil, jestli to nekdo cte, tak se omlouvam)
Jinak skvely clanek.
Clanek je zajimavy, ale bylo by vhodne vyzkouset vypisovane programy. Zkusim zde vlozit opravu jednoho programu:
%{
int word_c=0;
%}
%%
[^ \t\n]* ++word_c;
.|\n
%%
main()
{
yylex();
printf("Počet slov = %d\n",word_c);
}
Prelozit se to pak musi pomoci prikazu:
[jirik@vodpad tmp]$ flex test.ll
[jirik@vodpad tmp]$ gcc -o test lex.yy.c -lfl