aboutsummaryrefslogtreecommitdiff
path: root/grammar/expression.grm
diff options
context:
space:
mode:
authorNathan Reiner <nathan@nathanreiner.xyz>2025-05-06 10:43:09 +0200
committerNathan Reiner <nathan@nathanreiner.xyz>2025-05-06 10:43:09 +0200
commiteff19cc15a9bf4df60e7f90c3a7ee525c65266c0 (patch)
treed6034b574e8e2218054d42caadbf25fa17862abf /grammar/expression.grm
parente2f01d5df22704bfe62396a0f9a260f86edbde0e (diff)
add full grammar parsing
Diffstat (limited to 'grammar/expression.grm')
-rw-r--r--grammar/expression.grm6
1 files changed, 6 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'