- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
语法树与文法的二义性 文法的二义性句例: 对于上例中的文法可找到与之等价的非二义性文法: (0) E → T | E+T (1) T → F | T*F (2) F →(E) | i 对于句子 (i*i+i) 就只有一种最左推导: E ? T ? F ?(E) ?(E+T) ?(T+T) ?(T*F+T) ?(F*F+T) ?(i*F+T) ?(i*i+T) ?(i*i+F) ?(i*i+i) 对于一个程序语言来说,常常希望它的文法是无二义的。 文法二义性问题是不可判定的,也就是不存在一种算法,能在有限步内确切的判定一个文法是否是二义性文法。若要证明文法是二义性,只要举出一例即可。 文法与语言的形式定义 语言的形式定义 (形式语言 ) 乔姆斯基 (Chomsky) 将文法分成四种类型: 0型、 1型、 2型、 3型 文法 G为一四元组 G=(VN,VT,S,P) ,其中: VN 非终结符号集合; VT 终结符号集合; P 产生式的有穷集合,一般形式 为α → β; S 文法开始符号, S∈VN 文法与语言的形式定义 0型文法 (短语文法 、无限制文法): G的任何产生式 α→β均有 α∈(V N∪ VT)+ 且至少含有一个非终结符,而 β∈(VN∪VT)* 对0型文法分别加上以下第 i条限制,就得到 i型文法, i型文法生成的语言成为 i型语言。 1. G的任何产生式 α→β均满足 | α |≤ | β |;仅S→ε例外,且S不得出现在任何产生式的右部。(又称为 上下文有关文法 ) 文法与语言的形式定义 G的任何产生式为 A→β, A∈VN, , β∈ (VN∪VT)* (又称为 上下文无关文法 ) 3. G的任何产生式为 A→αB 或 A→α,其中α∈VT* , A,B∈VN (又称为正规文法或右线性文法,若A→Bα 或 A→α则称为正规文法或左线性文法)?? 文法与语言的形式定义 0型文法强于 1型, 1型强于 2型, 2型强于 3型 0型 3型 2型 1型 0型 作业 第一章: 画出编译程序的结构并给出各模块的功能。 第二章: 35-36页3, 4, 6, 7, 8,9,11 附录:部分希腊字母读音 A α 阿尔法 Alpha B β 贝塔 Beta Γ γ 伽玛 Gamma Δ δ 德尔塔 Delta Ε ε 伊普西隆 Epsilon Ζ ζ 泽塔 Zeta Η η 伊塔 Eta Θ θ 西塔 Theta Ι ι 约塔 Iota Κ κ 卡帕 Kappa ∧ λ 兰姆达 Lambada Μ μ 米欧 Mu Ν ν 纽 Nu Ξ ξ 克西 Xi Ο ο 欧米克隆 Omicron ∏ π 派 Pi Ρ ρ 柔 Rho ∑ σ 西格玛 Sigma Τ τ 陶 Tau Υ υ 玉普西隆 Upsilon Φ φ 弗爱 Phi Χ χ 凯 Chi Ψ ψ 普赛 Psi Ω ω 奥米伽 Omega * * * * * * * * * 《编译原理》 第 二 章 高级语言及其语法描述 上海电力学院 彭 源 2.3 程序语言的语法描述 基本概念和术语: 字母表 :由若干元素所组成的有限非空集合Σ ,其中,每一元素称为符号,故有时又将字母表称为符号集。 符号串(字) :Σ中的符号所组成的任何有限序列 。 符号串的长度:符号串中所含符号的个数. 例: |abc|=3。 基本概念和术语 空符号串(空字):不包含任何符号的符号串,记为ε(音:伊普西隆)。|ε|=0。 用Σ*表示Σ上的所有符号串的全体,空字也包括在其中。 Σ*显然为一无限集 如:若Σ={a,b} 则Σ*={ ε,a,b,aa,ab,bb,aaa,…} φ(音:弗爱):不含任何元素的空集{ } 注意:ε、{ }和{ε}的区别。 基本概念和术语 符号串的运算: 符号串的连接:设x和y是两个符号串,将符号串y直接拼接在x之后,此种操作为符号串x和y的连接,记为xy。 例:若x=NPU,y=1108, 则xy=NPU1108。而yx=
原创力文档


文档评论(0)