编译器将高级语言编写的源程序翻译成低级语言程序。.pptVIP

编译器将高级语言编写的源程序翻译成低级语言程序。.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章 文法和语言;2.1 引言 ;2.2 符号串;一、字母表和符号串;2、符号与符号串 符号(字符):一个符号是字母表中的元素。 符号串:是符号的有穷序列。 EX1: Σ={a, b, c},则a, b, c, ab, ba都是Σ上的符号串。 Note1:符号串的顺序很重要,如:ab≠ba; 2:不含任何符号的符号串称为空串,用   ε 表示。 符号串长度:|a|=1,|ab|=2,| ε|=0 ;二、符号串的运算;2、集合的乘积 设A、B是符号串的集合,则定义A与B的乘积为: AB={xy | x?A, y ? B} EX: A={a, b}, B={c, d},则AB ={ac,bc,ad,bd} A{?}={?}A=A {?} ?{ }, { }= ?;3、符号串的幂运算 设X是符号串,则 X0= ?   注: X0 ≠1 X1=X X2=XX Xn= XX……X ;4、集合的幂运算 设A是符号串的集合,则定义: A0={?} A1=A A2=AA An=AA……A=An-1A;5、集合的闭包(A+和A*) 设A是任意一个集合,则定义: A+=A1 ∪ A2 ∪ A3… A*=A0 ∪ A+  =A0 ∪ A1 ∪ A2…… ;2.3 文法与语言的形式意义;一、形式语言;句子 ? 主语谓语间接宾语直接宾语 ? 代词谓语间接宾语直接宾语 ? He谓语间接宾语直接宾语 ? He动词间接宾语直接宾语 ? Hegave间接宾语直接宾语 ? Hegave代词直接宾语 ? Hegaveme直接宾语 ? Hegave me冠词名词 ? Hegave mea名词 ? Hegave meabook;句子;二、形式语言的描述;方式二:当语言为无穷集合时,用文法表示。 EX(续上例): 设用A表示∑,用式子A?0表示0∈A(读作:“A产生0”)。 符号:“?”定义为“产生”、“生成”、“导出”等。 反复用 A?0 A?1 A?A0 A?A1 以上四条规则式,则可以生成无穷的集合。;三、文法的形式定义;2、文法的形式定义 一个文法是规则的非空有穷集合。常用一个四元组表示,定义为  G=(VT,VN,S,P) 其中: VT:所有终结符的集合 VN:所有非终结符的集合 S:开始符 P:规则式的集合;EX: 一个文法G=(VT,VN,S,P),其中: VT={0, 1}      所有终结符的集合 VN={A }        所有非终结符的集合 S=A           开始符 P={A?0|1|A0|A1} 规则式的集合;Qu: 给定一个语言L,如何求文法G?;另解:P:A?B|D B?aa|aBa D?bb|bDb ∴ 文法G=(VT,VN,S,P),其中:    VT={a, b},VN={A,B,D},S=A    P={A?B|D, B?aa|aBa, D?bb|bDb}   ;Note1:给定一个语言时,文法不是唯一的。   2:用文法描述语言时,要准确,既不能扩大也不能缩小。;Ex3:设计一个表示所有标识符 I 的文法。;Ex4:已知L={ ( n ) n | n =0, 1 , 2 , ……} , 求文法G。;1、字母表、符号串、符号串的长度、空串 2、符号串运算:连接、符号串的幂 3、集合的运算:集合乘、集合的幂、集合的闭包 4、形式语言的描述:   (1)枚举法描述   (2)用文法描述 5、文法的形式定义   G=(VT,VN,S,P);四、语言的形式定义;2、+推导 (正推导) 设X,Y是符号串,若使用一次或多次规则可以从X推导出Y,则Y为X的+推导。  记为:X ? Y;3、*推导 (广义推导) 设X,Y是符号串,若使用0次或多次规则可以从X推导出Y,则Y为X的*推导。  记为:X ? Y;4、句型、句子 设有文法G[S],若从文法开始符号S ?x,则称符号串x为文法G[S]的句型;仅仅由终结符组成的句型叫句子。 若x是一个句型,则x ? (VN?VT)* 若x是一个句子,则x ? VT*;Ex: 设G[E]:E?E+E|E*E|(E)|i,试证明符号串( i * i + i )是文法G[E]的一个句子

文档评论(0)

jgx3536 + 关注
实名认证
文档贡献者

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

版权声明书
用户编号:6111134150000003

1亿VIP精品文档

相关文档