ポーランド記法変換ツール

中置記法、前置のポーランド記法、後置の逆ポーランド記法の間で式を変換し、読みやすい結果をすぐに表示します。

式の記法を変換
式を入力し、変換元と変換先の記法を選んでください。

ポーランド記法の変換について

ポーランド記法は、値の間に演算子を置く通常の書き方によらず、数学式や論理式を表現する方法です。一般的な中置記法では A + B のようにオペランドの間に演算子を置きます。前置記法では演算子を先頭に置いて + A B、後置記法では末尾に置いて A B + と書きます。前置形式はポーランド記法、後置形式は逆ポーランド記法または RPN と呼ばれます。演算子とオペランドの順序が明確なので、通常は括弧が不要です。 このツールは中置から前置、中置から後置、前置から中置、後置から中置の4種類に対応します。中置入力では識別子、十進数、括弧、加算・減算・乗算・除算・累乗の演算子を認識します。標準の優先順位に従い、累乗、乗除算、加減算の順に処理します。括弧で順序を明示的に変更できます。累乗は右結合として扱うため、a ^ b ^ c は a ^ (b ^ c) を意味します。 中置からの変換には操車場アルゴリズムを使い、優先順位に従ってトークンを並べます。演算子は一時的にスタックへ保存し、値は直接出力へ移します。前置出力は、得られた後置列から組み立てます。前置・後置から中置への変換では、部分式を保持するスタックを使います。演算子に出会うたびに対応する2つのオペランドを取り出し、結合して括弧で囲み、スタックへ戻します。最後の要素が完全な中置式になります。 前置・後置入力では、空白が各オペランドと演算子を識別するため重要です。*+ABC ではなく * + A B C と入力してください。中置式では括弧と演算子文字でトークンを区切れるので、空白はあってもなくても構いません。変数名と数値は保持し、確認しやすいよう空白と括弧を加えます。 記法変換は式木、コンパイラの構文解析、スタックマシン、電卓、データ構造の学習に役立ちます。後置式は単純なスタックで左から右へ評価でき、前置式は同様に右から左へ処理できます。なじみのある中置式を変換すると演算子の優先順位が明確になり、式の解析問題を確かめる実用的な方法になります。

ポーランド記法の例

異なる記法で同じ意味を持つ式の例です。

入力出力変換
(A + B) * C - D- * + A B C D中置から前置
A + B * CA B C * +中置から後置
* + A B - C D((A + B) * (C - D))前置から中置
A B + C D - *((A + B) * (C - D))後置から中置

記法変換ツールの使い方

  1. 4種類から選び、入力する記法と変換先を指定します。
  2. 式を入力します。前置・後置記法ではすべてのトークンを空白で区切ります。
  3. 「変換」を選び、式を解析して等価な記法を表示します。
  4. 結果の演算子の順序を確認するか、「リセット」で式を消してやり直します。

ポーランド記法変換のよくある質問

ポーランド記法とは何ですか?

演算子をオペランドの前に置く記法で、A + B は + A B になります。各演算子が取るオペランド数が決まっていれば括弧は不要です。

逆ポーランド記法とは何ですか?

演算子をオペランドの後に置く記法で、A + B は A B + になります。後置記法とも呼ばれ、通常はスタックで評価します。

前置・後置式には空白が必要ですか?

はい。複数文字の値を明確に区別するため、トークン間に空白が必要です。例えば +total25 ではなく + total 25 と書いてください。

演算子の優先順位はどう扱いますか?

中置式では累乗が最優先で、次に乗除算、最後に加減算です。括弧はこの通常の順序に優先します。

数値と変数名を混在できますか?

はい。オペランドには十進数や、英字・数字・アンダースコアからなる識別子を使えます。数値計算は行わず、トークンを並べ替えます。