- 6
- 0
- 约 62页
- 2017-08-19 发布于北京
- 举报
编译原理 《编译原理》是一门非常好的课程 主讲教师:张小艳Email:zhangxy@xust.edu.cnQQ:1161880978 主要内容 编译概述(总体结构、设计方法—2 ) 语言与文法(文法、推导、归约、分类、分析树—4) 词法分析(词法分析、正规式与正规文法、DFA的状态转移图—6) 语法分析(自顶向下、递归子程序;自底向上:算符优先、LR--16) 语义分析(属性文法、各种语句的语法制导翻译—10) 运行环境(存储分配、过程调用、符号表管理—6) 代码优化(基本块的优化、控制流分析、循环优化、数据流分析—2) 代码生成(目标机器模型、基本块和流图、寄存器分配…—2) 教材及参考书 南京市长江大桥欢迎您! 乒乓球拍买完了 I am a student 我是一个学生 int LocatList (SeqList *L , datatype x) { int i=0; while ( i=L-last L-elem[i]!= x) i++; if (iL-last) return -1; else return i; /*返回的是存储位置*/ } 第一章 绪论 1.1 计算机语言的发展 机器语言(Machine Language)与汇编语言(Assemble Language) 0、1代码与助记符:更接近于计算机硬件指令系统的工作 高级语言(High Level Language) 其表示方法更接近于待解问题的表示方法 定义数据、描述运算、控制流程、传输数据 如:C、FORTRAN、PASCAL、C++、JAVA、SQL(数据定义、数据操作) 命令语言(Command Language) 控制系统的工作——以功能封装为特征 如UNIX上的shell 3 其他面向特定应用领域的语言 1.2 语言之间的翻译 1.5 编译器的编写 思考题 ① 为什么需要编译程序? ② 用源程序片段 if (a=b+1) {b = a * a ; … }… 为例,考虑编译过程中它可能的不同表示形式来理解编译各阶段的工作。 ③ 比较你所使用过的一些语言的编译程序:他们的编译速度,出错信息的可读性,有无优化选择等等。 id1∶=id2+id3*10 语法分析所依据的是语言的语法规则,即描述程序结构的规则。通过语法分析确定整个输入串是否构成一个语法上正确的程序。程序的结构通常是由递归规则表示的,例如,我们可以用下面的规则来定义表达式: (1) 任何标识符是表达式。 (2) 任何常数(整常数、实常数)是表达式。 (3) 若表达式1和表达式2都是表达式,那么:表达式1+表达式2以及表达式1 * 表达式2都是表达式。 类似地,语句也可以递归地定义,如 (1) 标识符∶=表达式是语句。 (2) while(表达式)do语句和 if(表达式 )then语句 else语句都是语句。 词法分析和语法分析本质上都是对源程序的结构进行分析。但词法分析的任务仅对源程序进行线性扫描即可完成,比如识别标识符,因为标识符的结构是字母打头的字母和数字串,这只要顺序扫描输入流,遇到既不是字母又不是数字字符时,将前面所发现的所有字母和数字组合在一起而构成单词标识符。但这种线性扫描则不能用于识别递归定义的语法成分,比如就无法仅用线性扫描去匹配表达式中的括号。 语义分析 语义分析阶段的任务是审查源程序有无语义错误。源程序中有些语法成分,按照语法规则去判断,它是正确的,但它不符合语义规则。比如使用了没有声明的变量;或者给一个过程名赋值;或者调用函数时参数类型不合适或者参加运算的两个变量类型不匹配等等。比如下边的程序片段: int arr[2],c; c = arr1 * 10 ; 其中的赋值语句是符合语法规则的,但是因为没有声明变量arr1,而存在语义错。 一般,语义分析的工作还包括类型审查,类型提升以及为代码生成阶段收集类型信息. 比如审查每个算符是否实施于具有语言规范允许的运算对象,当不符合语言规范时,编译程序应报告错误。又比如对实数用作数组下标的情况报告错误。又比如某些语言规定运算对象可被强制,那么当二目运算施于一个整型量和一个实型量时,编译程序应将整型量自动转换成实型量而不能认为是源程序的错误,或者给出警告信息后将整型量自动转换成实型量。 假如在赋值语句sum∶=first+count*10中,算符*的两个运算对象分别是count和10,而count是实型变量,10是整型量。语义分析阶段进行类型审查之后,将整型量提升为实型量
您可能关注的文档
最近下载
- 7 杜凤沛 场景导向的省力化农药递送体系-青岛.pdf VIP
- 界面化学原理在水基化农药制剂精细加工中应用杜凤沛.pdf VIP
- FloEFD 2312(For NX)软件实例教程 第1-2章入门.pdf VIP
- 1 杜凤沛 高效对靶农药水乳剂的快速精准研发.pdf VIP
- 06、徐大杉--高性能聚合物在农药制剂中的应用.pdf VIP
- 重庆市九龙坡区2024-2025学年五年级上学期期末考试数学试题.docx VIP
- 普通党员观看《榜样10》专题节目心得体会.docx VIP
- 03、杜凤沛--高效对靶沉积的功能化农药载体研究进展与应用.pdf VIP
- 2024年秋期义务教育阶段教学质量监测试卷(统编版六年级上册语文).pdf
- 表面活性剂-杜凤沛.pdf VIP
原创力文档

文档评论(0)