msiemens / Rustiny
Licence: mit
A Rust-like language compiling to x86-64 assembler
Stars: ✭ 34
Programming Languages
rust
11053 projects
Labels
Projects that are alternatives of or similar to Rustiny
Wasp
A programming language that understands what a web app is.
Stars: ✭ 940 (+2664.71%)
Mutual labels: compiler
Hamler
Haskell-style functional programming language running on Erlang VM.
Stars: ✭ 840 (+2370.59%)
Mutual labels: compiler
Dugong
Minimal State Store Manager for React Apps using RxJS
Stars: ✭ 10 (-70.59%)
Mutual labels: compiler
Rexjs
Rexjs is a faster and smaller JavaScript(ES6+) compiler!
Stars: ✭ 15 (-55.88%)
Mutual labels: compiler
Diez
The Design Token Framework — Adopt a unified design language across platforms, codebases, and teams
Stars: ✭ 928 (+2629.41%)
Mutual labels: compiler
Cfl
a Compileable statically typed Functional programming Language
Stars: ✭ 7 (-79.41%)
Mutual labels: compiler
Asl
Arma Scripting Language - a clean scripting language compiling to Arma 3 SQF scripts.
Stars: ✭ 20 (-41.18%)
Mutual labels: compiler
Write A Programming Language
How to make a new language(and why we shouldn't?)
Stars: ✭ 29 (-14.71%)
Mutual labels: compiler
Ferret
Ferret is a free software lisp implementation for real time embedded control systems.
Stars: ✭ 878 (+2482.35%)
Mutual labels: compiler
Zion
A statically-typed strictly-evaluated garbage-collected readable programming language.
Stars: ✭ 33 (-2.94%)
Mutual labels: compiler
RusTiny
This is an educational compiler for a Rust-like language that was originally planned to target the fictional Tiny architecture. But due to Tiny's limitations, RusTiny now targets x86-64 machines. The syntax is based on Rust, but there are numerous semantic differences:
- The only datatype is
int
. There also arebool
andchar
, but these are actuallyint
s in disguise. - No structs/classes, no modules, only functions. This keeps the whole language managable for me.
- No
mut
, no borrow checker. Again: keep it simple.
NOTE: This project is currently on hold as the current approach for SSA register allocation doesn't really pan out. I hope I'll find time to revisit project this sometime in the future.
Goal
My goal is to get the compiler so far that I can write a program that approximates Pi.
Architecture
The general data flow looks something like this:
Source File -(front)-> AST -(middle)-> IR -(back)-> Assembler
-
front
: Translates the source file into an Abstract Syntax Tree representation -
middle
: Checks the AST for correctness, transforms it to an Intermediate Representation and performs optimizations -
back
: Translates the IR toTiny Assembly codex86-64 assembly
Helpful Resources
Resources I found helpful:
Note that the project description data, including the texts, logos, images, and/or trademarks,
for each open source project belongs to its rightful owner.
If you wish to add or remove any projects, please contact us at [email protected].