Skip to content

reticenceji/cmm_compiler

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Cmm

Cmm是《Compiler Construction: Principles and Practice》书后介绍的一个精简版的C语言的实现,略有不同,主要是增加了部分运算符。

程序的使用方法:类似于gcc/clang。通过项目release的deb包进行安装。cmm source.c即可进行编译,编译的默认结果为a.out。更详细的使用方法查看cmm --help

程序的构建方法:除了Rust之外,主要需要llvm的依赖。在Ubuntu中可以使用sudo apt install llvm完成依赖安装。llvm的版本可以在Cargo.toml进行配置。配置完成后cargo build即可进行构建。

程序主要使用的第三方库:

ast示例