Jeehoon Kang 1b7d25314d Update test
2020-03-17 22:30:16 +09:00
2020-03-17 17:31:16 +09:00
2020-03-17 22:30:16 +09:00
2020-03-17 17:31:16 +09:00
2020-03-17 22:30:16 +09:00
2020-03-17 22:30:16 +09:00
2020-03-17 17:31:16 +09:00
2020-03-17 17:31:16 +09:00
2020-03-17 17:31:16 +09:00
2020-03-17 17:31:16 +09:00
2020-03-17 17:31:16 +09:00
2020-03-17 17:31:16 +09:00
2020-03-17 17:31:16 +09:00

KECC: KAIST Educational C Compiler

Install

Install rustup.

Build

cargo build            # debug build
cargo build --release  # release build

Run

cargo run -- -h                       # print options
cargo run -- -p examples/fibonacci.c  # parse
cargo run -- -i examples/fibonacci.c  # irgen
cargo run --    examples/fibonacci.c  # compile

cargo run --release -- examples/fibonacci.c  # compile with release build

Test

cargo test             # debug build test
cargo test --release   # release build test

cargo test <test-name> # run a particular test

<test-name> can be test_ast_print, ir_smoke, ...

Fuzzing

Install

# Ubuntu 18.04 or higher
apt install -y make cmake python3

# MacOS
xcode-select install
brew install cmake python3

Run

The following script generates 10 random test cases and tests your C AST printer:

python3 tests/fuzz.py --help        # print options
python3 tests/fuzz.py --print -n10  # test C AST printer for 10 times

We use Csmith to randomly generate C source codes. Csmith will be automatically downloaded and built by the test script.

Description
No description provided
Readme 1.2 MiB
Languages
Rust 91.7%
C 3.9%
Python 2.1%
Shell 1.5%
C++ 0.7%
Other 0.1%