编译原理讲义.pptx

  1. 1、本文档共531页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

编译概述什麽是编译编译器的逻辑结构(工作阶段)编译器各阶段的工作编译器的组织编译器的设计学习本课程应注意的问题教材和参考书编译程序的功能把高级语言程序翻译成等价的低级语言程序。目标程序源程序编译程序编译系统:编译程序和运行程序编译程序的逻辑结构符号表管理词法分析优化语法分析语义分析中间代码生成目标代码生成目标代码源程序错误诊查处理3源程序PROGRAMm;VARa,b,c:real;BEGINread(b,c);a:=b+c*60;write(a)END.经词法分析源程序被加工成单词流保留字,PROGRAM标识符,m分隔符,;保留字,VAR标识符,a标识符,b标识符,c分隔符,:标识符,real分隔符,;保留字,BEGIN…...标识符,a算符,:=标识符,b算符,+标识符,c算符,*常数,60……保留字,END分隔符,.赋值语句经语法分析生成分析树赋值语句变量:=表达式表达式a+项项项*因子因子因子60cb赋值语句经语义分析生成语法树:=a+*binttorealc60生成中间代码temp1:=inttoreal(60);temp2:=c*temp1;temp3:=b+temp2;a:=temp3;优化Temp1:=c*60.0a:=b+temp1生成目标代码movfc,r2;mulf#60.0,r2;movfb,r1;addfr2,r1;movfr1,a;符号表错误的诊查处理编译程序在各个阶段应诊断和报告源程序中的错误,包括词法错误,语法错误,语义错误。编译程序应报告出错地点,并给出简明准确的提示信息。编译程序(器)的组织前端和后端源程序中间代码目标代码仅依赖源程序仅依赖目标计算机遍(PASS):对输入文件(源程序或其等价的中间形式)从头到尾扫视,完成预定的处理。后端前端输入文件输出文件遍把前端组织成一遍扫描错误的诊查处理语法分析中间代码源程序语义分析和中间代码生成词法分析符号表管理设计编译程序应首先研究的问题首先研究源程序的语法和语义及运行模行,源是设计编译程序的出发点。研究目标计算机,设计目标代码的指令系统,它是由目标计算机扩充而成,扩充后的计算机称作抽象计算机。目前的通用计算机往往和源语言执行模型不一致。。源程序目标程序抽象目标编译程序教和学的几个问题重要性:处理字符串的一般方法;构造大程序的方法;实用;研究课题:新的语言及实现技术;并行编译技术。学习方法:(1)源程序是源泉;(2)把每个阶段放到整个编译程序背景中学习;(3)认真做作业。每周有一次答疑。参于网上教材的修改与创新。教材和参考书教材:(1)编译程序设计原理北京大学出版社,杜淑敏等编著。(2)网络版(软件工程中心资助)。(1)编译原理,清华大学出版社,吕映芝等编著,1998。(2)程序设计语言编译原理,国防工业出版社,陈火旺等编著,1984。(3)AlfredV.Aho,RaviSethi?JeffreyD.Ullman,Compilers:Principles,Techniques,andTools,Addison-Wesly,1986。(4)ModernCompilerImplementationinC,?AndrewW.AppelandMaiaGinsburg,1998参考书第二章语言的基本知识学习本章的目的。2.1符号串2.2文法和语言的定义2.3分析树和二义性2.4形式语言概观学习本章的目的构造编译程序的算法是从研究源程序及目标程序产生的,首先找到源语言的形式描述,根据这种描述,构造出相应的分析加工程序。语言分语法,语义和语用。程序语言语法的形式描述是很好用的,语义的形式描述不那磨好用,但它推动语言理论的发展。2.1符号串2.1.1字母表2.1.2符号串一.符号串的定义二.术语三.符号串的运算四.符号串集合的运算2.1.1字母表字母表是符号的非空有穷集合。任何程序语言都有自己的字母表,例如:1.计算机语言:由符号“0”和“1”组成的字

您可能关注的文档

文档评论(0)

bk040529 + 关注
实名认证
内容提供者

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

版权声明书
用户编号:6213125212000003

1亿VIP精品文档

相关文档