shecc
ocean
Our great sponsors
shecc | ocean | |
---|---|---|
6 | 9 | |
1,038 | 167 | |
4.7% | - | |
8.7 | 0.0 | |
19 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. :)
https://github.com/jserv/shecc
- Shecc: Self-hosting and educational C compiler
- shecc: self-hosting and educational C compiler
- shecc: Self-hosting and educational C compiler
ocean
- A work-in-progress C compiler from scratch
- Show HN: A work-in-progress C compiler from scratch
-
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()
-
Hacker News top posts: Aug 3, 2021
Show HN: A work in progress C compiler from scratch\ (0 comments)
What are some alternatives?
dji-firmware-tools - Tools for handling firmwares of DJI products, with focus on quadcopters.
imp - Imp is a statically typed and compiled scripting language with the goal of increasing programmer confidence.
spu32 - Small Processing Unit 32: A compact RV32I CPU written in Verilog
mini-c - Dr Strangehack, or: how to write a self-hosting C compiler in 10 hours
chipyard - An Agile RISC-V SoC Design Framework with in-order cores, out-of-order cores, accelerators, and more
flex - The Fast Lexical Analyzer - scanner generator for lexing in C and C++
coollang-2020-fs - Compiler of a small Scala subset
Cwerg - The best C-like language that can be implemented in 10kLOC.
bsod-kernel-fuzzing - BSOD: Binary-only Scalable fuzzing Of device Drivers
ravi-compiler - Parser and compiler for Ravi and Lua
amacc - Small C Compiler generating ELF executable Arm architecture, supporting JIT execution
llvm-project - The LLVM Project is a collection of modular and reusable compiler and toolchain technologies.