>>881
申し訳ないのですが、>>875 にしても、代数式として評価が可能な場合には評価結果を出力して終了しています。
ループするのは、入力した式が代数式として評価不可能な場合で、
"syntax error" と表示したあと、1文字先読みして(∵LL(1)文法に従っているので)単に main() に longjmp() しているだけです。
だから代数式として評価可能な式が入力され次第、プログラムは終了します。
いつまでたってもループしたまま終わらないという誤解をお持ちのようですが、少しコードを眺めていただければ、そんなことはないことはお分かりになるだろうと思います。

#それとも掛け算に * 割り算に / を使っていることを問題にされているのでしょうかね?(たしかにこれは >>826 とは違いますが)