From e426b0ba589b6780546e712354dfd6e9880a5ee5 Mon Sep 17 00:00:00 2001 From: Andrew Chambers Date: Sat, 16 Oct 2021 13:46:40 +1300 Subject: Update readme. --- README.md | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 1f960e5..4c2ec6e 100644 --- a/README.md +++ b/README.md @@ -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 -- cgit v1.2.3