软件设计师专题六:编译原理

2007-3-28 16:31:36   Count:

① 词法分析、语法分析的基本理论和方法。
② 有限自动机的基本工作原理,NFA向DFA的转换。

软件设计师专题六:编译原理(20070319)在线专题授课音视频

(本课程正式学员可登录学习系统,进入对应课程,在窗口左边的“课程资料室”内进行在线浏览。)

答疑整理:

1. 编译程序和解释程序的区别
解释程序也称为解释器,它或者直接解释执行源程序,或者将源程序翻译成某种中间表示形式后再执行。而编译程序则是将源程序翻译成目标语言程序,然后在运行目标程序。两种语言处理程序的根本区别是:
(1)在编译方式下,机器上运行的是与源程序等价的目标程序,源程序和编译程序都不再参与目标程序的执行过程。
(2)在解释方式下,源程序和解释程序要参与到程序的运行过程中,运行程序的控制权在解释程序。
(3)解释器翻译源程序时不生成独立的目标程序,而编译器则需将源程序翻译成独立的目标程序。

2. 编译程序的工作过程可分六个阶段:
(1). 词法分析阶段:这个阶段的任务是对源程序从前到后逐个字符进行扫描,从中识别出一个个“单词”符号。
(2). 语法分析阶段:语法分析任务是在词法分析的基础上,根据语言的语法规则将单词符号序列分解成各类语法单位,如“表达式”“语句”“程序”等。
(3). 语义分析阶段:语义分析阶段主要检查源程序是否存在语义错误,只有语法和语义都正确的源程序才能翻译成正确的目标代码。
(4). 中间代码生成阶段:中间代码生成阶段的工作是根据语义分析的输出生成中间代码
(5). 代码优化阶段:当需要生成高效的目标代码时,就必须进行优化,优化过程可以在中间代码生成阶段进行,也可以在目标代码生成阶段进行
(6). 目标代码生成阶段:这一阶段的任务是把中间代码变换成特定机器上的绝对指令代码、可重定位的指令代码或汇编指令代码。

(未完……本课程正式学员可登录学习系统,进入对应课程,在窗口左边的“课程资料室”内进行在线浏览。)

浏览该文章的用户为您推荐了该信息: 
       
   
   
 
站内检索:
栏目导航
本月授课安排
阅读排行