私は戻ってきて、独自の言語と OS を書いていますが、独自の開発言語の開発を開始しているため、Bison を使用するといくつかのエラーが発生し、それらを解決する方法がわかりません。これは私の *.y ファイル コードです。
input:
| input line
;
line: '\n'
| exp '\n' { printf ("\t%.10g\n", $1); }
;
exp: NUM { $$ = $1; }
| exp exp '+' { $$ = $1 + $2; }
| exp exp '-' { $$ = $1 - $2; }
| exp exp '*' { $$ = $1 * $2; }
| exp exp '/' { $$ = $1 / $2; }
/* Exponentiation */
| exp exp '^' { $$ = pow ($1, $2); }
/* Unary minus */
| exp 'n' { $$ = -$1; }
;
%%
そして、このソース コードで Bison を使用しようとすると、次のエラーが発生します。
calc.y:1.1-5: 構文エラー、予期しない識別子: