Chinaunix首页 | 论坛 | 博客
  • 博客访问: 4958378
  • 博文数量: 1696
  • 博客积分: 10870
  • 博客等级: 上将
  • 技术积分: 18357
  • 用 户 组: 普通用户
  • 注册时间: 2007-03-30 15:16
文章分类
文章存档

2017年(1)

2016年(1)

2015年(1)

2013年(1)

2012年(43)

2011年(17)

2010年(828)

2009年(568)

2008年(185)

2007年(51)

分类:

2008-08-08 19:43:19

近日逛sf.net的时候发现了UCC,国人写的c编译器,那是相当经典的说,作者也很低调,连名字和联系方式都没有留下。
google了一下,只找到下面的一点介绍:

介绍来自:
然上了一学期的编译原理,但是对于如何去实现一个真正的编译器仍然觉得困惑;
学习了一些好的优化算法或者自己有些好的想法,想在gcc上实践一下,但发现gcc
实在太大了,有点无从下手。
如果你曾经有过上面这些感受,也许可以尝试一下ucc。

ucc是一款遵从ANSI C89标准的编译器,大约15,000行C代码。目前支持x86平台上的
Linux和Windows系统,能正确编译自身并成功运行。它有下面一些特点:

1. 代码结构清晰直观,有比较详细的中文文档讲述它的实现
2. 使用三地址码作为中间码,构建了由基本块组成的控制流图,适合很多优化算法
3. 编译速度快。词法分析,语法分析和目标代码生成器都是手写的(其中的代码
   生成器本想用burg这样的工具自动生成,但这样可能会给代码的理解带来难度,
   最后手写了一个简单的代码生成器)

你可以从
下载到它的软件包,希望对大家学习编译器有所帮助。

考虑到部分人无法访问sf.net,我随手传上来了,又一份经典的编译学习代码,哈哈
下载地址:http://www.cppblog.com/Files/ngaut/ucc160.zip
阅读(1817) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~