cproc
lithium
Our great sponsors
cproc | lithium | |
---|---|---|
10 | 2 | |
665 | 118 | |
- | - | |
6.8 | 0.0 | |
7 days ago | about 2 years ago | |
C | Clojure | |
GNU General Public License v3.0 or later | - |
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.
cproc
-
Oasis – a small, statically-linked Linux system
Michaelforney has also built croc [1], a qbe based C compiler. Really impressive!
- List of (open source) C compilers
- Hand-optimizing the TCC code generator
-
Minias – A mini x86-64 assembler for fun and learning
A word of warning for those wondering: this is not for Intel syntax, despite referencing the Intel doc.
Minias can assemble itself
...but it's written in C and uses a parser generator? IMHO it feels a bit backwards --- and perhaps even a bit cheating if you're doing this for a "bootstrap pilgrimage" --- to write a lower-level tool in a higher-level language. On the other hand, the same author also links to a C compiler in C, without a parser generator: https://github.com/michaelforney/cproc
-
Hacker News top posts: Aug 20, 2021
Cproc C Compiler\ (29 comments)
- Cproc C Compiler
lithium
-
An ARM Assembler Written in Lisp
I once wrote a rudimentary x86 assembler in Clojure:
https://github.com/nathell/lithium/blob/master/src/lithium/a...
In general, I find that s-expressions are actually a nice syntax for assembly languages. For x86, they kind of sidestep the AT&T vs. Intel conundrum, and you get to write macro-like functions in the host Lisp that compile down to s-expressions.
-
Minias – A mini x86-64 assembler for fun and learning
Here’s mine, in Clojure, very incomplete (16-bit x86 only for now) and using a s-expression based syntax, in 253 LOC:
https://github.com/nathell/lithium/blob/master/src/lithium/a...
What are some alternatives?
pl0c - Self-hosting PL/0 to C compiler to teach basic compiler construction from a practical, hands-on perspective.
qbe-rs - QBE IR in natural Rust data structures
minias - A mini x86-64 assembler for fun and learning.
unix - Mirror of the Restoration of 1st Edition UNIX kernel sources from pdf document.
manim - A community-maintained Python framework for creating mathematical animations.
fpga_craft - A voxel game/Minecraft clone for the iCE40 UP5K FPGA
c4 - C in four functions
GLFW - A multi-platform library for OpenGL, OpenGL ES, Vulkan, window and input
meson - The Meson Build System
Cwerg - The best C-like language that can be implemented in 10kLOC.
nanopass-framework-scheme - The new nanopass framework; an embedded DSL for writing compilers in Scheme
public-apis - A collective list of free APIs