E.剖析與執行

句子的執行乃是依據語言規則依序剖析並執行其片語。例如, 在句子 10%3+2 片語 3+2 先執行,得到結果在被 10 除。摘要如下
1. 執行由右而左,當碰到右括號,與其對應之左括號所引的部分先執行,得到的結果取代括號與其內容。
2. 副詞與連接詞在動詞前先執行; 片語 ,"2-a 同於 (,"2)-a,而非 ,"(2-a)。此外,副詞或連接詞的左引數 為其前的整個動詞 片語。因此,在片語 +/ . */b,最右邊的副詞 / 修飾整個 +/ . *衍生的動詞片語,而非只是動詞 *
3. 動詞儘可能雙邊執行;亦即,若其前導名詞不是連接詞的右引數。
4. 若干指令串 形成動詞、副詞與連接詞,詳見 § F.
5. 為確保此摘要剖析規則符合下述精確的剖析規則, 有必要以括號括起產生非名詞 或 動詞的副詞或連接詞片語。
這些規則的一個重要結果為,未加括號的表達式中,任何動詞的右引數為其右方整個片語的結果。 句子 3*p%q^|r-5 可以由左往右 : 全部結果為 3 乘以乘號 * 右方所有指令的結果,其又為 p 除以除號 % 右方所有指令的結果 ,以此類推。
剖析進行的方式是,移動連續的原子(或 ,除了立即接在連系詞左方的代動詞與名字的情況) 由 等待線 (原先的句子左方標示 §)的尾端到堆疊 的上方,再執行堆疊中合格的部分,並代之以執行的結果。例如,若 a=: 1 2 3, b=:+/2*a 剖析與執行如下:
   § b =: + / 2 * a
   § b =: + / 2 *          1  2  3
   § b =: + / 2          * 1  2  3
   § b =: + /          2 * 1  2  3
   § b =: +         /  2 * 1  2  3
   § b =: +             /  2  4  6
   § b =:             + /  2  4  6
   § b             =: + /  2  4  6
   § b                       =: 12
   §                       b =: 12
   §                            12
                              § 12
上例指出兩點: 1) 片語的執行  2 * 1 2 3 遞延到原子( /)傳遞過來;若傳來為一連接詞,則 2 成為其引數,單邊動詞 * 將會作用在 1 2 3 and 2) 名字 a 傳遞到堆疊時以其內容取代,名字 b (在連系詞之前 )沒有改變,因此代名詞 b 的內容被堆疊的結果 12 取代。

剖析的過程可以連接詞 13!:16 (q.v.)追蹤。

在堆疊的執行侷限於前四個原子,執行的資格取決於各原子 (名詞、動詞等,為指定的名字視為動詞 )的 class , 如以下剖析表所述。堆疊中前四個原子的 classes與表中前四行作比較,選定四行都符合的首列。該列粗斜體原子則執行最後一行的行動,並以結果取代之。若無一列滿足條件,由等待線傳遞另外一個原子。

EDGE VERB NOUN ANY     0 單邊
EDGE+AVN VERB VERB NOUN 1 單邊
EDGE+AVN NOUN VERB NOUN 2 雙邊
EDGE+AVN VERB+NOUN ADV ANY 3 副詞
EDGE+AVN VERB+NOUN CONJ VERB+NOUN 4 Conj
EDGE+AVN VERB VERB VERB 5三叉族
EDGE CAVN CAVN CAVN 6三叉族
EDGE CAVN CAVN ANY 7 雙叉族
NAME+NOUN ASGN CAVN ANY 8 Is
LPAR CAVN RPAR ANY 9 Paren

符號:   AVN 代表   副詞+動詞+名詞
CAVN 代表   連接詞+副詞+動詞+名詞
EDGE 代表   MARK+ASGN+LPAR


下個前個字彙索引主選單