複製鏈接
請複製以下鏈接發送給好友

波蘭式

鎖定
波蘭式在通常的表達式中,二元運算符總是置於與之相關的兩個運算對象之前,所以,這種表示法也稱為前綴表達式。
中文名
波蘭式
外文名
Polish Notation
提出者
Lukasiewicz
表達式
+AB
相    關
把每一運算符置於其運算對象之前

目錄

波蘭式簡介

中綴表達式的計值,並非按運算符出現的自然順序來執行其中的各個運算,而是根據算符間的優先關係來確定運算的次序,此外,還應顧及括號規則。因此,要從中綴表達式直接產生目標代碼一般比較麻煩。
波蘭邏輯學家J.Lukasiewicz於1929年提出了另一種表示表達式的方法。按此方法,每一運算符都置於其運算對象之後,故稱為後綴表示。這種表示法的一個特點是,表達式中各個運算是按運算符出現的順序進行的,故無須使用括號來指示運算順序,因而又稱為無括號式。
下面我們對照地給出一些表達式的三種表示:
前綴表示
中綴表示
後綴表示
+AB
A + B
AB+
+A*BC
A + B * C
ABC*+
*+AB+CD
(A + B) * (C + D)
AB+CD+*
從上面的例子可以看出:
(1) 在兩種表示中,運算對象出現的順序相同;
(2) 在後綴表示中,運算符按實際計算順序從左到右排列,且每一運算符總是跟在其運算對象之後。

波蘭式相關

順便提及,Lukasiewicz原來提出的是前綴表示,即把每一運算符置於其運算對象之前。例如,中綴式a+b和(a+b)/c相應的前綴表示分別為+ab和/+abc。因此,為了區分前綴和後綴表示,通常將後綴表示稱為逆波蘭表示。因前綴表示並不常用,所以有時也將後綴表示就稱為波蘭表示。