File: grammar.md

package info (click to toggle)
jsoncons 1.3.2-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 17,584 kB
  • sloc: cpp: 136,382; sh: 33; makefile: 5
file content (31 lines) | stat: -rw-r--r-- 1,086 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
path = absolute-path | relative-path

absolute-path = "$" [qualified-path]

qualified-path = recursive-location | relative-location
 
recursive-location = ".." relative-path

relative-location = "." relative-path

expression = single-quoted-string
expression =/ json-literal
expression =/ jsonpath-expression 
expression =/ unary-expression / binary-expression / regex-expression / paren-expression 
paren-expression  = "(" expression ")"
unary-expression=unary-operator expression
binary-expression = expression binary-operator expression
regex-expression = expression regex-operator regex-literal
regex-literal = "/" regex-character-literals "/"
unary-operator = "!" / "-"
binary-operator  = "*" / "/" / "%" / "+" / "-" 
binary-operator =/ "&&" / "||" 
binary-operator =/ <" / "<=" / "==" / ">=" / ">" / "!=" 
regex-operator = "=~"

function-expression = unquoted-string  (
                        no-args  /
                        one-or-more-args )
no-args             = "(" ")"
one-or-more-args    = "(" ( function-arg *( "," function-arg ) ) ")"
function-arg        = expression