diff options
| author | Andrew Chambers <[email protected]> | 2021-10-16 13:46:40 +1300 |
|---|---|---|
| committer | Andrew Chambers <[email protected]> | 2021-10-16 13:46:40 +1300 |
| commit | e426b0ba589b6780546e712354dfd6e9880a5ee5 (patch) | |
| tree | c90e6fe03c06636571e2bf21e034019b1f53a975 | |
| parent | 75da6e3498f7ddc4f701fac77a3d8b9d6e96ca8d (diff) | |
Update readme.
| -rw-r--r-- | README.md | 19 |
1 files changed, 14 insertions, 5 deletions
@@ -2,7 +2,9 @@ A mini assembler for x86_64, written for fun and learning. -Goals: +Although mini, minias can assemble itself and most things compiled with the [cproc](https://github.com/michaelforney/cproc) C compiler. + +Project Goals: - A simple, tiny, fast implementation (in that order). - Assemble the output of [cproc](https://github.com/michaelforney/cproc)/[qbe](https://c9x.me/compile/) and [chibicc](https://github.com/rui314/chibicc). @@ -29,15 +31,22 @@ leg asm.peg > asm.peg.inc cc -O2 *.c -o minias ``` +# Roadmap + +- [x] Self host, feature complete for goals. +- [ ] Two pass jump relaxing. +- [ ] Immediate relaxing. +- [ ] Bonus features. + # Notes - Minias deliberately does not free data as it all is - freed by the OS at the end of execution. In the future - we one ould use an arena allocator for minias and still - avoid manual calls to free. + freed by the OS at the end of execution. Memory usage is still + quite light as it uses string and value interning. In the future + we could use an arena allocator for minias and still avoid manual calls to free. - Minias deliberately kept the peg grammar quite repetitive - and simple, please keep it this. + and simple, please keep it this way. - Our performance is quite fast, but with the current design it is limited by the parser, it would be interesting |
