github.com/datachainlab/burrow@v0.25.0/event/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 ) 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 <- ">"