maekawatoshiki / qcc

Licence: MIT License
qcc is a small toy C compiler

Programming Languages

C++
36643 projects - #6 most used programming language
c
50402 projects - #5 most used programming language

Projects that are alternatives of or similar to qcc

cere
CERE: Codelet Extractor and REplayer
Stars: ✭ 27 (-27.03%)
Mutual labels:  llvm
Vist
The Vist programming language
Stars: ✭ 16 (-56.76%)
Mutual labels:  llvm
llvm-project-prepo
Fork of LLVM with modifications to support a program repository
Stars: ✭ 27 (-27.03%)
Mutual labels:  llvm
ionlang
🌌 Ion language compiler library, powered by LLVM
Stars: ✭ 13 (-64.86%)
Mutual labels:  llvm
js-ziju
Compile javascript to LLVM IR, x86 assembly and self interpreting
Stars: ✭ 112 (+202.7%)
Mutual labels:  llvm
Pluto-Obfuscator
Obfuscator based on LLVM 12.0.1
Stars: ✭ 240 (+548.65%)
Mutual labels:  llvm
arch-packages
Arch Linux performance important packages
Stars: ✭ 27 (-27.03%)
Mutual labels:  llvm
llvm-svn
Arch Linux PKGBUILD for LLVM, Clang et al. (latest SVN code)
Stars: ✭ 18 (-51.35%)
Mutual labels:  llvm
neeilang
Fast, type-safe, object-oriented language by yours truly
Stars: ✭ 42 (+13.51%)
Mutual labels:  llvm
llvm-kaleidoscope
LLVM Tutorial: Kaleidoscope (Implementing a Language with LLVM)
Stars: ✭ 124 (+235.14%)
Mutual labels:  llvm
llvmgraph
Ocamlgraph overlay for llvm
Stars: ✭ 20 (-45.95%)
Mutual labels:  llvm
scalehls
A scalable High-Level Synthesis framework on MLIR
Stars: ✭ 62 (+67.57%)
Mutual labels:  llvm
LLVM4D
LLVM C-Api Headers and binaries for Delphi
Stars: ✭ 21 (-43.24%)
Mutual labels:  llvm
halo
😇 Wholly Adaptive LLVM Optimizer
Stars: ✭ 22 (-40.54%)
Mutual labels:  llvm
graph-llvm-ir
Visualization of LLVM IR
Stars: ✭ 43 (+16.22%)
Mutual labels:  llvm
llvm-statepoint-utils
Runtime support for LLVM's GC Statepoints
Stars: ✭ 35 (-5.41%)
Mutual labels:  llvm
SameTypeClangPlugin
自定义检查规范的 Clang 插件
Stars: ✭ 47 (+27.03%)
Mutual labels:  llvm
dmr c
dmr_C is a C parser and JIT compiler with LLVM, Eclipse OMR and NanoJIT backends
Stars: ✭ 45 (+21.62%)
Mutual labels:  llvm
snowstar
Here lies the code for the Snow* programming language, currently being rewritten.
Stars: ✭ 31 (-16.22%)
Mutual labels:  llvm
cosmix
A Compiler-based System for Secure Memory Instrumentation and Execution in Enclaves
Stars: ✭ 22 (-40.54%)
Mutual labels:  llvm

QCC

  • qcc is a small toy compiler for C language.
  • waiting for pull-req!

FEATURES

  • qcc generates bitcode from C source code with LLVM. so we have to convert bitcode to native.
  • the shell script './qcc.sh' does it. or do yourself such as below:
$ ./qcc c.c -o c.bc # qcc generates c.bc
$ llc-3.8 c.bc # c.bc -> c.s
$ clang c.s # c.s -> a.out

BUILD

  • used tools: clang, llvm-3.8
  • if you are using Ubuntu or Debian, maybe you can see what you have to apt-get install if you look at Dockerfile.
$ make
$ make test
$ ./qcc.sh <SOURCE CODE>

TRY ON DOCKER

  • follow below
docker build -t="qcc" .
docker run -it "qcc" .
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].