- 1、本文档共79页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
ch3_new文法和语言
第三章 文法和语言;§ 3.1 文法的直观概念;;;二.符号(字符)symbol;三.符号串(字)string;符号串的头尾:如果z=xy是一符号串,那么x是z的头,y是z的尾。
如果x是非空的,那么y是固有尾;如果y是非空的,那么x是固有头。
符号串集合:若集合A中的一切元素都是某字母表上的符号串,则称A为该字母表上的符号串集合。
;四.符号串的运算1.符号串的连接 connection;2.符号串的幂运算 power;3.集合的乘积 product;空集Φ empty set;4.集合的幂运算;5.集合A的正闭包A+与闭包A*;【例如】设 A = {a},则
A+ = {a,aa,aaa,……} = {an | n=1} A* = {?, a,aa,aaa,……} = {an | n=0};3.3 文法和语言的形式定义;2 、文法定义;;例 文法G=(VN,VT,P,S)
VN ={标识符,字母,数字}
VT ={a,b,c,…x,y,z,0,1,…,9}
P={标识符→字母
标识符→标识符字母
标识符→标识符数字
字母→a
…
字母→z
数字→0
…
数字→9 }
S=标识符;文法的写法 元符号: → ∷= | 习惯 大写字母表示非终结符 小写字母表示终结符;推导的定义;推导;
若存在v =w0 ?w1 ?... ?wn=w,(n0)
则记为v w,称作v推导出w,或w归约到v
若有v w 或 v=w, 则记为v w;;句型、句子的定义;句型、句子;(文法生成的)语言的定义;例 文法G[S]:
(1)S→aSBE
(2)S→aBE
(3)EB→BE
(4)aB→ab
(5)bB→bb
(6)bE→be
(7)eE→ee L(G)={ anbnen | n≥1 }
G生成的每个串都在L(G)中
L(G)中的每个串确实能被G生成;文法的等价;【例】设计一个表示所有标识符的文法;【例】用文法定义一个含+、*的算术表达式。;【例】设字母表∑={a,b},设计一个文法,描述语言 L={abna | n?0};【例】描述语言L={abna | n?0}的等价文法;【例】设有文法G[S]: S→01 | 0S1求该文法所描述的语言;【例】设有文法G[S]: S→0S|1S|? 求该文法所定义的语言;【例】设有文法G[A]: A→yB,B→xB|x求该文法所定义的语言;【例】考虑文法 G1: S → A B
A → a A | a
B → b B | b
我们可以分析得出 L(G1) = { am bn | m, n≥1}
【例】构造一个文法 G2 使
L(G2) = { an bn | m, n≥1}
G2 和 G1 的区别在于,G2 的每个句子中 a 和 b 的个数必须相同。
我们可以写出文法 G2: S →a S b | a b ;【例】设字母表∑={a,b},试设计文法,描述语言 L={a2n,b2n | n?1};3.4 文法的类型;文法的类型;文法的类型;3型文法;文法的类型;文法和语言;根据形式语言理论,文法和识别系统间有这样的关系;; 3型文法产生的语言是有穷自动机(FA)所接受的集合.;3型文法 和 有穷自动机(FA);3型文法 和 有穷自动机(FA);3型文法 和 有穷自动机(FA);正规文法和正规式 对?上的正规式r ,存在一个RG=(VN,VT,P,S):L(G)=L(r);例 r=a(a?d)?;正规文法和正规式 对G=(VN,VT,P,S),存在一个? =VT上的正规式r : L(r)=L(G);正规文法和正规式;3.5 上下文无关文法及其语法树;语法树---句型推导的直观表示 (句型、推导);语法树;上下文无关文法的语法树;语法树---句型推导的直观表示;规范推导 规范句型;;;二义文法;文法的二义性和语言的二义性;3.6 句型的分析(上下文无关文法);句型的分析算法分类;两种方法反映了两种语法树的构造过程。;1、自上而下的语法分析;2、自下而上的语法分析;自上而下的语法分析(1)S → cAd (2) A → ab (3) A → a 识别输入串w=cad是否为该文法的句子;(1)S → cAd (2) A →
文档评论(0)