首页 > 其他 > 详细

[编译原理]0.引论

时间:2020-02-18 00:29:28      阅读:108      评论:0      收藏:0      [点我收藏+]

一、语言处理器

语言处理器有编译器(compiler)、解释器(interpreter)

编译器先把源程序翻译成目标程序,目标程序处理输入产生输出。

解释器自身直接(根据源程序提示)处理输入产生输出。

编译器的处理速度较快,但排错功能不如解释器。

编译器:

技术分享图片                  技术分享图片

解释器:

 

 技术分享图片

 

 

将源程序翻译成目标程序的过程:

技术分享图片

 

 

二、编译器的结构

编译器由分析(analysis)部分,和综合(synthesis)部分组成。分析部分又称为编译器的前端,综合部分又称为编译器的后端。在前端和后端之间可以加入代码优化部分。

 

分析部分

1.词法分析(lexical analysis): 这一阶段的任务是分析出输入的代码流中的词素(lexeme), 对于每个词素,词法分析器都会产生一个词法单元(token)。词法单元的格式为<token-name, attribute-value>。

2.语法分析(syntax analysis)

3.语义分析(semantic analysis):这个阶段有一项重要的任务是类型检查(type checking)。

4.中间代码生成(intermediate code generation)

 

可选阶段

5.代码优化(code optimization):优化的目的是使代码跑的跟快或者更节能。

 

综合部分

6.代码生成(code generation):这一阶段的输出即为目标代码。

[编译原理]0.引论

原文:https://www.cnblogs.com/-zyq/p/12319611.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!