github.com/Oyster-zx/tendermint@v0.34.24-fork/libs/pubsub/query/query.peg (about) 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 / exists 15 ) 16 17 tag <- < (![ \t\n\r\\()"'=><] .)+ > 18 value <- < '\'' (!["'] .)* '\''> 19 number <- < ('0' 20 / [1-9] digit* ('.' digit*)?) > 21 digit <- [0-9] 22 time <- "TIME " < year '-' month '-' day 'T' digit digit ':' digit digit ':' digit digit (('-' / '+') digit digit ':' digit digit / 'Z') > 23 date <- "DATE " < year '-' month '-' day > 24 year <- ('1' / '2') digit digit digit 25 month <- ('0' / '1') digit 26 day <- ('0' / '1' / '2' / '3') digit 27 and <- "AND" 28 29 equal <- "=" 30 contains <- "CONTAINS" 31 exists <- "EXISTS" 32 le <- "<=" 33 ge <- ">=" 34 l <- "<" 35 g <- ">"