ucc是一款遵从ANSIC89标准的编译器,大约15,000行C代码。目前支持x86平台上的Linux和Windows系统,能正确编译自身并成功运行。
它有下面一些特点:
代码结构清晰直观,有比较详细的中文文档讲述它的实现使用三地址码作为中间码,构建了由基本块组成的控制流图,适合很多优化算法编译速度快。词法分析,语法分析和目标代码生成器都是手写的(其中的代码生成器本想用burg这样的工具自动生成,但这样可能会给代码的理解带来难度,最后手写了一个简单的代码生成器)ucc是一款遵从ANSIC89标准的编译器,大约15,000行C代码。目前支持x86平台上的Linux和Windows系统,能正确编译自身并成功运行。
它有下面一些特点:
代码结构清晰直观,有比较详细的中文文档讲述它的实现使用三地址码作为中间码,构建了由基本块组成的控制流图,适合很多优化算法编译速度快。词法分析,语法分析和目标代码生成器都是手写的(其中的代码生成器本想用burg这样的工具自动生成,但这样可能会给代码的理解带来难度,最后手写了一个简单的代码生成器)
评论