跳去內容

堆疊為本嘅編程語言

出自維基百科,自由嘅百科全書

堆疊為本嘅編程語言英文stack-based programming languages)係指一啲以系統堆疊為中心嘅語言,一個常用嘅例子係 PostScript

[編輯]

PostScript

[編輯]

PostScript 實際上有極少嘅語法,基本上淨係夠個直譯器認得出數字、字串、名、特別符號等等嘅 token(台譯 「符記」)。望落好似語法嘅嘢其實都係算子操控系統堆疊嘅結果。以下係一啲例子:

C 語法 PostScript 「語法」 實際上發生乜嘢事
1 + 2 * 3
2 3 mul 1 add
將 2 推上堆叠,再將 3 推上堆疊。

mul 算子喺堆疊攞兩個數,乘埋,推個結果上堆疊。

將 1 推上堆疊。

add 算子喺堆疊攞兩個數,加埋,推個結果上堆疊。

if (a == b) {
    taska();
}
a b eq {
    taska
} if
a 推上推疊。

b 推上推疊。

eq 算子喺堆疊攞兩個數,比較佢哋係咪相等,推個結果上堆疊。

{ 算子推一個記號(mark)上推疊,直譯器記住讀緊碼塊

taska 呢個名上堆疊。

} 算子將記號到堆疊頂嘅嘢攞出來,掉走個記號,將呢拃嘢變成一個碼塊,直譯器知道讀完碼塊。

if 算子喺堆疊攞一個布林值同一個碼塊,如果布林值係真,就執行個碼塊。

[編輯]