主題
Search

語法


定義形式語言的語法是一個四元組 (N,T,R,S),其中 N 是非終結符的有限集合,T 是終結符的有限集合,R 是產生式的有限集合,而 SN 的一個元素。

終結符集合 TL 的字母表。非終結符是表示語言構造的符號。集合 NT 不應相交。S 被稱為起始符號。產生式是以下形式的規則:alpha->beta,其中 alphabeta 都是終結符和非終結符的字串,alpha 至少包含一個非終結符。

語法 G=(N,T,R,S) 的句型由以下規則定義:S 是一個句型;如果 alphabetagamma 是一個句型,且產生式 beta->delta 屬於 R,則 alphadeltagamma 也是一個句型。

L 是由完全由終結符組成的句型構成的所有字串的集合。對於由語法定義的語言,識別給定的字串(表示式)是否屬於該語言通常是一項非平凡的任務。所有由語法定義的語言都是遞迴可列舉集合

1. 如果語法 G 的所有產生式都具有 A->alphaBA->alpha 的形式,其中 A,B in Nalpha 是終結符的字串,則稱該語法 G 為右線性語法。

2. 如果語法 G 的所有產生式都具有 A->alpha 的形式,其中 A in Nalpha 是終結符和非終結符的字串,則稱該語法 G 為上下文無關語法。

3. 如果語法 G 的所有產生式都具有 alpha->beta 的形式,其中 alphabeta 都是終結符和非終結符的字串,且 alpha 的長度不大於 beta 的長度,則稱該語法 G 為上下文相關語法。

4. 如果語法 G 不屬於類別 1 到 3,則稱其為無限制語法。

這種語法層次結構是由 N. 喬姆斯基引入的。由每個類別的語法定義的語言集合是前一個類別的真超集。由類別 1 到 3 的語法定義的語言是遞迴集合。一個語言可以透過類別 1 的語法定義,當且僅當它可以透過正則表示式定義時。


另請參閱

正則表示式

此條目由 Alex Sakharov 貢獻 (作者連結)

使用 探索

參考文獻

Aho, A. V. 和 Ullman J. D. Theory of Parsing, Translation and Compiling, Vol. 1. Englewood Cliffs, NJ: Prentice Hall, 1972.Aho, A. V. 和 Ullman J. D. Theory of Parsing, Translation and Compiling, Vol. 2. Englewood Cliffs, NJ: Prentice Hall, 1972.

在 中引用

語法

請按如下方式引用

Sakharov, Alex. "語法." 來自 網路資源,由 Eric W. Weisstein 建立. https://mathworld.tw/Grammar.html

主題分類