%{ #include "test.tab.h" В файле test.l есть строка: c Copy #include "test.tab.h" // Этот заголовочный файл генерируется Bison'ом и содержит: // 2. Содержимое test.tab.h (примерно) // typedef union { // char *str; // } YYSTYPE; // extern YYSTYPE yylval; // #define TEXT 258 // #define LBRACE 259 // #define RBRACE 260 #include #include void yyerror(const char *s); %} %% "{" { return LBRACE; } "}" { return RBRACE; } [^{}]+ { // [^{}]+ = "один или больше символов, ни один из которых не является { или }" yylval.str = strdup(yytext); // сохранение данных return TEXT; } // возвращение типа токена . { } %% int yywrap() { return 1; }