/r9cc

Toy C compiler

Primary LanguageRustMIT LicenseMIT

r9cc C Compiler

r9cc is a toy project of compiler.
This is the 9cc Rust version.

Usage

Rust 2018 edition is required.

  • Compile
$ cargo run c_file_path
  • Test
$ make test

Current status

  • Four arithmetic operations
  • Logical operation
  • Local variable
  • Global variable
  • Function call
  • Function definition
  • Array
  • Pointer
  • ++/--
  • char/int type
  • String literal
  • Strunct
  • extern
  • Comment
  • #include
  • #define
  • __LINE__

Design

If you want more information, I think you should refer to README.md of 9cc.

Reference

Special thanks to 9cc and author rui314