编译原理2.3.1-3_4-文法直观概念-形式定义.pptVIP

编译原理2.3.1-3_4-文法直观概念-形式定义.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
编译原理2.3.1-3_4-文法直观概念-形式定义.ppt

2.3 程序语言的语法描述 2.3.1 上下文无关文法 2.3.2 语法分析树与二义性 2.3.3 形式语言鸟瞰 2.3.1 上下文无关文法 一、文法引入 二、符号和符号串 三、文法的直观概念 四、文法和语言的形式定义 三、文法的直观概念 采用EBNF来表示英语中一种句子的构成规则: 句子∷= 主语 谓语 主语∷= 冠词 [形容词〉] 名词 谓语∷= [助动词] 动词 冠词 名词 名词∷= wolf | goat | rabbit | tiger 冠词∷= the |a |an 形容词∷= gray | red 助动词∷= will 动词 ∷= eat | like 判断一个符号串是否为语法上正确的 句子 运用规则, 把左边的部分替换成右边的部分, 如果可以推导出(产生) 该符号串, 则该符号串是正确的句子 可以图示化表示这种推导, 得到语法分析树 参考p27 做练习: 画出 The gray wolf will eat the goat. 的语法树 有关文法概念的给出 句子∷= 主语 谓语 主语∷= 冠词 [形容词〉] 名词 名词∷= wolf | goat | rabbit | tiger 终结符 终结符是组成语言的基本符号, 不可再分割,不能由其它文法符号定义 词法规则 终结符是字母, 数字, 其他合法符号 语法规则 从语法分析的角度, 终结符指单词符号, 基本字,标识符,常数,算符,界符等 非终结符 非终结符: 语法成分, 语法短语,语法单位,语法变量,语法范畴,语法实体 非终结符可由其它文法符号定义。不是用户自己写的 非终结符给语言强加了一种层次结构 每个非终结符表示一定符号串的集合 开始符号 (识别符号) 开始符号是我们最终感兴趣的语法范畴 是文法最终要定义 的语法结构 四、文法和语言的形式定义 产生式 (规则) 文法 直接推导, 直接归约 推导, 归约 句型, 句子 语言 文法等价 (补充) 最左推导, 最右推导 1. 文法 (a) 文法的形式定义: G = (VT,VN,P,S) VN∩VT =φ V: 文法符号的集合 (文法G的字母表 ) V = VN∪VT (补充 ) 语言L? VT* 2. 产生式 重写规则、产生式 、生成式 a production rule 、a rewriting rule 有序对 (α,β) α→β (书上 A→α) α∷=β α:规则的左部 α∈V+ β:规则的右部 β ∈ V* 产生式可以递归 产生式左部的符号可以在右部出现. 例: 表达式的定义 E→i E→E+E E→E*E E→(E) (b) 文法 举例 文法G = (VN,VT,P,S), VN = { S }, VT = { 0,1}, P = { S→0S1,S→01 } 补充例 文法 2 文法G = (VN,VT,P,S), VN = {标识符,字母,数字}, VT = {a,b,c,…,x,y,z,0,1,…,9} P ={ 〈标识符〉→〈字母〉 〈标识符〉→〈标识符〉〈字母〉 〈标识符〉→〈标识符〉〈数字〉 〈字母〉→a 〈字母〉→b … 〈字母〉→z 〈数字〉→0 〈数字〉→1 … 〈数字〉→9} S =〈标识符〉 (c) 文法的写法 VN – A, B, C… , 表达式 ,程序 VT – a, b, c,… , 1, 2, 3,… V – ?, ?, ? … G = ( {S,A},{a,b},P,S), P = { S→aAb, A→ab, A→aAb, A→ε } G = ( {S,A},{a,b},P,S), P :S→aAb, A→ab, A→aAb, A→ε G : S→aAb, A→ab, A→aAb, A→ε G[S]: A→ab,A→aAb,A→ε, S →aAb A→α1, A→α2 , … A→αn 缩写为: A→α1 | α2 | … | αn

文档评论(0)

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档