上下文無關文法
上下文無關文法 G 是一個四元組 G = (VN , VT , S, £), 其中
VN :非終結符的非空有限集合
VT :終結符的非空有限集合, VN ∩ VT = Φ
S: 開始符號,且S∈ VN
£ :形式爲 P→α的產生式的有限集合, 且 P∈VN ,α∈ (VN∪VT )*
文法組成
上下文無關文法由一組終結字符,一組非終結字符,一個開始字符,一組產生式組成
終結符號:描述單詞符號,組成語言的基本符號,是一個 語言的不可再分的基本符號。
非終結符:代表語法範疇,一個非終結符代表一個一定的 語法概念,每個非終結符表示一定符號串的集合。
開始符號,一個特殊的非終結符號。
產生式:又叫產生規則或規則 ,是定義語法範疇的一種 書寫規則. 形式如:A→α
示例
語法規則 :
以這句The grey will eat wolf goat.爲例 (紅色代表開始符號,藍色代表非終結符號,橙色代表終結符號)
<句子>—><主語><謂語>
<主語>—><冠詞><形容詞><名詞>
<謂語>—><動詞><直接賓語>
<動詞>—><助動詞><動詞原形>
<直接賓語>—><冠詞><名詞>
<冠詞>—>The
<形容詞>—>grey
<助動詞>—>will
<動詞原形>—>eat
<名詞>—>wolf
<名詞>—>goat
產生式是指任意一行推導的式子
示例中可以看出非終結符都在箭頭的左側,終結符都在箭頭的右側,所以很好區分非終結符和終結符,非終結符是能夠繼續再分的符號串的集合,而終結符不可再分。可以這樣記,產生式左側的符號一定是非終結符,因爲都能推導出新的單詞符號,終結符因爲不能繼續推導,所以只能出現在產生式的右側,而產生式的右側可能是終結符也可能是非終結符,開始符是非終結符的一個特例,只能在文法中出現一次。
以上就是本人的理解,如有錯誤,歡迎指正!