aboutsummaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'README.md')
-rw-r--r--README.md19
1 files changed, 19 insertions, 0 deletions
diff --git a/README.md b/README.md
index bc9cbe2..1f960e5 100644
--- a/README.md
+++ b/README.md
@@ -16,6 +16,8 @@ Non Goals:
# Building
+Install the [peg/leg](https://www.piumarta.com/software/peg/) parser generator, make and a C compiler and run:
+
```
make
```
@@ -27,6 +29,23 @@ leg asm.peg > asm.peg.inc
cc -O2 *.c -o minias
```
+# 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.
+
+- Minias deliberately kept the peg grammar quite repetitive
+ and simple, please keep it this.
+
+- Our performance is quite fast, but with the current design
+ it is limited by the parser, it would be interesting
+ to see if we can improve the parser generator upstream.
+
+- One day it would be nice to write a 'minipeg' in a single .c
+ file that can be bundled in projects.
+
# Resources
- [intel reference](https://software.intel.com/content/dam/develop/external/us/en/documents-tps/325383-sdm-vol-2abcd.pdf) - Specifically chapter 2.1 and chapter 3.1.