Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/melwyn95/toy-compiler
Working through the book "Compiling to Assembly from Scratch"
https://github.com/melwyn95/toy-compiler
Last synced: about 1 month ago
JSON representation
Working through the book "Compiling to Assembly from Scratch"
- Host: GitHub
- URL: https://github.com/melwyn95/toy-compiler
- Owner: melwyn95
- Created: 2023-01-05T05:46:58.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2023-05-17T12:44:26.000Z (over 1 year ago)
- Last Synced: 2024-10-22T02:22:59.725Z (3 months ago)
- Language: TypeScript
- Homepage:
- Size: 103 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# toy-compiler
Working though the book ["Compiling to Assembly from Scratch"](https://keleshev.com/compiling-to-assembly-from-scratch/).[Notes on ARM assembly](./ARM.md)
### TODO(s)
- [ ] Proper test bench set-up
- [ ] Proper CLI
- [ ] Fix CLI args parsing- [ ] Add for-loops
- [ ] Add operation-assignment operator (+=, -=, ...)
- [ ] Add comparison operators (>, <, >=, <=)
- [ ] Add support for functions/calls with more than 4 arguments
- [ ] Specialize code for 1, 2, 3 & 4 registerd in function deifinition
- [ ] Use vacantOffsets for saving stack space for Var nodes
- [ ] Add support for block scopes bindings (let & const)
- [ ] Implement strings using byte variant of instruction (`ldrb` & `strb`)- [ ] Port compiler & tests to OCaml
- [ ] Add WebAssembly Backend after ARM