欢迎来到天天文库
浏览记录
ID:32429341
大小:47.00 KB
页数:5页
时间:2019-02-04
《沈阳工业大学实验报告(计算机程序设计类)》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、课程名称:《编译过程及其相关技术》专业班级:计算机科学与技术专业0806班姓名:王丽瑶学号:081201188批阅时间:指导教师:钟玲成绩:4编译过程及其相关技术专业班级:计算机科学与技术专业0806班学号:081201188姓名:王丽瑶编译程序是计算机系统中重要的系统软件,是高级语言的支撑基础。主要介绍编译程序的基本知识。具体包括下面4个方面的内容:(1)编译程序所谓翻译程序是指这样一个程序,它把一种语言(称作源语言)所写的程序(源程序)翻译成与之等价的另一种语言(称作目标语言)的程序(目标程序)。如果源语言是高级语言,如
2、Pascal,c,Ada,Java语言等,目标语言是诸如汇编语言或机器语言之类的低级语言,那么称这样的翻译程序为编译程序。可见,编译程序是一种翻译程序,它将高级语言所写的源程序翻译成等价的机器语言或汇编语言的目标程序。(2)编译过程1.词法分析。根据英语的词法规则,从由字母,空格字符和各种标点符号所组成的字符串中识别出一个一个的英文单词。2.语法分析。根据英语的语法规则,对词法分析后的单词串进行分析,识别,并作语法正确性的检查,看其是否组成一个符合英语语法的句子。3.语义分析。对正确的英文句子分析其含义,并用汉语表示出来。4
3、.根据上下文的关系以及汉语语法的有关规则对词句作必要的修饰工作。5.最后翻译成中文。(3)编译程序的生成方法1.对源语言和目标语言认真分析编译程序的功能是把某语言的源程序翻译成某台计算机上的目标程序。因此,我们首先要熟悉源语言,要正确理解它的语法和语义;其次要搞清楚目标语言和目标机的性质,在此基础上,确定编译程序的结构和所采用的具体策略。2.设计编译算法设计编译算法是构造编译程序过程中最关键的一步。把一种语言程序翻译成另一种语言程序的方法方法很多,但在算法设计中要着重考虑如何使编译程序具有易读性,易改性和易扩充性。3.选择语
4、言编译程序根据所设计的算法选用某种语言编写出编译程序。4.调试编译程序通过大量实例对编写好的编译程序进行调试,陶氏过程中不断修改,完善编译程序。5.提交相关文档资料为方便用户,需提交一份有关编译程序的文档资料,内容包括源语言的文法,目标机指令系统,编译程序结构和所采用的具体策略,错误信息表及使用说明等。4形式语言理论是编译的重要理论基础。语法——赋值语句由一个变量,一个后随赋值号“=”及其后跟一个表达式构成。语义——首先计算语句右部表达式的值,然后把所得结果送入左部变量中。语用——赋值语句用来计算和保存表达式的值。具体包括5
5、各方面:(1)字母表和符号串(2)文法和语言的形式定义:当一个文法已知时,引进了有关直接推导推导等概念。(3)短语,直接短语和句柄(4)语法树和文法的二义性(5)文法和语言的分类:文法用于生成语言,不同的文法生成不同的语言。著名的语言学家乔姆斯基将文法和语言分为4大类,即0型,1型,2型和3型。划分依据是对文法中的规则施加不同的限制。有穷自动机是构造词法分析程序的理论基础。执行词法分析的程序称为词法分析程序,或称词法分析器或扫描器。词法分析程序是以字符串形式的源程序作为输入,以单词符号表示的源程序作为输出。语言单词符号的两种
6、定义方式:为了构造出识别语言单词符号的词法分析程序,必须首先搞清楚如何定义描述程序语言单词符号的结构。目前,对数程序设计语言的单词符号都能用正规文法(左线性文法或右线性文法)或正规式来定义。正规式与有穷自动机:有穷自动机是具有离散输入与输出系统的一种抽象数学模型。有穷自动机有“确定的”和“非确定的”两类,确定的有穷自动机和非确定的有穷自动机都能准确的识别正规集。正规文法与有穷自动机:程序设计语言的单词符号可以用乔姆斯基3型文法,即正规文法来描述。由形式语言和自动机理论可知,对于正规文法所描述的语言可以用一种有穷自动机来识别。
7、如果源语言是高级语言,如Pascal,c,Ada,Java语言等,目标语言是诸如汇编语言或机器语言之类的低级语言,那么称这样的翻译程序为编译程序。可见,编译程序是一种翻译程序,它将高级语言所写的源程序翻译成等价的机器语言或汇编语言的目标程序。语法分析具体包括4个方面内容:(1)语法分析程序的功能和语法分析方法语法分析程序(语法分析器)的功能是以词法分析器生成的单词符号序列作为输入,根据语言的语法规则(描述程序语言语法结构的上下文无关文法),识别出各种语法成分,并在分析过程中进行语法检查,检查所给单词符号序列是否是该语言的文法
8、的一个句子。若是,则以该句子的某种形式的语法树作为输出;若不是,则表明有错误,并指出错误的性质和位置。4目前,语法分析的方法分为两大类,即子上向下的分析方法和自下向上的分析方法,或称自上而下的分析法和自下而上的分析法。所谓自上而下的分析法就是从文法的开始符号出发,根据文法规则正想推导出给定
此文档下载收益归作者所有