【发布时间】:2021-12-09 08:42:58
【问题描述】:
%{
#include<stdio.h>
%}
%start INPUT
%union {int num}
%token <num> val
%type <num>SUM
%%
INPUT: SUM
SUM: '('SUM '+' SUM')' {$$ = $1 + $2}
| val {$$ = $1}
%%
int main(){
return yyparse();
}
我正在尝试制作一个解析器。虽然我声明了 SUM 非终结符的类型,但它给了我警告:
error: $1 of ‘SUM’ has no declared type
SUM: '('SUM '+' SUM')' {$$ = $1 + $2}
我该如何解决这个问题?
【问题讨论】: