c语言开源编辑器,一个C语言编写的跨平台C语言编译器(开源) UCC

很多科班出身的搞开发的同事大都应该学过《编译原理》这门课程,或许也动手做过一些实践。这次向大家推荐一个由清华大学学生完成的C语言编译器实现 -- UCC。

这个项目目前位于sf.net网站,开放源代码,代码使用C语言编写,对于理解和实践编译原理有很大的指导意义,其完备的代码和中英文设计文档是亮点。

以下为其作者对项目的简介:

“上了一学期的编译原理,但是对于如何去实现一个真正的编译器仍然觉得困惑;

学习了一些好的优化算法或者自己有些好的想法,想在gcc上实践一下,但发现gcc

实在太大了,有点无从下手。

如果你曾经有过上面这些感受,也许可以尝试一下ucc。

ucc是一款遵从ANSI C89标准的编译器,大约15,000行C代码。目前支持x86平台上的

Linux和Windows系统,能正确编译自身并成功运行。它有下面一些特点:

1. 代码结构清晰直观,有比较详细的中文文档讲述它的实现

2. 使用三地址码作为中间码,构建了由基本块组成的控制流图,适合很多优化算法

3. 编译速度快。词法分析,语法分析和目标代码生成器都是手写的(其中的代码

生成器本想用burg这样的工具自动生成,但这样可能会给代码的理解带来难度,

最后手写了一个简单的代码生成器)

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值