コンパイル時にエラー1.1:構文エラー、予期しないファイルの終了が発生する単純なバイソンプログラムです。 Bison:入力/出力エラー。私はそれがバイソン-d hw3.yを使用してコンパイル構文を取得し続けるシンプルなBisonファイル1.1エラー
次のようにコードがある:line
ためのあなたは生産の;
欠けている
%{
#include <stdio.h>
%}
%token NUMBER
%left '+' '-'
%left '*' '/'
%%
input
: /* allow empty input */
| input line
;
line
: expr '\n' { printf("Result is %f\n", $1); }
expr
: expr '+' term { $$ = $1 + $3; }
| expr '-' term { $$ = $1 - $3; }
| term { $$ = $1; }
;
term
: term '*' factor { $$ = $1 * $3; }
| term '/' factor { $$ = $1/$3; }
| factor { $$ = $1; }
;
factor
: '(' expr ')' { $$ = $2; }
| NUMBER { $$ = $1; }
| '-' NUMBER { $$ = -$2; }
;
%%
/* display error message */
int yyerror(char *errmsg) { printf("%s\n", errmsg); }
/* main */
int main() {
printf("type an expression:\n");
yyparse();
}
_When_そのエラーが発生しますか? Bisonを実行するとき、結果のCコードをコンパイルするとき、あるいはパーサを実行するとき? Bisonを実行している場合は、Bisonを使用してコードを実行しようとするとそのエラーは表示されません。どのバージョンのBisonを使用していますか?これはあなたが使用している正確なコードであると確信していますか? –