maekawatoshiki / Rucc
Licence: mit
rucc is a tiny toy C compiler in Rust.
Stars: ✭ 115
Labels
Projects that are alternatives of or similar to Rucc
Parcel
The zero configuration build tool for the web. 📦🚀
Stars: ✭ 39,670 (+34395.65%)
Mutual labels: compiler
Godzilla
Godzilla is a ES2015 to Go source code transpiler and runtime
Stars: ✭ 1,464 (+1173.04%)
Mutual labels: compiler
Haste Compiler
A GHC-based Haskell to JavaScript compiler
Stars: ✭ 1,429 (+1142.61%)
Mutual labels: compiler
Crossshader
⚔️ A tool for cross compiling shaders. Convert between GLSL, HLSL, Metal Shader Language, or older versions of GLSL.
Stars: ✭ 113 (-1.74%)
Mutual labels: compiler
Futhark
💥💻💥 A data-parallel functional programming language
Stars: ✭ 1,641 (+1326.96%)
Mutual labels: compiler
Flax
general purpose programming language, in the vein of C++
Stars: ✭ 111 (-3.48%)
Mutual labels: compiler
Inko
Inko is a statically-typed, safe, object-oriented programming language for writing concurrent programs. This is a read-only mirror of https://gitlab.com/inko-lang/inko
Stars: ✭ 108 (-6.09%)
Mutual labels: compiler
Babel
🐠 Babel is a compiler for writing next generation JavaScript.
Stars: ✭ 40,109 (+34777.39%)
Mutual labels: compiler
Ccompiler
c语言编译器,用 lex 和 yacc 工具完成词法分析与语法分析并生成语法树,C++实现了语 法树的解析并生成中间代码,生成中间代码的过程中实现了错误检测。C++实 现了中间代码的优化操作。之后利用 python 对中间代码进行处理并生成 mips 汇编码并且可以成功在 PCSpim(mips 模拟器)上运行。
Stars: ✭ 113 (-1.74%)
Mutual labels: compiler
Fathom
🚧 (Alpha stage software) A declarative data definition language for formally specifying binary data formats. 🚧
Stars: ✭ 111 (-3.48%)
Mutual labels: compiler
Ldpl
Compiled programming language for Unix systems, inspired by COBOL and designed to be expressive, fast, readable and easy to learn.
Stars: ✭ 115 (+0%)
Mutual labels: compiler
Brain
An esoteric programming language compiler on top of LLVM based on Brainfuck
Stars: ✭ 112 (-2.61%)
Mutual labels: compiler
RUCC
rucc is a small toy C compiler implemented in Rust.
REQUIREMENTS
- latest Rust (recommend rustup)
- LLVM 10.0
# ubuntu, or debian...
$ apt-get install llvm-10 llvm-10-dev
RUN
First, do test
$ cargo test
After the test exits successfully, you can try rucc easily with ./rucc.sh
!
$ # slow (use binary created by `cargo build`)
$ ./rucc.sh [filename (*.c)]
$ # fast (use binary created by `cargo build --release`)
$ ./rucc.sh [filename (*.c)] --release
FORK AND PULL REQUEST LIFECYCLE
-
fork https://github.com/maekawatoshiki/rucc repository
-
clone your repository on local pc
$ git clone [email protected]:youraccount/rucc.git $ cd rucc
-
add maekawatoshiki upstream repository & fetch & confirm
$ git remote add upstream [email protected]:maekawatoshiki/rucc.git $ git fetch upstream $ git branch -a * master remotes/origin/HEAD -> origin/master remotes/origin/master remotes/upstream/master
-
fetch & marge upstream
$ git fetch upstream $ git merge upstream/master
-
pullrequest on GitHub
REFERENCES
I'm using 8cc as reference.
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].