3 1 上下無關文法 3 2 語言和文法

2022-09-17 21:03:24 字數 1910 閱讀 7526

本章要點

正規式能定義一些簡單的語言,能表示給定結構的固定次數的重複或者沒有指定次數的重複

例:a (ba)^5, a (ba)*

正規式不能用於描述配對或巢狀的結構

例1:配對括號串的集合

例2:1. 定義

把產生式看成重寫規則,把符號串中的非終結符用其產生式右部的串來代替

兩個不同的最左推導

兩棵不同的語法樹

為什麼要用正規式定義詞法

從軟體工程角度看,詞法分析和語法分析的分離有如下好處:

能否把詞法分析併入到語法分析中,直接從字元流進行語法分析

用一種層次觀點看待表示式

文法

stmt   →  if expr then stmt

| if expr then stmt else stmt

| other

句型:if expr then if expr then stmt else stmt

兩個最左推導:

stmt → if expr then stmt 

| if expr then if expr then stmt else stmt

stmt → if expr then stmt else stmt

→ if expr then if expr then stmt else stmt

無二義的文法

短語文法、上下文有關文法、上下文無關文法、正規文法

13 1 語言和文法

這裡剛開始名詞有點多,一定要先理解這些名詞才能往下看。我們逐步拆分下面的定義啊 句子名詞短語 動詞短語 冠詞 形容詞 名詞 動詞 副詞 冠詞 形容詞 名詞 名詞短語,動詞 副詞 動詞短語 the 形容詞 名詞 動詞 副詞 the 是冠詞的其中一種 the beautiful 名詞 動詞 副詞 the...

正則文法和上下文無關文法

對於文法g v,t,s,p 如果產生式的形式如下 a xb a x 其中a,b屬於v,x屬於t 則稱為右線性文法 相似的,如果產生式的形式如下 a bx a x 則稱為左線性文法。右線性文法和左線性文法統稱為正則文法。正規表示式的表達能力等價於正則文法,正規表示式的定義如下 字母表中的任意字母是正規...

上下文無關文法

1 上下文無關文法又稱cfg。許多cfg由幾個較簡單的cfg合併起來。可以先構造每個部分的cfg,比如 s1,s2,s3.sk。然後加入新的規則s s1 s2 sk 2 例如 構造語言 的cfg,1 構造 s1 0 s1 1 2 s2 1 s2 0 3 整合 s s1 s2 3 如果語言是正則的,可...