逆波蘭表示法 (RPN) 是一種表示表示式的方法,其中運算子符號放在被操作的引數之後。波蘭表示法,其中運算子在運算元之前,是由波蘭數學家 Jan Lucasiewicz 在 20 世紀 20 年代發明的。在 20 世紀 50 年代後期,澳大利亞哲學家和計算機科學家 Charles L. Hamblin 建議將運算子放在運算元之後,因此建立了逆波蘭表示法。
例如,以下 RPN 表示式將產生 2 和 3 的和,即 5:2 3 +。
逆波蘭表示法,也稱為字尾表示法,與標準算術表示式的“中綴表示法”形成對比,在標準算術表示式中,運算子符號出現在運算元之間。
RPN 具有無需括號即可表示求值順序或項的分組的特性。RPN 表示式只需從左到右求值,這大大簡化了計算機程式中表達式的計算。例如,算術表示式 可以用 RPN 表示為
。
在實踐中,RPN 可以使用堆疊結構方便地進行求值。從左到右讀取表示式,執行以下操作
2. 如果下一個是運算子,則從堆疊頂部彈出兩個項,並將運算結果壓入堆疊。
標準的中綴算術表示式可以使用解析演算法(如遞迴下降解析)轉換為 RPN 表示式。
RPN 用於惠普和一些德州儀器計算器,以及某些計算機語言的內部。