rcc
rcc: a Rust C compiler
A C compiler written in Rust, with a focus on good error messages. Warning: my first rust project, code quality is pretty low.
Running
cargo run
from top level directory.
You can also use cargo run -- --debug-lex
, cargo run -- --debug-ast
, cargo run -- --debug-asm
to show a very verbose description of the lexemes/AST/IR respectively.
Use cargo run -- --help
for all options.
Running on Windows
You need to have cc
on your PATH. You can either install mingw + gcc or MSVC.
Other than that, it should work exactly the same as on Linux.
TODO
- Preprocessor
- Fix boolean expressions
- Multiple translation units (files)
- Bitfields?
- Compile on non-x86 platforms
- Cross-compile
Testing
# optionally, you can fuzz the compiler
# it may be more helpful to just `grep -R unimplemented src`, though
FAQ
See FAQ.md
Implementation Defined Behavior
Contributing
See CONTRIBUTING.md. This also includes reporting bugs.