在目錄中,什麼是上下文相關語言?
產生形式為
αAβ → αγβ
其中 α, β ∈ (N ∪ T)*, A ∈ N; γ ∈ (N ∪ T)+,並且允許 S → λ 形式的規則,如果開始符號 S 未出現在任何規則的右側。
這種語法生成的語言稱為上下文相關語言。
每個上下文無關語法也是上下文相關的 =⇒ 上下文無關語言是上下文相關語言的子集(請參見喬姆斯基正規化)。
但是,並非每個上下文相關語言都是上下文無關的。
示例
語言 {anbncn, n > 1} 是上下文相關的,但不是上下文無關的。
A grammar for this language is given by: S → aSBC | aBC, CB → HB, HB → HC, HC → BC, aB → ab, bB → bb, bC → bc, cC → cc A derivation e.g. aabbcc, using this grammar is: S ⇒ aSBC ⇒ aaBCBC (using S → aBC) ⇒ aabCBC (using aB → ab) ⇒ aabHBC (using CB → HB) ⇒ aabHCC (using HB → HC) ⇒ aabBCC (using HC → BC) ⇒ aabbCC (using bB → bb) ⇒ aabbcC (using bC → bc) ⇒ aabbcc (using cC → cc)
上下文相關語言也可以由單調語法生成,允許任何產生形式,只要沒有規則用於使字串變短(除了一個 S → ∧)!
廣告
資料結構
計算機網路
關係資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式語言
C++
C#
MongoDB
MySQL
JavaScript
PHP