OSDN Git Service

new repo
[bytom/vapor.git] / vendor / github.com / tendermint / tmlibs / pubsub / query / query.peg
1 package query
2
3 type QueryParser Peg {
4 }
5
6 e <- '\"' condition ( ' '+ and ' '+ condition )* '\"' !.
7
8 condition <- tag ' '* (le ' '* (number / time / date)
9                       / ge ' '* (number / time / date)
10                       / l ' '* (number / time / date)
11                       / g ' '* (number / time / date)
12                       / equal ' '* (number / time / date / value)
13                       / contains ' '* value
14                       )
15
16 tag <- < (![ \t\n\r\\()"'=><] .)+ >
17 value <- < '\'' (!["'] .)* '\''>
18 number <- < ('0'
19            / [1-9] digit* ('.' digit*)?) >
20 digit <- [0-9]
21 time <- "TIME " < year '-' month '-' day 'T' digit digit ':' digit digit ':' digit digit (('-' / '+') digit digit ':' digit digit / 'Z') >
22 date <- "DATE " < year '-' month '-' day >
23 year <- ('1' / '2') digit digit digit
24 month <- ('0' / '1') digit
25 day <- ('0' / '1' / '2' / '3') digit
26 and <- "AND"
27
28 equal <- "="
29 contains <- "CONTAINS"
30 le <- "<="
31 ge <- ">="
32 l <- "<"
33 g <- ">"