ポーランド記法
出典: フリー百科事典『ウィキペディア(Wikipedia)』
ポーランド記法(ポーランドきほう、Polish Notation)とは、演算子を操作対象の前に記述する記法。前置記法(ぜんちきほう、prefix notation)ともいう。演算子と被演算子が前後することを除けば逆ポーランド記法と同じものである。名前の由来はポーランド人の論理学者ヤン・ウカシェヴィチ (Jan Łukasiewicz) が考案したことによる。
通常の(中置記法の)数式
1 + 2 (0 + 5) × (2 + 3)
は
+ 1 2 × + 0 5 + 2 3 または (× (+ 0 5) (+ 2 3))
と書く。括弧を使うのは被演算子の個数が不定の場合に範囲を明確にするためである。たとえば、
1 + 2 + 3 + 4
を
(+ 1 2 3 4)
のようにまとめて書くことがある。
ポーランド記法の動機は、演算と演算対象を分離することで式の解釈を明確にすることだった。そのため通常の二項演算を用いる場合は、括弧を使うことなく演算を表記することができる。
一方、この記法では演算子があたかも関数適用のような形態をとる。これを直接利用したのがLISPで、LISPでは関数呼び出しと演算子の間に実質的な区別がなく、演算子に特別なオーバーロード機構を持つC++(演算子は中置記法)などとは対照的である。
逆ポーランド記法は、ポーランド記法を元にコンピュータの利用に適した形に改変したものである。つまり、数値をあらかじめ入力しておき、後から計算法を適用する方が機械構成上自然だったために、記法を逆にしたものが逆ポーランド記法となった。