這裡剛開始名詞有點多,一定要先理解這些名詞才能往下看。
我們逐步拆分下面的定義啊:
句子名詞短語+動詞短語
冠詞+形容詞+名詞+動詞+副詞 / 冠詞+形容詞+名詞=名詞短語,動詞+副詞=動詞短語
the + 形容詞+名詞+動詞+副詞 / the 是冠詞的其中一種
the + beautiful +名詞+動詞+副詞
the + beautiful+lady+speak+loudly.
然後我們知道,僅僅以英文來說,是由24個英文本母+符號組成的,我們先定義乙個概念:v
,其包含所有組成語言的元素,所謂的句子,就是v中某些元素組成的子集合。
然後我們來看上面的第4句,其中the是否可以替換呢?不可以,因為the已經佔了冠詞的位置,那麼形容詞
可以替換嗎?可以,替換成乙個真正的形容詞,比如下面的beautiful
就是替換後的結果。對於句子中能替換的元素,我們稱為非終結符,記做n
,不可以替換的,稱為終結符,記做t
。
然後如果有多個句子,我們如何標記乙個句子的開頭和結尾呢?為什麼是開頭而不是標記結尾呢?因為結尾符號太多了呀:感嘆號,句號,問號,冒號等,所以標記乙個句子的開頭反而簡單嘛,乙個句子的開頭符號我們記為s
。
然後就是產生式:p
,啥叫產生式呢?就是在上面中,我們說the
可以替換掉冠詞
,就是一種替換規則,我們定義了
t he
→冠詞the \rightarrow 冠詞
the→冠詞
再來就是定義派生的概念了,就是逐漸的用產生式來產生新的句子,比如我們從上面1派生出了2,再由2派生出了3等。
估計概念有點多,直接來乙個例子:
設 g=
,v=,
t=,p
=根據上
面的定義
,我們可
以由字元
串ab→
bbb,
因為a→
bb。同
理,ab
→b。所
有這些由
s開始派
生的,最
終派生的
由終結符
構成的集
合(即不
可再派生
)記做:
l(g)
設 g=\,v=\,t=\,p=\ \\ 根據上面的定義,我們可以由字串 ab \rightarrow bbb,因為 a \rightarrow bb。同理,ab \rightarrow b。\\ 所有這些由s開始派生的,最終派生的由終結符構成的集合(即不可再派生)記做:l(g)
設g=,v=
,t=,
p=根據
上面的定
義,我們
可以由字
符串ab
→bbb
,因為a
→bb。
同理,a
b→b。
所有這些
由s開始
派生的,
最終派生
的由終結
符構成的
集合(即
不可再派
生)記做
:l(g
)比如上面的例子中:
然後我們就可以知道:l(g)=
。
下面的就更加玄乎了,但是我打算這樣來講:
這種就是在上下文環境中,非終結符進行派生,也可以說非終結符被終結符包圍。
這種不需要管上下文,就是將非終結符進行派生,且派生後的字串無法再派生。
這個就是非終結符進行派生,派生後的結果中,還有非終結符,可以繼續進行派生。
沒有任何限制,不過這個暫時也不用管。
然後在上面的文法中,如果派生之後的字串長度小於大於等於派生前的長度,則稱該文法為非締約的,或者是單調的。
樹的基礎知識見這裡
所謂派生樹其實很簡單,就是樹的內點都是非終結符,樹葉都是終結符:
比如一開始舉的例子。
3 1 上下無關文法 3 2 語言和文法
本章要點 正規式能定義一些簡單的語言,能表示給定結構的固定次數的重複或者沒有指定次數的重複 例 a ba 5,a ba 正規式不能用於描述配對或巢狀的結構 例1 配對括號串的集合 例2 1.定義 把產生式看成重寫規則,把符號串中的非終結符用其產生式右部的串來代替 兩個不同的最左推導 兩棵不同的語法樹...
Hao語言 文法
新型漢語程式語言 設計開發中.源 公開,希望有能力的朋友多提意見 identifier a z a z a 128 identifier identifier identifier 0 9 sentence variablestatementsentence expressionsentence v...
C語言文法
翻譯單位 函式的定義 類的定義 儲存類說明符 自動 儲存說明符auto register static extern說明的四種儲存型別,四種儲存類別說明符有兩種儲存期 自動儲存期和靜態儲存期 register static extern typedef void 型別說明符 char short i...