aboutsummaryrefslogtreecommitdiffhomepage
path: root/docs/jq_grammar.md
diff options
context:
space:
mode:
Diffstat (limited to 'docs/jq_grammar.md')
-rw-r--r--docs/jq_grammar.md81
1 files changed, 80 insertions, 1 deletions
diff --git a/docs/jq_grammar.md b/docs/jq_grammar.md
index 339fac8..5405e95 100644
--- a/docs/jq_grammar.md
+++ b/docs/jq_grammar.md
@@ -21,7 +21,86 @@
* `# ...`: Additional constraints
-## Grammar
+## Implemented Grammar
+
+```
+program:
+ body
+
+body:
+ query
+
+query:
+ query2
+
+query2:
+ query3 '|' query3
+ query3
+
+query3:
+ expr ',' expr
+ expr
+
+expr:
+ expr2 '//' expr2
+ expr2
+
+expr2:
+ expr3 '=' expr3
+ expr3 '|=' expr3
+ expr3 '//=' expr3
+ expr3 '+=' expr3
+ expr3 '-=' expr3
+ expr3 '*=' expr3
+ expr3 '/=' expr3
+ expr3 '%=' expr3
+ expr3
+
+expr3:
+ expr4 'or' expr4
+ expr4
+
+expr4:
+ expr5 'and' expr5
+ expr5
+
+expr5:
+ expr6 '==' expr6
+ expr6 '!=' expr6
+ expr6 '<' expr6
+ expr6 '>' expr6
+ expr6 '<=' expr6
+ expr6 '>=' expr6
+ expr6
+
+expr6:
+ expr7 '+' expr7
+ expr7 '-' expr7
+ expr7
+
+expr7:
+ term '*' term
+ term '/' term
+ term '%' term
+ term
+
+term:
+ primary { suffix }*
+
+suffix:
+ '[' query ']'
+
+primary:
+ 'null'
+ 'true'
+ 'false'
+ NUMBER
+ '.'
+ FIELD
+```
+
+
+## Complete Grammar
```
program: