├── .gitignore ├── Cargo.lock ├── Cargo.toml ├── LICENSE ├── Makefile ├── README.md ├── examples ├── fib.c ├── nqueen.c └── prime.c ├── src ├── gen_ir.rs ├── gen_x86.rs ├── irdump.rs ├── lib.rs ├── main.rs ├── parse.rs ├── preprocess.rs ├── regalloc.rs ├── sema.rs ├── token.rs └── util.rs └── test ├── gcc.c ├── test.c ├── test1.inc ├── test2.inc └── token.c /.gitignore: -------------------------------------------------------------------------------- 1 | /target 2 | **/*.rs.bk 3 | 4 | *~ 5 | *.o 6 | tmp* 7 | -------------------------------------------------------------------------------- /Cargo.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/utam0k/r9cc/HEAD/Cargo.lock -------------------------------------------------------------------------------- /Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/utam0k/r9cc/HEAD/Cargo.toml -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/utam0k/r9cc/HEAD/LICENSE -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/utam0k/r9cc/HEAD/Makefile -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/utam0k/r9cc/HEAD/README.md -------------------------------------------------------------------------------- /examples/fib.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/utam0k/r9cc/HEAD/examples/fib.c -------------------------------------------------------------------------------- /examples/nqueen.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/utam0k/r9cc/HEAD/examples/nqueen.c -------------------------------------------------------------------------------- /examples/prime.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/utam0k/r9cc/HEAD/examples/prime.c -------------------------------------------------------------------------------- /src/gen_ir.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/utam0k/r9cc/HEAD/src/gen_ir.rs -------------------------------------------------------------------------------- /src/gen_x86.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/utam0k/r9cc/HEAD/src/gen_x86.rs -------------------------------------------------------------------------------- /src/irdump.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/utam0k/r9cc/HEAD/src/irdump.rs -------------------------------------------------------------------------------- /src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/utam0k/r9cc/HEAD/src/lib.rs -------------------------------------------------------------------------------- /src/main.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/utam0k/r9cc/HEAD/src/main.rs -------------------------------------------------------------------------------- /src/parse.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/utam0k/r9cc/HEAD/src/parse.rs -------------------------------------------------------------------------------- /src/preprocess.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/utam0k/r9cc/HEAD/src/preprocess.rs -------------------------------------------------------------------------------- /src/regalloc.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/utam0k/r9cc/HEAD/src/regalloc.rs -------------------------------------------------------------------------------- /src/sema.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/utam0k/r9cc/HEAD/src/sema.rs -------------------------------------------------------------------------------- /src/token.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/utam0k/r9cc/HEAD/src/token.rs -------------------------------------------------------------------------------- /src/util.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/utam0k/r9cc/HEAD/src/util.rs -------------------------------------------------------------------------------- /test/gcc.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/utam0k/r9cc/HEAD/test/gcc.c -------------------------------------------------------------------------------- /test/test.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/utam0k/r9cc/HEAD/test/test.c -------------------------------------------------------------------------------- /test/test1.inc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/utam0k/r9cc/HEAD/test/test1.inc -------------------------------------------------------------------------------- /test/test2.inc: -------------------------------------------------------------------------------- 1 | #define OK "O%c\n", 'K' 2 | 3 | printf(OK); 4 | -------------------------------------------------------------------------------- /test/token.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/utam0k/r9cc/HEAD/test/token.c --------------------------------------------------------------------------------