|
===================================== 〔語彙分解〕的な部分一致の検索結果は以下の通りです。 ・ ー : [ちょうおん] (n) long vowel mark (usually only used in katakana) ・ ラン : [らん] 【名詞】 1. (1) run 2. (2) LAN (local area network) 3. (P), (n) (1) run/(2) LAN (local area network) ・ 記 : [き] (n,n-suf) chronicle ・ 記法 : [きほう] (n) notation ・ 法 : [ほう] 1. (n,n-suf) Act (law: the X Act)
ポーランド記法(ポーランドきほう、Polish Notation)とは、数式やプログラムを記述する方法(記法)の一種。演算子(オペレータ)を被演算子(オペランド)の前(左)に記述することから、前置記法(ぜんちきほう、prefix notation)とも言う。 その他の記法として、演算子を被演算子の中間に記述する中置記法、後(右)に記述する後置記法(逆ポーランド記法)がある。 名称の由来は、ポーランド人の論理学者ヤン・ウカシェヴィチ (Jan Łukasiewicz) が考案したことによる。 == 概要 == 例えば、「1 と 2 を加算する」という演算を、一般的に数式の表記に用いられる中置記法で記述すると、以下のようになる。 1 + 2 一方、ポーランド記法では、加算を表す演算子 + を、被演算子である 1 と 2 の前(左)に置いて、以下のように記述する。 + 1 2 ポーランド記法は、演算子と被演算子を分離して記述することで、式の解釈を明確にするために考えだされたものであり、二項演算であれば、括弧を使うことなく演算を一意に表記することができる。 例えば、中置記法による以下の式を考える。 (1 + 5) * (2 + 3) これをポーランド記法で記述すると以下の通りとなり、括弧が不要である。 * + 1 5 + 2 3 一方、ポーランド記法では、被演算子同士を区切る記号(デリミタ)が必要である(中置記法では演算子がデリミタとして働くため不要)。一般には空白が用いられることが多く、上の例では1と5の間、2と3の間にある空白がそれに当たる。 なお、ポーランド記法においても、読みやすくするために括弧を用いることがあり、以下のように記述しても間違いではない。〔LISPはこのような見た目だが、LISPで括弧が必須なのはLISPの理由による。すなわち、LISPでは式を読み込む時に式の木構造を構築するのだが、括弧なしで式の木構造を構築するには、演算子を識別し、その引数の数がわかっていなければならない。しかし、読み込み時にはその文字列から演算子かどうかはわからないし、任意個の引数をとる演算子もある。このため括弧なしには木構造を構築できないので、LISPでは括弧が必須なのである。〕 ( * (+ 1 5) (+ 2 3)) 抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)』 ■ウィキペディアで「ポーランド記法」の詳細全文を読む スポンサード リンク
|