堆疊為本嘅編程語言
閱讀設定
堆疊為本嘅編程語言(英文: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 算子喺堆疊攞一個布林值同一個碼塊,如果布林值係真,就執行個碼塊。 |
攷
[編輯]