欢迎来到天天文库
浏览记录
ID:36323793
大小:2.45 MB
页数:71页
时间:2019-05-09
《ch1引论(张素琴)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、编译原理(48学时)计算机与通信工程学院2014级计算机专业王翠荣综合楼14302021/9/20计算机学院辛明影2参考书2021/9/20计算机学院辛明影32021/9/20计算机学院辛明影42021/9/20计算机学院辛明影5课外资料:编译原理(第二版)清华大学---答案详解;编译原理授课计划2016;Stanford大学课程讲稿:http://www.stanford.edu/class/cs143/课程架构:理论和实践并重的课程理论部分的题目出现于书面练习,课堂小测和期中、末考试实践题目(Projec
2、t)Project1:用高级语言(C或Pascal)实现扩充的PL/0编译程序各部分权重作业10%实验10%期中考试10%期末考试70%《编译原理》教学目的与要求应清楚理解一个编译程序是如何工作的;应了解如何用形式语言文法定义一门高级语言;应具有一定的使用编译构造工具开发编译程序的经验;会将所学的常用技术和算法应用于类似的软件的设计和实现中。WhyStudyLanguagesandCompilers?1. Increasecapacityofexpression2.Improveunderstandingof
3、programbehavior3.Increaseabilitytolearnnewlanguages4.Learntobuildalargeandreliablesystem5.SeemanybasicCSconceptsatwork第1章概述1.1什么是编译程序1.2程序设计语言的实现1.3处理源程序的软件工具1.4编译技术的发展11编译器就是一个程序,它读入用某种语言编写的源程序,并翻译成一个与之等价的另一种语言编写的源(目标)程序。编译器源程序目标程序错误信息Fortran、Cool、Pascal、J
4、ava、CPython汇编语言、机器语言1.1什么是编译程序(Compiler)12编译器的各个阶段:编译器是分阶段执行的。每个阶段将源程序从一种表示转换成另一种表示源程序词法分析器错误处理器符号管理表语法分析器语义分析器中间代码生成器代码优化器代码生成器编译的各个阶段内存管理目标代码优化芯片指令集合—语言定义(形式语言)—语言的编译系统(词法、语法、语义、优化、翻译)—编辑器—调试器操作系统编译系统裸机分类软件系统软件语言处理系统分类软件:计算机系统中的程序及其文档系统软件:居于计算机系统中最靠近硬件的一层
5、,其它软件一般都通过系统软件发挥作用,和具体的应用程序无关。编译系统和操作系统等都是系统软件。语言处理系统:把高级语言书写的各种程序处理成可在计算机上执行的程序。高级语言:用于书写软件的语言。它主要包括需求定义语言,功能性语言,设计性语言,程序设计语言以及文档语言。语言转换系统C++编译器C++CJavaBytecodeJava编译器术语编译程序(compiler)编译程序的源语言(源程序)(sourcelanguage)(sourceprogram)编译程序的目标语言(目标程序)(objectortarge
6、tlanguage)(objectortargetprogram)编译程序的实现语言(implementationlanguage)词法分析—第一步识别单词英文句子由单词构成Thislineisalongersentence.句子开头的单词第一个字母要大写空格是单词分隔符句点是句子结尾单词是字母组成的有含义的最小成分isthislinealogersentence.词法分析从左至右扫描字符流的源程序、分解构成源程序的字符串,识别出(拼)一个个的单词(符号)单词符号是语言中具有独立意义的最基本结构。多数程序语言
7、中,单词符号一般包括—各类型的常数、保留字、标识符、运算符、界符等等。例如doublef=sqrt(-1);词法分析doublef=sqrt(-1);TDOUBLE(“double”)TIDENT(“f”)TOP(“=“)TIDENT(“sqrt”)TLPAREN(“(“)TOP(“-”)TINTCONSTANT(“1”)TRPAREN(“)”)TSEP(“;”)词法分析词法分析(lexicalanalysisorscanning)--Thestreamofcharactersmakingupas
8、ourceprogramisreadfromlefttorightandgroupedintotokens,whicharesequencesofcharactersthathaveacollectivemeaning.单词---token保留字---reservedword标识符---identifier(user-definedname)例程序文本Ifx=ythenz:=1elsez:=2;经词
此文档下载收益归作者所有