- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
沈阳工业大学实验报告(计算机程序设计类)
课程名称: 《编译过程及其相关技术》
专业班级: 计算机科学与技术专业0806班
姓 名: 王丽瑶 学 号: 081201188
批阅时间:
指导教师: 钟玲 成 绩:
编译过程及其相关技术
专业班级:计算机科学与技术专业0806班 学号:081201188 姓名:王丽瑶
编译程序是计算机系统中重要的系统软件,是高级语言的支撑基础。主要介绍编译程序的基本知识。具体包括下面4个方面的内容:
编译程序
所谓翻译程序是指这样一个程序,它把一种语言(称作源语言)所写的程序(源程序)翻译成与之等价的另一种语言(称作目标语言)的程序(目标程序)。
如果源语言是高级语言,如Pascal,c,Ada,Java语言等,目标语言是诸如汇编语言或机器语言之类的低级语言,那么称这样的翻译程序为编译程序。
可见,编译程序是一种翻译程序,它将高级语言所写的源程序翻译成等价的机器语言或汇编语言的目标程序。
编译过程
词法分析。根据英语的词法规则,从由字母,空格字符和各种标点符号所组成的字符串中识别出一个一个的英文单词。
语法分析。根据英语的语法规则,对词法分析后的单词串进行分析,识别,并作语法正确性的检查,看其是否组成一个符合英语语法的句子。
语义分析。对正确的英文句子分析其含义,并用汉语表示出来。
根据上下文的关系以及汉语语法的有关规则对词句作必要的修饰工作。
最后翻译成中文。
编译程序的生成方法
对源语言和目标语言认真分析
编译程序的功能是把某语言的源程序翻译成某台计算机上的目标程序。因此,我们首先要熟悉源语言,要正确理解它的语法和语义;其次要搞清楚目标语言和目标机的性质,在此基础上,确定编译程序的结构和所采用的具体策略。
设计编译算法
设计编译算法是构造编译程序过程中最关键的一步。把一种语言程序翻译成另一种语言程序的方法方法很多,但在算法设计中要着重考虑如何使编译程序具有易读性,易改性和易扩充性。
选择语言编译程序
根据所设计的算法选用某种语言编写出编译程序。
调试编译程序
通过大量实例对编写好的编译程序进行调试,陶氏过程中不断修改,完善编译程序。
提交相关文档资料
为方便用户,需提交一份有关编译程序的文档资料,内容包括源语言的文法,目标机指令系统,编译程序结构和所采用的具体策略,错误信息表及使用说明等。
形式语言理论是编译的重要理论基础。语法——赋值语句由一个变量,一个后随赋值号“=”及其后跟一个表达式构成。语义——首先计算语句右部表达式的值,然后把所得结果送入左部变量中。语用——赋值语句用来计算和保存表达式的值。具体包括5各方面:
字母表和符号串
文法和语言的形式定义:当一个文法已知时,引进了有关直接推导推导等概念。
短语,直接短语和句柄
语法树和文法的二义性
文法和语言的分类:
文法用于生成语言,不同的文法生成不同的语言。
著名的语言学家乔姆斯基将文法和语言分为4大类,即0型,1型,2型和3型。划分依据是对文法中的规则施加不同的限制。
有穷自动机是构造词法分析程序的理论基础。
执行词法分析的程序称为词法分析程序,或称词法分析器或扫描器。
词法分析程序是以字符串形式的源程序作为输入,以单词符号表示的源程序作为输出。
语言单词符号的两种定义方式:为了构造出识别语言单词符号的词法分析程
序,必须首先搞清楚如何定义描述程序语言单词符号的结构。目前,对数程序设计语言的单词符号都能用正规文法(左线性文法或右线性文法)或正规式来定义。
正规式与有穷自动机:有穷自动机是具有离散输入与输出系统的一种抽象数学模型。有穷自动机有“确定的”和“非确定的”两类,确定的有穷自动机和非确定的有穷自动机都能准确的识别正规集。
正规文法与有穷自动机:程序设计语言的单词符号可以用乔姆斯基3型文法,即正规文法来描述。由形式语言和自动机理论可知,对于正规文法所描述的语言可以用一种有穷自动机来识别。
如果源语言是高级语言,如Pascal,c,Ada,Java语言等,目标语言是诸如汇编语言或机器语言之类的低级语言,那么称这样的翻译程序为编译程序。
可见,编译程序是一种翻译程序,它将高级语言所写的源程序翻译成等价的机器语言或汇编语言的目标程序。
语法分析具体包括4个方面内容:
语法分析程序的功能和语法分析方法
语法分析程序(语法分析器)的功能是以词法分析器生成的单词符号序列作为输入,根据语言的语法规则(描述程序语言语法结构的上下文无关文法),识别出各种语法成分,并在分析过程中进行语法检查,检查所给单词符号序列是否是该语言的文法的一个句子。若是,则以该句子的某种形式
您可能关注的文档
- 汽车座椅安全装置.doc
- 汽车摩擦片材料的发展与应用.docx
- 汽车磁流变液技术.doc
- 汽车被动安全技术排行榜(TOP10).docx
- 汽车车身艺术设计作业.doc
- 汽车雨刮器的使用.doc
- 汽轮发电机的种类简析.doc
- 汾河桥面现浇桥面板技术交底书.doc
- 沉积物、水质样品分析方法.doc
- 沙林、维埃克斯、塔崩、梭曼.doc
- 2023年陕西省商洛市柞水县两河乡招聘社区工作者真题参考答案详解.docx
- 2023年陕西省延安市宝塔区青化砭镇招聘社区工作者真题参考答案详解.docx
- 2023年陕西省汉中市西乡县罗镇乡招聘社区工作者真题及参考答案详解.docx
- 2023年陕西省延安市洛川县永乡招聘社区工作者真题及答案详解1套.docx
- 2023年陕西省商洛市商州区三岔河乡招聘社区工作者真题及参考答案详解一套.docx
- 2023年陕西省宝鸡市陇县八渡镇招聘社区工作者真题及参考答案详解一套.docx
- 2023年陕西省延安市洛川县石泉乡招聘社区工作者真题及参考答案详解一套.docx
- 2023年陕西省商洛市商州区沙河子镇招聘社区工作者真题附答案详解.docx
- 2023年陕西省咸阳市礼泉县赵镇招聘社区工作者真题及参考答案详解1套.docx
- 2023年陕西省商洛市丹凤县留仙坪乡招聘社区工作者真题及参考答案详解一套.docx
文档评论(0)