License | Linux/macOS | Windows | Coverage | Issues |
---|---|---|---|---|
Everything is in development. See test files for details.
Source code is parsed using the Boost Spirit.Qi
library. It creates an intermediate representation which generates the assembly.
Current implementation is a stack only based virtual machine.
- C++20
- CMake 3.12
- Boost 1.69
- Filesystem
- Program Options
- System
- Spirit.Qi
git clone --recursive https://github.com/tobiashienzsch/tcc.git
# unix
CONFIG=Debug make
# same as
CONFIG=Debug make config build test
# visual studio (you may need to edit the boost path in the makefile)
CONFIG=Debug make win
# same as
CONFIG=Debug make config-vs build test
cd $BUILD_DIR
python ../scripts/run-clang-tidy.py -header-filter="(tcc|tcvm|tcsl)" -quiet -fix -p . ..
$PROJECT_ROOT
3rd_party # external code
benchmark # benchmarks using google bm
cmake # cmake modules
docs # documentation
examples # files for testing
playground # scratchpad
tcc # compiler
tcsl # shared code
tcvm # virtual machine
- Parsing
- IR
- YouTube