Я делаю калькулятор с суммой и вычитания операцийсинтаксическая ошибка, неожиданный идентификатор, ожидающий тип. Yacc. зубр
это мой код ...
Calc.y
%{
#include
%}
%union{
double dval;
}
%token NUMERO
%token SUMA RESTA
%token ABRIR CERRAR
%token END
%left SUMA RESTA
%left NEG
%type Expresion
%start Input
%%
Input: Line
| Input Line
;
Line: END
| Expresion END
{
printf("Resultado: %f\n",$1);
}
;
Expresion: NUMERO { $$=$1; }
| Expresion SUMA Expresion { $$=$1+$3; }
| Expresion RESTA Expresion { $$=$1-$3; }
| RESTA Expresion %prec NEG { $$=-$2; }
| ABRIR Expresion CERRAR { $$=$2; }
;
%%
int yyerror(char *s) { printf("%s\n",s); }
int main(void) { yyparse(); }
И это ошибка calc.y: 16.7-15: ошибка синтаксиса, неожиданный идентификатор, ожидая типа