2.3文法和語言的形式定義
語法只定義什麼樣的符號串行是合法的,與這些符號的含義毫無關係,
對pascal,乙個上下文無關文法可定義符號串a:=b+c是合乎語法的,a:=b+不。
若b實型,c布林,或b、c中任何乙個沒事先說明,
程式語言的語義分兩:靜態語義和動態語義
靜態語義是一系列限定規則
動態語義也稱執行語義或執行語義,
語言的完整含義包括語法和語義
語法只定義什麼樣的符號串行是合法的
文法是乙個工具,來闡明語法
上下文無關文法看來是文法這個工具的一種啊哈哈哈
本書不對形式語義學介紹。
但對有無窮多個句子的語言
用1章的ebnf表示這種句子的構成規則
主語又有誰啊???
乙個乙個套下去啊
這特媽叫文法啊?
這些規則就**叫文法啊?
有了規則,我就能生成乙個句子了哈哈哈
選取《主語》,並用規則《主語》::=《代詞》,得到
文法是以有窮的方式刻畫無窮集合的工具
pascal或c是由一切pascal程式或c程式組成的集合
設有一基本符號集,
為給出語言的形式定義,先討論符號和符號串
c 的字母表是啥 ∣ε∣
=0|\varepsilon|=0
∣ε∣=
0頭尾,固有頭,固有尾
z =a
bcz=abc
z=abc,
z
zz的尾是ε
\varepsilon
ε,c,bc
和abc
c,bc和abc
c,bc和a
bc;
只強調x
xx在符號串z
zz中的某處出現,
符號tt
t是符號串x
xx的第乙個符號,則x=t
...x=t...
x=t...
對於n>0有 xn=
xn−1
x=xx
n−1x^n=x^x=xx^
xn=xn−
1x=x
xn−1
符號串集合
符號串集合a
aa和b
bb乘積
這裡有一點沒寫啊 則σ∗
\sigma^*
σ∗=,也可表為字母表的方冪形式
以前那個漢語的規則就叫文法 a→
aa\to a
a→a讀作「a定義為a」
關於句子的規則就是主語和謂語 ss
s稱識別符或開始符,是非終結符, vn
v_nvn
和vt
v_tvt
不含公共
**的,為啥左邊至少包含乙個非終結符,而且s至少要出現在一條規則的左部
vn草他媽的,不是說v
nv_n
vn和v
tv_t
vt不相交的嗎
**的,非終結符應該指的是識別符號,字母,數字這三個東西,現在你理解了為啥v
nv_n
vn和v
tv_t
vt不相交了吧
或用大寫非終結符,小寫終結符。
也有習慣,將g
gg寫成g[s
]g[s]
g[s]
,
不是說,s是開始符,識別符就是開始符啊!
g :s
→0s1
g:s\to 0s1
g:s→0s1s→
01s\to 01
s→01 g[s
]:s→
0s1g[s]:s\to 0s1
g[s]:s
→0s1
s →01
s\to 01
s→01 v=
γαδv=\gamma \alpha \delta
v=γαδw=γ
βδw=\gamma \beta \delta
w=γβδ
s ,0
s1s,0s1
s,0s
1,規則:s→0
2 文法和語言
字母表 字母表是元素的非空有窮集合,字母表中的元素稱為符號,因此字母表也稱為符號集。符號串 由字母表中的符號組成的任何有窮序列稱為符號串。在符號串中,符號的順序是非常重要的。如果某符號串x中有m個符號,則稱其長度為m,表示為 x m。允許空符號串,即不包含任何符號的字串,用 表示,其長度為0,即 0...
作業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 型...