编译原理第二章08本.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第二章 编译基础; 2.1 文法的直观概念;一、高级语言—程序设计语言是一个记号系统 语法 语义;1.单词符号:语言中具有独立意义的最基本的结构 1.1词法规则--词法规则规定了字母表中哪些字符串是单词符号 -单词符号一般包括:常数、标识符、基本字、算符、界限符 -通常用正规式和有限自动机理论来描述词法结构和进行词法分析;二、语法 1.单词符号 2.语法单位 —表达式、子句、语句、函数、过程、程序 3.语法规则 —规定了如何以单词符号来形成语法单位 —现在多数程序语言使用上下文无关文法来描述语法规则。 —语言的词法规则和语法规则定义了程序的形式结构,是判断输入字符串是否构成一个形式上正确的程序的依据。;三、语义 —对于一个语言来说,不仅要给出它的词法、语法规则,而 且要定义它的单词符号和语法单位的意义。 —离开语义,语言只是一堆符号的集合。 —各种语言中有形式上完全相同的语法单位,含义却不尽相同。 —对某种语言,可以定义一个程序的意义的一组规则称为语义规则。 —目前,大多数编译程序使用基于属性文法的语法制导翻译方法来分析语义。 ;对于高级程序设计语言及编译程序来说,语言定义是很重要的。本章主要介绍语法结构的形式描述问题,编译原理的主要内容也可以归结为应用形式语言理论,并将它贯穿于词法分析和语法分析两个阶段。 本章重点讨论正规文法、上下文无关文法及其对应的有限自动机和下推自动机,以及在构造编译程序时如何应用?;Compiler;Compiler;Compiler;Compiler;Compiler;Compiler;1.字母表:非空有穷字符集 ---用∑,V表示 例如:∑={a-Z,A-Z,0-9,+,-,*,/,(,),=….} 2.符号:是语言中最基本的不可再分的单位 3.符号串:字母表中符号组成的任何有穷数列——单词 例如:scanf,int,3.1415,x1,100,a….. 空串:不会有任何符号的串称作空串,记作e 4、句子:字母表上符合某种规则构成的串 5、语言:字母表上句子的集合 注:约定用a,b,c……表示符号;用a,b,g….表示符号串;用A,B,C……..表示其集合;Compiler;Compiler;Compiler;Compiler;Compiler;Compiler;2.相关概念; (3) 开始符号 -表示所定义的语法范畴非终结符 注:开始符号又称为识别符号;Compiler;Compiler;文法规则的扩充表示 ——扩充的BNF表示 ()—— 提因子 -例:把U ax|ay|az改写为U a(x|y|z) { }—— 重复次数指定 -例:把标识符 字母{字母|数字}50 [ ]—— 任选符号 -例:整数 [+|-] 数字{数字};Compiler;(5)推导 推导是从开始符号开始,通过使用产生式的右部取代左部,最终能产生语言的一个句子的过程。 最左(右)推导:每次使用一个规则,以其右部取代符号串最左(右)非终结符。 注:最左推导和最右推导称为规范推导;(6) 归约 归约是推导的逆过程,即,从给定的源语言的句子开始,通过规则的左部取代右部,最终达到开始符号的过程。 最左(右)归约是最右(左)推导的逆过程 注:最左归约和最右归约称为规范规约 ;(7) 句型、句子和语言 句型: ---从文法的开始符号S开始,每步推导(包括0步推导)所得到的字符串a 记作: S a,其中a∈(VN∪VT)* 句子:是仅含终结符的句型;Compiler;Compiler;Compiler;Compiler;(8)文法规则的递归定义 ---非终结符的定义中包含了非终结符自身 ---使用文法的递归定义要谨慎;Compiler;Compiler;例如:字母表A={0,1} 语法规则1为: 整数 数字整数︱数字 数字 0︱1 再如:字母表A={0,1} 语法规则2为: 整数 数字整数 数字 0︱1 ;Compiler;(9)元语言符号;文法等价;2.4 文法的类型; chomsky对文法的分类 1. 0型文法(短语文法或无限制文法) P中产生式a b 其中a∈V+并至少含有一个非终结符, b∈V* 注:a)识别0型语言的自动机称为图灵机(TM) b) 0型

文档评论(0)

开心就好 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档