- 上一篇 软考监理类专题二_监理项目的组织规划 [2007-8-31 14:59:41]
| 微软MCSE2003:Security | 微软MCSE2003+MCDBA |
| 国家软考-网络工程师 | 华为认证网络工程师(HCNE) |
| Adobe平面设计师(ACCD) | Adobe网络设计师(ACCD) |
| 国家信息化网络安全工程师 | CEAC网络应用工程师 |
| CEAC微机装配与维护工程师 | 信息产业部数据恢复职业技术培训 |
| 黑客系列:黑客攻防实战 | 瑞星病毒防范技能工程师 |
① 词法分析、语法分析的基本理论和方法。
② 有限自动机的基本工作原理,NFA向DFA的转换。
软考程序类专题五:编译原理(20070831)在线专题授课音视频
(本课程正式学员可登录学习系统,进入对应课程,在窗口左边的“课程资料室”内进行在线浏览。)1.编译程序和解释程序的区别
解释程序也称为解释器,它或者直接解释执行源程序,或者将源程序翻译成某种中间表示形式后再执行;而编译程序(编译器)则是将源程序翻译成目标语言程序,然后在计算机上运行目标程序。两种语言处理程序的根本区别是:在编译方式下,机器上运行的是与源程序等价的目标程序,源程序和编译程序都不再参与目标程序的执行过程;而在解释方式下,解释程序和源程序(或其某种等价表示)要参与到程序的运行过程中,运行程序的控制权在解释程序。解释器翻译源程序时不生成独立的目标程序,而编译器则将源程序翻译成独立的目标程序。
2.程序设计语言的基本成分
包括数据、运算、控制和传输等。
数据成分指的是一种程序语言的数据类型。数据是程序操作的对象,具有存储类别、类型、名称、作用域和生存期等属性,使用时要为它分配内存空间。
(1)常量和变量
按照程序运行时数据的值能否改变,将数据分为常量和变量。左值指存储单元,右值是值。变量具有左值和值。常量只有右值,
(2)全局量和局部量
全局变量分配的存储空间在程序运行的过程中一般是不改变的,局部变量分配的存储单元是动态改变的。
(3)数据类型
按照数据组织形式的不同可将数据分为基本类型、用户定义类型、构造类型及其他类型。
运算成分指明允许使用的运算符及运算规则。可以分成算术运算、关系运算和逻辑运算。
控制成分指明语言允许表述的控制结构,程序员可以用顺序、选择和重复这3种控制结构来描述。
3.编译程序的工作过程
分为6个阶段:词法分析、语法分析、语义分析、中间代码生成、代码优化和目标代码生成。
(1)词法分析阶段
这个阶段的任务是对源程序从前到后逐个字符进行扫描,从中识别出一个个“单词”符号。
(2)语法分析阶段
语法分析的任务是在词法分析的基础上,根据语言的语法规则将单词符号序列分解成各类语法单位,如“表达式”、“语句”和“程序”等。语法错误。
(3)语义分析阶段
语义分析阶段主要检查源程序是否存在语义错误,只有语法和语义都正确的源程序才能翻译成正确的目标代码。
(4)中间代码生成阶段
根据语义分析的输出生成中间代码。“中间代码”是一种记号系统。
(5)代码优化阶段
中间代码往往在时间上和空间上有很大的浪费。需要生成高效的目标代码时,就需要进行优化。优化所依据的原则是程序的等价变换规则。
(6)目标代码生成阶段
任务是把中间代码变换成特定机器上的绝对指令代码、可重定位的指令代码或汇编指令代码,这个阶段的工作与具体的机器密切相关。
站内检索: |
|