mini-arm-os
the-super-tiny-compiler
mini-arm-os | the-super-tiny-compiler | |
---|---|---|
1 | 19 | |
963 | 27,444 | |
- | - | |
0.0 | 0.0 | |
over 2 years ago | 3 months ago | |
C | JavaScript | |
GNU General Public License v3.0 or later | Creative Commons Attribution 4.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.
mini-arm-os
-
In-depth software programming
C: Build a minimal multi-tasking kernel for ARM from scratch
the-super-tiny-compiler
-
ESLint: under the hood
Now, those concepts are a whole entire world to explore, and this is out of the scope of this article. I suggest the reading of the Chapters 4, 5 and 6 of the book Crafting Interpreters by Robert Nystrom for a wider (but still practical) understanding of those subjects. Another practical great resource to look at is The SuperTiny Compiler. To explore them from a theorical point of view, you can find A LOT of resources from books or courses online.
-
Abstract Syntax Trees and Practical Applications in JavaScript
The super tiny compiler by Jamie
-
GCC uses GCC to compile itself
I am currently writing a much more intricate version of the Super Tiny Compiler (https://github.com/jamiebuilds/the-super-tiny-compiler) in Rust, only I plan on handling many basic operations, essentially a compiler for a MUCH simpler version of Go. Great project idea btw, for anyone who wants to explore compilers. But in doing so, have really found a new respect for just what is going on when you gcc -o garbageprogram mytrashcode.c
-
how would you make a programming language if you were a complete beginner?
Here, at least take this floatie: https://github.com/jamiebuilds/the-super-tiny-compiler
-
Any good resources for reading code?
Outside of this, I recently learned about The Super Tiny Compiler which was a project written to be read. Mind you, it has a vast amount of comments, which may be more of a leg-up than you're asking for.
-
Ask HN: Guidance on writing a source to source compiler (transpiler)
You could start here:
https://github.com/jamiebuilds/the-super-tiny-compiler
That converts from lisp-like to javascript. Really though this is a big field, and there are lots of resources out there.
To get started look at your input language; you'll need to lex and parse that. Then massage the parsed structure into the appropriate output.
You can see me convert brainfuck to C, or x86 assembly language here:
https://github.com/skx/bfcc
- The Super Tiny Compiler
What are some alternatives?
os-tutorial - How to create an OS from scratch
write-a-C-interpreter - Write a simple interpreter of C. Inspired by c4 and largely based on it.
blockchain-in-js - Build your own blockchain!
es6-cheatsheet - ES2015 [ES6] cheatsheet containing tips, tricks, best practices and code snippets
minipack - 📦 A simplified example of a modern module bundler written in JavaScript
flowy - The minimal javascript library to create flowcharts ✨
fslightbox - An easy to use vanilla JavaScript plug-in without production dependencies for displaying images, videos, or, through custom sources, anything you want in a clean overlying box.
raspberry-pi-os - Learning operating system development using Linux kernel and Raspberry Pi
didact - A DIY guide to build your own React
acwj - A Compiler Writing Journey
mal - mal - Make a Lisp
littleosbook - Source for the little book about OS development