simple calc +
parent
baada0416f
commit
aa52376507
|
@ -3,10 +3,11 @@
|
|||
%}
|
||||
|
||||
%%
|
||||
[0-9]+ { yylval = atoi(yytext); return NUMBER; }
|
||||
[-+*/()] { return yytext[0]; }
|
||||
[ \t\n] ; // Игнорируем пробелы и переносы
|
||||
. { printf("unknown: %s\n", yytext); }
|
||||
[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; }
|
|
@ -10,7 +10,7 @@ int yylex();
|
|||
%left '*' '/'
|
||||
|
||||
%%
|
||||
input: /* пусто */
|
||||
input:
|
||||
| input expr { printf("= %d\n", $2); }
|
||||
;
|
||||
|
||||
|
|
Loading…
Reference in New Issue