2 文法和語言

2021-09-11 18:12:20 字數 854 閱讀 9520

字母表:

字母表是元素的非空有窮集合,字母表中的元素稱為符號,因此字母表也稱為符號集。

符號串:

由字母表中的符號組成的任何有窮序列稱為符號串。

在符號串中,符號的順序是非常重要的。

如果某符號串x中有m個符號,則稱其長度為m,表示為|x|=m。

允許空符號串,即不包含任何符號的字串,用ε表示,其長度為0,即|ε|=0。

1)有關符號的頭尾,固有頭和固有尾

如果z=xy是一符號串,那麼x是z的頭,y是z的尾,如果x是非空的,那麼y是固有尾;同樣如果y非空,那麼x是固有頭。

2)符號串的連線

設x和y是字串,他們的連線xy是把y的符號寫在x的符號之後得到的字串。

由於ε的含義,顯然有εx=xε=x。

3)符號串的方冪

設x是符號串,把x自身連線n次得到字串z,即z=xx···xx,稱為符號串x的方冪,寫作z=x²。

xº=ε。

4)符號串集合

指定字母表σ之後,可用σ*表示σ上的所有有窮長的串的集合。

例如:σ=,則σ*=,也可表示為字母表的方冪形式:σ*=σº∪σ¹∪σ²···∪σn···

a*:a的*閉包。

a+:a的正閉包。(不含空串ε)。

文法:文法g定義為四元組(vn,vt,p,s)。

其中vn為非終結符(或語法實體,或變數)集;

vt為終結符集;

p為規則(α→β)的集合;

vn,vt和p是非空有窮集;

s稱作識別符或開始符,他是乙個非終結符,至少要在一條規則中作為左部出現。

vn:非終結符集合,用尖括號括起來,大寫字母表示。

vt:終結符集合,不用尖括號括起來,小寫字母表示。

2 文法和語言

2.3文法和語言的形式定義 語法只定義什麼樣的符號串行是合法的,與這些符號的含義毫無關係,對pascal,乙個上下文無關文法可定義符號串a b c是合乎語法的,a b 不。若b實型,c布林,或b c中任何乙個沒事先說明,程式語言的語義分兩 靜態語義和動態語義 靜態語義是一系列限定規則 動態語義也稱執...

作業2 文法和語言

1.文法g z z azb ab定義的是什麼樣的語言?產生式有 z azb,z ab 因此有 z ab,z azb a b 重複使用產生式z azb,得 z azb a zb a zb a b 所以,文法所確定的語言為l g z 2.寫出教材22頁例2.2中識別符號的文法四元組形式。文法g vn,v...

2 6 文 法 和 語 言 的 分 類

著名的語言學家喬姆斯基 chomsky 將文法和語言分為 4 大類,即 0 型 1 型 2 型和 3 型。劃分的依據是對文法中的規則施加不同的限制。若文法 g v n v t p s 中的每條規則 是這樣一種結構 v n v t 且至少含乙個非終結符,而 v n vt 則稱 g是 0 型文法。0 型...