shecc
ocean
Our great sponsors
shecc | ocean | |
---|---|---|
6 | 9 | |
1,020 | 167 | |
4.1% | - | |
8.7 | 0.0 | |
7 days ago | over 1 year ago | |
C | C | |
BSD 2-clause "Simplified" License | BSD 3-clause "New" or "Revised" License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
shecc
-
A self-hosting and educational C optimizing compiler
Yes, consider the case of shecc. It requires just a handful of C code lines to interpret directives set in the C preprocessor. Unlike relying on existing tools like cpp, as, or ld, shecc stands alone as a minimalist cross-compiler. This design could be particularly beneficial for students delving into the study of compiler construction. See https://github.com/sysprog21/shecc/blob/master/src/lexer.c#L...
-
Compiler Class
I'm looking at this one for a CPU design I've been working on. :)
ocean
-
A work in progress C compiler from scratch
Can't edit my original reply anymore, but fair point, I've changed the keyword 'function' in the AST to a function return type instead. There's no error handling done yet to check whether the variable receiving the function return data matches the function return type, but it's on my todo list.
https://github.com/riicchhaarrd/ocean/commit/0618e0810c8d437...
Then again in C it would work aswell if you type casted the types.
const char *f()
What are some alternatives?
dji-firmware-tools - Tools for handling firmwares of DJI products, with focus on quadcopters.
spu32 - Small Processing Unit 32: A compact RV32I CPU written in Verilog
chipyard - An Agile RISC-V SoC Design Framework with in-order cores, out-of-order cores, accelerators, and more
bsod-kernel-fuzzing - BSOD: Binary-only Scalable fuzzing Of device Drivers
coollang-2020-fs - Compiler of a small Scala subset
flex - The Fast Lexical Analyzer - scanner generator for lexing in C and C++
amacc - Small C Compiler generating ELF executable Arm architecture, supporting JIT execution
imp - Imp is a statically typed and compiled scripting language with the goal of increasing programmer confidence.
pagebuster - PageBuster - dump all executable pages of packed processes.
Cwerg - The best C-like language that can be implemented in 10kLOC.
mini-c - Dr Strangehack, or: how to write a self-hosting C compiler in 10 hours
llvm-project - The LLVM Project is a collection of modular and reusable compiler and toolchain technologies.