変換方式:LEX -YACCパーサ
expr -> {print("+")} expr + term
| {print("-")} expr - term
| term
term -> {print("*")} term * factor
| {print("/")} term/factor
| factor
factor -> digit {print(digit)}
| (expr)
文法上はプレフィックス形式で式を出力します。この文法では、パーサーを書くことはできません。 接尾辞を接頭辞に変換するlexとyaccプログラムを書くにはどうすればいいですか? 私はこれに続き、適切な出力を得ていません。lex and yacc program to convert infix to prefixパーサーを書く方法。
[bisonマニュアル](https://www.gnu.org/software/bison/manual/bison.html#Infix-Calc)には、yacc/bisonツールの紹介があり、簡単な電卓文法の例が含まれています。 – rici
また、確かに動作しないコードについてのSOの質問ではなく、実際の作業コードをモデルとして使用することをお勧めします。 (もしうまくいけば、質問はされませんでした)。 – rici
'適切な出力が得られません'というのは、 'パーサーを書くことができません'と同じではありません。 – EJP