前置演算子と後置演算子の両方を使用して言語を解析できる LR(0) パーサーを構築することは可能ですか? たとえば、 + (足し算) と ! を使った文法があるとします。通常の優先順位の (階乗) 演算子、次に 1+3! 1 + 3 である必要があります。= 1 + 6 = 7 ですが、確かにパーサーが LR(0) の場合、スタックに 1+3 があった場合、シフトではなく減少しますか?
また、正しい連想演算子は問題を引き起こしますか? たとえば、2^3^4 は 2^(3^4) である必要がありますが、パーサーがスタックに 2^3 を持っている場合、どのようにして削減またはシフトを知るのでしょうか?
これが不可能な場合、おそらく文法を変更して適切な場所に括弧を追加することにより、LR(0) パーサーを使用する方法がまだありますか?