diff options
| author | Nathan Reiner <nathan@nathanreiner.xyz> | 2025-05-06 10:43:09 +0200 |
|---|---|---|
| committer | Nathan Reiner <nathan@nathanreiner.xyz> | 2025-05-06 10:43:09 +0200 |
| commit | eff19cc15a9bf4df60e7f90c3a7ee525c65266c0 (patch) | |
| tree | d6034b574e8e2218054d42caadbf25fa17862abf /grammar | |
| parent | e2f01d5df22704bfe62396a0f9a260f86edbde0e (diff) | |
add full grammar parsing
Diffstat (limited to 'grammar')
| -rw-r--r-- | grammar/expression.grm | 6 | ||||
| -rw-r--r-- | grammar/simple-stupid.grm | 1 |
2 files changed, 7 insertions, 0 deletions
diff --git a/grammar/expression.grm b/grammar/expression.grm new file mode 100644 index 0000000..6c4eddb --- /dev/null +++ b/grammar/expression.grm @@ -0,0 +1,6 @@ +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' diff --git a/grammar/simple-stupid.grm b/grammar/simple-stupid.grm new file mode 100644 index 0000000..1fa8992 --- /dev/null +++ b/grammar/simple-stupid.grm @@ -0,0 +1 @@ +main -> main 'b' | '' |