- 3
- 0
- 约1.51万字
- 约 62页
- 2017-03-23 发布于江苏
- 举报
编译原理—第3文法和语言
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * A={u,v},B={m,n}, AB={um,un,vm,vn} 因为εx=xε=x,所以{ε}A={ε}A=A * * * * * * * * * * * * * * * * * * * * * * * 3.3.4 递归文法 1.递归产生式:产生式右部有与左部相同的符号 对于 U::= xUy 若x=ε,即U::= Uy,左递归; 若y=ε,即U::= xU,右递归; 2.递归文法:文法G,存在U ∈VN if U==…U…, 则G为递归文法; if U==U…, 则G为左递归文法; if U==…U, 则G为右递归文法; + + + 4. 递归文法的优点:可用有穷条产生式,定义无穷语言 例:对于前面给出的无符号整数的文法是有递归文法,用13条产生式就可以定义出所有的无符号整数。若不用递归文法,那将要用多少条产生式呢? ! 3. 左递归文法的缺点:不能用自顶向下的方法来进行语法分析 会造成死循环(后面将详细论述) 3.4 文法分类 形式语言:用文法和自动机所描述的没有语义的语言。 文法定义:乔姆斯基将所有文法都定义为一个四元组: G=(VN,VT,P,Z) VN:非终结符号集 VT:终结符号集 P:产生式或规则的集合 Z:开始符号(开始符号) Z∈VN 语言定义: L(G[Z])={x| Z==x , x∈VT*, } * 文法和语言分类:0型、1型、2型、3型 这几类文法的差别在于对产生式施加不同的限制。 定义9:0型文法: P: u::=v 其中u∈V* ,v∈V* 0型语言:L0 这种语言可以用图灵机(Turing)接受. 0型文法称为短语结构文法。产生式的左部和右部都可 以是符号串,一个短语可以产生另一个短语。 定义10: 1型文法: P: xUy::= xuy ︱ 其中 U∈VN, x、y、u∈V* 1型语言:L1 这种语言可以由一种线性界限自动机接受. 称为上下文敏感或上下文有关。也即只有在x、y这样的 上下文中才能把U改写为u 定义10: 1型文法: P: u::= v ︱u ︱≥ ︱v ︱ u, v ∈V* 定义11:2型文法: P: U::= u 其中 U∈VN, u∈V* 2型语言:L2 这种语言可以由下推自动机接受. 称为上下文无关文法。也即把U改写为u时,不必考虑上下文。 注意:2型文法与BNF表示相等价。 (右线性) P: U::=t 或 U::=tW 其中 U、W∈VN t∈VT 3型语言:L3 又称正则语言、正则集合 这种语言可以由有穷自动机接受. 3型文法又被称为正则文法。它是对2型文法进行进一步限制。 (左线性) P: U::=t 或 U::=Wt 其中 U、W∈VN t∈VT 定义12: 3型文法: 根据上述讨论,L0 L1 L2 L3 0型文法可以产生L0、L1、L2、L3,但2型文法只能产生L2,不能产生L1。 ∪ ∪ ∪ 3.5 语法树与二义性文法 3.5.1 推导与语法树 (1)语法树:句子结构的图示表示法,它是一种有向图,由 结点和有向边组成。 结点:符号 根结点:开始符号 中间结点:非终结符 叶结点:终结符或非终结符 有向边:表示结点间的派生关系。 Z U V a b c d 注意一个重要事实:文法所能产生的句子,可以 用不同的推导原则(使用产生式顺序不同)将其 推导出来。语法树的生成规律不同,但最终生成的语 法树形状完全相同。某些文法有此性质,而某些文法 不具此性质。 ( 2 ) 句型的
您可能关注的文档
最近下载
- 【课件】《安全色和安全标志》(GB2894-2025)培训宣贯解读.docx VIP
- GB 2894-2025《安全色和安全标志》新旧版对比学习.pptx VIP
- 一种用于风格变换任务中的语言生成器扰动敏感度分析方法.pdf VIP
- 2025年互联网营销师跨境营销SWOT分析专题试卷及解析.pdf VIP
- 世界金融史:泡沫、战争与股票市场([日]板谷敏彦 著).pdf VIP
- 2025年特许金融分析师GIPS标准与当地法律法规的关系基础专题试卷及解析.pdf VIP
- 2025年互联网营销师腾讯企点客户管理工具应用专题试卷及解析.pdf VIP
- 劳动与社会保障自学考试复习资料.pdf VIP
- 2025年信息系统安全专家数据脱敏考点预测专题试卷及解析.pdf VIP
- 癌痛及三阶梯止痛原则.ppt VIP
原创力文档

文档评论(0)