2 文法和語言

2021-09-29 22:01:02 字數 2858 閱讀 6503

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 型...