aboutsummaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'README.md')
-rw-r--r--README.md30
1 files changed, 30 insertions, 0 deletions
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..ebed7d7
--- /dev/null
+++ b/README.md
@@ -0,0 +1,30 @@
+# MRY
+
+## Grammar Files
+
+The grammar file needs to be in the following format:
+
+```
+main -> expression
+expression -> binary_operation | number | '(' expression ')'
+binary_operation -> expression binary_operand expression
+binary_operand -> '+' | '-' | '*' | '/'
+number -> digit number | digit
+digit -> '0' | '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '9'
+```
+
+Where all terminals are in single-quotes and the rest are non-terminals.
+
+> NOTE:
+> The default entry point name is always `main` if you want to use
+> a different one, use the `-e` or `--entry` option.
+
+## Running Benchmark
+
+To run benchmark of your grammar run:
+
+```sh
+$ zig build run --release=fast -- benchmark <grammar-file> -i <input-file>
+```
+
+Where `<input-file>` contains test-strings on each line.