%{ #include "calc.tab.h" // Автоматически создаётся Bison %} %% [0-9]+ { yylval = atoi(yytext); return NUMBER; } // Если ввод - набор цифр, то возвращаем int [-+*/()] { return yytext[0]; } // Если символ совпал с каким то из этих, то он возвращается, далее bison будет его использовать [ \t] ; // Пробелы и табы игнорируются \n { return 0; } // Энтер обозначает конец ввода . { printf("unknown: %s\n", yytext); } // Неподдерживаемый символ %% int yywrap() { return 1; }