如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
编译原理高级语言参考书吕映芝,张素琴等,《编译原理》,清华大学出版社。陈火旺刘春林等,《程序设计语言编译原理》,国防工业出版社。高仲仪、金茂忠,《编译原理及编译程序构造》,北航出版社。AlfredVA,RaviS,UllmanJD,《Compilers:Principles,TechniquesandTools》,机械工业出版社。第1章编译概论1.1.基本概念1.2.编译过程1.3.编译程序构造1.4.编译技术的应用及发展1.1基本概念源程序、翻译程序、目标程序三者关系:汇编程序若源程序用汇编语言书写,经过翻译程序得到用机器语言表示的程序,这时的翻译程序就称之为汇编程序,这种翻译过程称为“汇编”(Assemble)编译程序若源程序是用高级语言书写,经加工后得到目标程序,上述翻译过程称“编译”(Compile)源程序的编译和运行工作过程“编译-解释执行”系统1.2编译过程翻译和编译工作的比较所谓编译过程是指将高级语言程序翻译为等价的目标程序的过程。单词:是语言的基本语法单位<1>保留字(如:if、else、while)<2>标识符(如:max、min、str)<3>常数(如:12、6.8、’a’)<4>分界符(如:+、-、*、/、;、(、))词法分析程序的结果-----二元式任务:根据语法规则(即语言的文法),分析并识别出各种语法成分(如表达式、语句、函数等),并进行语法正确性检查。赋值语句任务:依据语义规则对识别出的各种语法成分分析其含义,并进行初步翻译,生成中间代码。生成中间代码的目的:1、利于代码优化2、利于目标代码的移植四元式任务:对中间代码进行加工变换,以得到高质量的目标代码五、目标代码生成1.3编译程序构造诊察错误,并能报告用户错误性质和位置出错处理能力的优劣是衡量编译程序质量好坏的一个重要指标。典型的编译程序具有7个逻辑部分1.3.2遍(PASS)一遍扫描即可完成整个编译工作的称为一遍扫描编译程序根据编译程序各部分功能,将编译程序分成前端和后端.javajava源程序文件不同前端+同一后端同一机器生成几个语言的编译程序1.4编译技术的应用及发展并行编译技术目的:提高并行计算机体系结构的性能,超大规模计算的日益增长的需求两种实现方法利用重构技术将串行程序并行化直接编写并行程序交叉编译技术语言开发环境中的伙伴程序编辑器(editor)预处理器(preprocessor)连接程序(linker)装配程序(loader)调试程序(debugger)小结思考题