码迷,mamicode.com
首页 > 其他好文 > 详细

编译原理--概论

时间:2016-03-05 20:21:54      阅读:157      评论:0      收藏:0      [点我收藏+]

标签:

编译器:源程序-->目标程序,离线offline

解释器:处理程序的一种程序, 输出的是结果,在线online(把结果打印出来了)

编译原理集中体现了计算机科学的很多核心思想:算法,数据结构,软件工程

编译器本身就是很重要的研究领域。

编译器也可以把功能分为前端,后端。前端可以分为词法分析,语法分析。后端指令生成的部分,指令优化的部分。

汇编代码--->汇编器-->连接器 

 


 

词法分析 主要作用

  • 字符流--词法分析切分为->记号流
  • C语言,字符流所在的集合是ASCII  JAVA的话是UNICODE
  • 记号流:编译器内部定义的数据结构。

手工实现方式 :纯手工写代码,相对来说比较复杂,容易出错,目前流行的实现方法是GCC 4.0之后  , LLVM  优点:有一个精确的控制

  • 转移图,转移图算法
  • 标识符的转移图,关键字是标识符的一部分。
  • 关键字表,构造关键字构成的哈希表H

自动生成器方式 : 快速原型、代码量较少  缺点:较难控制细节


 

语法分析器

记号流--语法分析器->抽象语法树--->语义分析器-->中间代码

 

编译原理--概论

标签:

原文地址:http://www.cnblogs.com/zrui513/p/5245626.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!