ocean
imp
Our great sponsors
ocean | imp | |
---|---|---|
9 | 2 | |
167 | 12 | |
- | - | |
0.0 | 0.0 | |
over 1 year ago | almost 2 years ago | |
C | Java | |
BSD 3-clause "New" or "Revised" License | Apache License 2.0 |
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.
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)
imp
-
September 2021 monthly "What are you working on?" thread
In August I finished the module system for Imp. I’ve been designing Imp from the start to support the programmer’s confidence in their code, and the module system is no different. Imp is based on the JVM so each file eventually becomes one (or more) classes but that’s abstracted away from the user. This sub’s Discord has been so helpful for asking people about these concepts and for opinions on my design decisions.
-
A work in progress C compiler from scratch
I've had good luck with ANTLR4 and ObjWeb ASM for my JVM language Imp https://github.com/mh15/imp
What are some alternatives?
mini-c - Dr Strangehack, or: how to write a self-hosting C compiler in 10 hours
OpenJ9 - Eclipse OpenJ9: A Java Virtual Machine for OpenJDK that's optimized for small footprint, fast start-up, and high throughput. Builds on Eclipse OMR (https://github.com/eclipse/omr) and combines with the Extensions for OpenJDK for OpenJ9 repo.
shecc - A self-hosting and educational C optimizing compiler
durin - the Dependent Unboxed higher-oRder Intermediate Notation
flex - The Fast Lexical Analyzer - scanner generator for lexing in C and C++
konna - A fast functional language based on two level type theory
Cwerg - The best C-like language that can be implemented in 10kLOC.
ravi-compiler - Parser and compiler for Ravi and Lua
llvm-project - The LLVM Project is a collection of modular and reusable compiler and toolchain technologies.
pika - A WIP little dependently-typed systems language