package pql // Code generated by peg -inline pql.peg DO NOT EDIT. import ( "fmt" "io" "os" "sort" "strconv" ) const endSymbol rune = 1114112 /* The rule types inferred from the grammar are below. */ type pegRule uint8 const ( ruleUnknown pegRule = iota ruleCalls ruleCall ruleallargs ruleargs rulearg ruleCOND ruleconditional rulecondint rulecondLT rulecondfield rulevalue ruleitems ruleitem ruledoublequotedstring rulesinglequotedstring rulefieldExpr rulefield rulereserved ruleposfield rulecol ruleopen ruleclose rulesp ruleeq rulecomma rulelbrack rulerbrack ruleIDENT ruledigits rulesignedDigits ruledecimal ruletz ruleiso8601 ruleiso8601nano ruletimestampbasicfmt ruletimestampfmt ruletimebasicfmt ruletimefmt ruletime ruleAction0 ruleAction1 ruleAction2 ruleAction3 ruleAction4 ruleAction5 ruleAction6 ruleAction7 ruleAction8 ruleAction9 ruleAction10 ruleAction11 ruleAction12 ruleAction13 ruleAction14 ruleAction15 ruleAction16 ruleAction17 ruleAction18 ruleAction19 ruleAction20 ruleAction21 ruleAction22 ruleAction23 ruleAction24 ruleAction25 ruleAction26 ruleAction27 rulePegText ruleAction28 ruleAction29 ruleAction30 ruleAction31 ruleAction32 ruleAction33 ruleAction34 ruleAction35 ruleAction36 ruleAction37 ruleAction38 ruleAction39 ruleAction40 ruleAction41 ruleAction42 ruleAction43 ruleAction44 ruleAction45 ruleAction46 ruleAction47 ruleAction48 ruleAction49 ruleAction50 ruleAction51 ruleAction52 ruleAction53 ruleAction54 ruleAction55 ruleAction56 ruleAction57 ruleAction58 ruleAction59 ruleAction60 ) var rul3s = [...]string{ "Unknown", "Calls", "Call", "allargs", "args", "arg", "COND", "conditional", "condint", "condLT", "condfield", "value", "items", "item", "doublequotedstring", "singlequotedstring", "fieldExpr", "field", "reserved", "posfield", "col", "open", "close", "sp", "eq", "comma", "lbrack", "rbrack", "IDENT", "digits", "signedDigits", "decimal", "tz", "iso8601", "iso8601nano", "timestampbasicfmt", "timestampfmt", "timebasicfmt", "timefmt", "time", "Action0", "Action1", "Action2", "Action3", "Action4", "Action5", "Action6", "Action7", "Action8", "Action9", "Action10", "Action11", "Action12", "Action13", "Action14", "Action15", "Action16", "Action17", "Action18", "Action19", "Action20", "Action21", "Action22", "Action23", "Action24", "Action25", "Action26", "Action27", "PegText", "Action28", "Action29", "Action30", "Action31", "Action32", "Action33", "Action34", "Action35", "Action36", "Action37", "Action38", "Action39", "Action40", "Action41", "Action42", "Action43", "Action44", "Action45", "Action46", "Action47", "Action48", "Action49", "Action50", "Action51", "Action52", "Action53", "Action54", "Action55", "Action56", "Action57", "Action58", "Action59", "Action60", } type token32 struct { pegRule begin, end uint32 } func (t *token32) String() string { return fmt.Sprintf("\x1B[34m%v\x1B[m %v %v", rul3s[t.pegRule], t.begin, t.end) } type node32 struct { token32 up, next *node32 } func (node *node32) print(w io.Writer, pretty bool, buffer string) { var print func(node *node32, depth int) print = func(node *node32, depth int) { for node != nil { for c := 0; c < depth; c++ { fmt.Fprintf(w, " ") } rule := rul3s[node.pegRule] quote := strconv.Quote(string(([]rune(buffer)[node.begin:node.end]))) if !pretty { fmt.Fprintf(w, "%v %v\n", rule, quote) } else { fmt.Fprintf(w, "\x1B[34m%v\x1B[m %v\n", rule, quote) } if node.up != nil { print(node.up, depth+1) } node = node.next } } print(node, 0) } func (node *node32) Print(w io.Writer, buffer string) { node.print(w, false, buffer) } func (node *node32) PrettyPrint(w io.Writer, buffer string) { node.print(w, true, buffer) } type tokens32 struct { tree []token32 } func (t *tokens32) Trim(length uint32) { t.tree = t.tree[:length] } func (t *tokens32) Print() { for _, token := range t.tree { fmt.Println(token.String()) } } func (t *tokens32) AST() *node32 { type element struct { node *node32 down *element } tokens := t.Tokens() var stack *element for _, token := range tokens { if token.begin == token.end { continue } node := &node32{token32: token} for stack != nil && stack.node.begin >= token.begin && stack.node.end <= token.end { stack.node.next = node.up node.up = stack.node stack = stack.down } stack = &element{node: node, down: stack} } if stack != nil { return stack.node } return nil } func (t *tokens32) PrintSyntaxTree(buffer string) { t.AST().Print(os.Stdout, buffer) } func (t *tokens32) WriteSyntaxTree(w io.Writer, buffer string) { t.AST().Print(w, buffer) } func (t *tokens32) PrettyPrintSyntaxTree(buffer string) { t.AST().PrettyPrint(os.Stdout, buffer) } func (t *tokens32) Add(rule pegRule, begin, end, index uint32) { tree, i := t.tree, int(index) if i >= len(tree) { t.tree = append(tree, token32{pegRule: rule, begin: begin, end: end}) return } tree[i] = token32{pegRule: rule, begin: begin, end: end} } func (t *tokens32) Tokens() []token32 { return t.tree } type PQL struct { Query Buffer string buffer []rune rules [102]func() bool parse func(rule ...int) error reset func() Pretty bool tokens32 } func (p *PQL) Parse(rule ...int) error { return p.parse(rule...) } func (p *PQL) Reset() { p.reset() } type textPosition struct { line, symbol int } type textPositionMap map[int]textPosition func translatePositions(buffer []rune, positions []int) textPositionMap { length, translations, j, line, symbol := len(positions), make(textPositionMap, len(positions)), 0, 1, 0 sort.Ints(positions) search: for i, c := range buffer { if c == '\n' { line, symbol = line+1, 0 } else { symbol++ } if i == positions[j] { translations[positions[j]] = textPosition{line, symbol} for j++; j < length; j++ { if i != positions[j] { continue search } } break search } } return translations } type parseError struct { p *PQL max token32 } func (e *parseError) Error() string { tokens, err := []token32{e.max}, "\n" positions, p := make([]int, 2*len(tokens)), 0 for _, token := range tokens { positions[p], p = int(token.begin), p+1 positions[p], p = int(token.end), p+1 } translations := translatePositions(e.p.buffer, positions) format := "parse error near %v (line %v symbol %v - line %v symbol %v):\n%v\n" if e.p.Pretty { format = "parse error near \x1B[34m%v\x1B[m (line %v symbol %v - line %v symbol %v):\n%v\n" } for _, token := range tokens { begin, end := int(token.begin), int(token.end) err += fmt.Sprintf(format, rul3s[token.pegRule], translations[begin].line, translations[begin].symbol, translations[end].line, translations[end].symbol, strconv.Quote(string(e.p.buffer[begin:end]))) } return err } func (p *PQL) PrintSyntaxTree() { if p.Pretty { p.tokens32.PrettyPrintSyntaxTree(p.Buffer) } else { p.tokens32.PrintSyntaxTree(p.Buffer) } } func (p *PQL) WriteSyntaxTree(w io.Writer) { p.tokens32.WriteSyntaxTree(w, p.Buffer) } func (p *PQL) Execute() { buffer, _buffer, text, begin, end := p.Buffer, p.buffer, "", 0, 0 for _, token := range p.Tokens() { switch token.pegRule { case rulePegText: begin, end = int(token.begin), int(token.end) text = string(_buffer[begin:end]) case ruleAction0: p.startCall("Set") case ruleAction1: p.endCall() case ruleAction2: p.startCall("Clear") case ruleAction3: p.endCall() case ruleAction4: p.startCall("ClearRow") case ruleAction5: p.endCall() case ruleAction6: p.startCall("Store") case ruleAction7: p.endCall() case ruleAction8: p.startCall("TopN") case ruleAction9: p.endCall() case ruleAction10: p.startCall("TopK") case ruleAction11: p.endCall() case ruleAction12: p.startCall("Percentile") case ruleAction13: p.endCall() case ruleAction14: p.startCall("Rows") case ruleAction15: p.endCall() case ruleAction16: p.startCall("Min") case ruleAction17: p.endCall() case ruleAction18: p.startCall("Max") case ruleAction19: p.endCall() case ruleAction20: p.startCall("Sum") case ruleAction21: p.endCall() case ruleAction22: p.startCall("Range") case ruleAction23: p.addField("from") case ruleAction24: p.addVal(text) case ruleAction25: p.addField("to") case ruleAction26: p.addVal(text) case ruleAction27: p.endCall() case ruleAction28: p.startCall(text) case ruleAction29: p.endCall() case ruleAction30: p.addBTWN() case ruleAction31: p.addLTE() case ruleAction32: p.addGTE() case ruleAction33: p.addEQ() case ruleAction34: p.addNEQ() case ruleAction35: p.addLT() case ruleAction36: p.addGT() case ruleAction37: p.startConditional() case ruleAction38: p.endConditional() case ruleAction39: p.condAdd(text) case ruleAction40: p.condAdd(text) case ruleAction41: p.condAdd(text) case ruleAction42: p.startList() case ruleAction43: p.endList() case ruleAction44: p.addVal(nil) case ruleAction45: p.addVal(true) case ruleAction46: p.addVal(false) case ruleAction47: p.addVal(text) case ruleAction48: p.addTimestampVal(text) case ruleAction49: p.addNumVal(text) case ruleAction50: p.startCall(text) case ruleAction51: p.addVal(p.endCall()) case ruleAction52: p.addVal(text) case ruleAction53: p.addVal(text) case ruleAction54: p.addVal(text) case ruleAction55: p.addField(text) case ruleAction56: p.addPosStr("_field", text) case ruleAction57: p.addPosNum("_col", text) case ruleAction58: p.addPosStr("_col", text) case ruleAction59: p.addPosStr("_col", text) case ruleAction60: p.addPosStr("_timestamp", text) } } _, _, _, _, _ = buffer, _buffer, text, begin, end } func Pretty(pretty bool) func(*PQL) error { return func(p *PQL) error { p.Pretty = pretty return nil } } func Size(size int) func(*PQL) error { return func(p *PQL) error { p.tokens32 = tokens32{tree: make([]token32, 0, size)} return nil } } func (p *PQL) Init(options ...func(*PQL) error) error { var ( max token32 position, tokenIndex uint32 buffer []rune ) for _, option := range options { err := option(p) if err != nil { return err } } p.reset = func() { max = token32{} position, tokenIndex = 0, 0 p.buffer = []rune(p.Buffer) if len(p.buffer) == 0 || p.buffer[len(p.buffer)-1] != endSymbol { p.buffer = append(p.buffer, endSymbol) } buffer = p.buffer } p.reset() _rules := p.rules tree := p.tokens32 p.parse = func(rule ...int) error { r := 1 if len(rule) > 0 { r = rule[0] } matches := p.rules[r]() p.tokens32 = tree if matches { p.Trim(tokenIndex) return nil } return &parseError{p, max} } add := func(rule pegRule, begin uint32) { tree.Add(rule, begin, position, tokenIndex) tokenIndex++ if begin != position && position > max.end { max = token32{rule, begin, position} } } matchDot := func() bool { if buffer[position] != endSymbol { position++ return true } return false } /*matchChar := func(c byte) bool { if buffer[position] == c { position++ return true } return false }*/ /*matchRange := func(lower byte, upper byte) bool { if c := buffer[position]; c >= lower && c <= upper { position++ return true } return false }*/ _rules = [...]func() bool{ nil, /* 0 Calls <- <(sp (Call sp)* !.)> */ func() bool { position0, tokenIndex0 := position, tokenIndex { position1 := position if !_rules[rulesp]() { goto l0 } l2: { position3, tokenIndex3 := position, tokenIndex if !_rules[ruleCall]() { goto l3 } if !_rules[rulesp]() { goto l3 } goto l2 l3: position, tokenIndex = position3, tokenIndex3 } { position4, tokenIndex4 := position, tokenIndex if !matchDot() { goto l4 } goto l0 l4: position, tokenIndex = position4, tokenIndex4 } add(ruleCalls, position1) } return true l0: position, tokenIndex = position0, tokenIndex0 return false }, /* 1 Call <- <((('s' / 'S') ('e' / 'E') ('t' / 'T') Action0 open col comma args (comma time)? close Action1) / (('c' / 'C') ('l' / 'L') ('e' / 'E') ('a' / 'A') ('r' / 'R') Action2 open col comma args close Action3) / (('c' / 'C') ('l' / 'L') ('e' / 'E') ('a' / 'A') ('r' / 'R') ('r' / 'R') ('o' / 'O') ('w' / 'W') Action4 open arg close Action5) / (('s' / 'S') ('t' / 'T') ('o' / 'O') ('r' / 'R') ('e' / 'E') Action6 open Call comma arg close Action7) / (('t' / 'T') ('o' / 'O') ('p' / 'P') ('n' / 'N') Action8 open posfield (comma allargs)? close Action9) / (('t' / 'T') ('o' / 'O') ('p' / 'P') ('k' / 'K') Action10 open posfield (comma allargs)? close Action11) / (('p' / 'P') ('e' / 'E') ('r' / 'R') ('c' / 'C') ('e' / 'E') ('n' / 'N') ('t' / 'T') ('i' / 'I') ('l' / 'L') ('e' / 'E') Action12 open posfield (comma allargs)? close Action13) / (('r' / 'R') ('o' / 'O') ('w' / 'W') ('s' / 'S') Action14 open posfield (comma allargs)? close Action15) / (('m' / 'M') ('i' / 'I') ('n' / 'N') Action16 open posfield (comma allargs)? close Action17) / (('m' / 'M') ('a' / 'A') ('x' / 'X') Action18 open posfield (comma allargs)? close Action19) / (('s' / 'S') ('u' / 'U') ('m' / 'M') Action20 open posfield (comma allargs)? close Action21) / (('r' / 'R') ('a' / 'A') ('n' / 'N') ('g' / 'G') ('e' / 'E') Action22 open field eq value comma ('f' 'r' 'o' 'm' '=')? Action23 timefmt Action24 comma ('t' 'o' '=')? sp Action25 timefmt Action26 close Action27) / ( Action28 open allargs comma? close Action29))> */ func() bool { position5, tokenIndex5 := position, tokenIndex { position6 := position { position7, tokenIndex7 := position, tokenIndex { position9, tokenIndex9 := position, tokenIndex if buffer[position] != rune('s') { goto l10 } position++ goto l9 l10: position, tokenIndex = position9, tokenIndex9 if buffer[position] != rune('S') { goto l8 } position++ } l9: { position11, tokenIndex11 := position, tokenIndex if buffer[position] != rune('e') { goto l12 } position++ goto l11 l12: position, tokenIndex = position11, tokenIndex11 if buffer[position] != rune('E') { goto l8 } position++ } l11: { position13, tokenIndex13 := position, tokenIndex if buffer[position] != rune('t') { goto l14 } position++ goto l13 l14: position, tokenIndex = position13, tokenIndex13 if buffer[position] != rune('T') { goto l8 } position++ } l13: { add(ruleAction0, position) } if !_rules[ruleopen]() { goto l8 } if !_rules[rulecol]() { goto l8 } if !_rules[rulecomma]() { goto l8 } if !_rules[ruleargs]() { goto l8 } { position16, tokenIndex16 := position, tokenIndex if !_rules[rulecomma]() { goto l16 } { position18 := position { position19 := position if !_rules[ruletimefmt]() { goto l16 } add(rulePegText, position19) } { add(ruleAction60, position) } add(ruletime, position18) } goto l17 l16: position, tokenIndex = position16, tokenIndex16 } l17: if !_rules[ruleclose]() { goto l8 } { add(ruleAction1, position) } goto l7 l8: position, tokenIndex = position7, tokenIndex7 { position23, tokenIndex23 := position, tokenIndex if buffer[position] != rune('c') { goto l24 } position++ goto l23 l24: position, tokenIndex = position23, tokenIndex23 if buffer[position] != rune('C') { goto l22 } position++ } l23: { position25, tokenIndex25 := position, tokenIndex if buffer[position] != rune('l') { goto l26 } position++ goto l25 l26: position, tokenIndex = position25, tokenIndex25 if buffer[position] != rune('L') { goto l22 } position++ } l25: { position27, tokenIndex27 := position, tokenIndex if buffer[position] != rune('e') { goto l28 } position++ goto l27 l28: position, tokenIndex = position27, tokenIndex27 if buffer[position] != rune('E') { goto l22 } position++ } l27: { position29, tokenIndex29 := position, tokenIndex if buffer[position] != rune('a') { goto l30 } position++ goto l29 l30: position, tokenIndex = position29, tokenIndex29 if buffer[position] != rune('A') { goto l22 } position++ } l29: { position31, tokenIndex31 := position, tokenIndex if buffer[position] != rune('r') { goto l32 } position++ goto l31 l32: position, tokenIndex = position31, tokenIndex31 if buffer[position] != rune('R') { goto l22 } position++ } l31: { add(ruleAction2, position) } if !_rules[ruleopen]() { goto l22 } if !_rules[rulecol]() { goto l22 } if !_rules[rulecomma]() { goto l22 } if !_rules[ruleargs]() { goto l22 } if !_rules[ruleclose]() { goto l22 } { add(ruleAction3, position) } goto l7 l22: position, tokenIndex = position7, tokenIndex7 { position36, tokenIndex36 := position, tokenIndex if buffer[position] != rune('c') { goto l37 } position++ goto l36 l37: position, tokenIndex = position36, tokenIndex36 if buffer[position] != rune('C') { goto l35 } position++ } l36: { position38, tokenIndex38 := position, tokenIndex if buffer[position] != rune('l') { goto l39 } position++ goto l38 l39: position, tokenIndex = position38, tokenIndex38 if buffer[position] != rune('L') { goto l35 } position++ } l38: { position40, tokenIndex40 := position, tokenIndex if buffer[position] != rune('e') { goto l41 } position++ goto l40 l41: position, tokenIndex = position40, tokenIndex40 if buffer[position] != rune('E') { goto l35 } position++ } l40: { position42, tokenIndex42 := position, tokenIndex if buffer[position] != rune('a') { goto l43 } position++ goto l42 l43: position, tokenIndex = position42, tokenIndex42 if buffer[position] != rune('A') { goto l35 } position++ } l42: { position44, tokenIndex44 := position, tokenIndex if buffer[position] != rune('r') { goto l45 } position++ goto l44 l45: position, tokenIndex = position44, tokenIndex44 if buffer[position] != rune('R') { goto l35 } position++ } l44: { position46, tokenIndex46 := position, tokenIndex if buffer[position] != rune('r') { goto l47 } position++ goto l46 l47: position, tokenIndex = position46, tokenIndex46 if buffer[position] != rune('R') { goto l35 } position++ } l46: { position48, tokenIndex48 := position, tokenIndex if buffer[position] != rune('o') { goto l49 } position++ goto l48 l49: position, tokenIndex = position48, tokenIndex48 if buffer[position] != rune('O') { goto l35 } position++ } l48: { position50, tokenIndex50 := position, tokenIndex if buffer[position] != rune('w') { goto l51 } position++ goto l50 l51: position, tokenIndex = position50, tokenIndex50 if buffer[position] != rune('W') { goto l35 } position++ } l50: { add(ruleAction4, position) } if !_rules[ruleopen]() { goto l35 } if !_rules[rulearg]() { goto l35 } if !_rules[ruleclose]() { goto l35 } { add(ruleAction5, position) } goto l7 l35: position, tokenIndex = position7, tokenIndex7 { position55, tokenIndex55 := position, tokenIndex if buffer[position] != rune('s') { goto l56 } position++ goto l55 l56: position, tokenIndex = position55, tokenIndex55 if buffer[position] != rune('S') { goto l54 } position++ } l55: { position57, tokenIndex57 := position, tokenIndex if buffer[position] != rune('t') { goto l58 } position++ goto l57 l58: position, tokenIndex = position57, tokenIndex57 if buffer[position] != rune('T') { goto l54 } position++ } l57: { position59, tokenIndex59 := position, tokenIndex if buffer[position] != rune('o') { goto l60 } position++ goto l59 l60: position, tokenIndex = position59, tokenIndex59 if buffer[position] != rune('O') { goto l54 } position++ } l59: { position61, tokenIndex61 := position, tokenIndex if buffer[position] != rune('r') { goto l62 } position++ goto l61 l62: position, tokenIndex = position61, tokenIndex61 if buffer[position] != rune('R') { goto l54 } position++ } l61: { position63, tokenIndex63 := position, tokenIndex if buffer[position] != rune('e') { goto l64 } position++ goto l63 l64: position, tokenIndex = position63, tokenIndex63 if buffer[position] != rune('E') { goto l54 } position++ } l63: { add(ruleAction6, position) } if !_rules[ruleopen]() { goto l54 } if !_rules[ruleCall]() { goto l54 } if !_rules[rulecomma]() { goto l54 } if !_rules[rulearg]() { goto l54 } if !_rules[ruleclose]() { goto l54 } { add(ruleAction7, position) } goto l7 l54: position, tokenIndex = position7, tokenIndex7 { position68, tokenIndex68 := position, tokenIndex if buffer[position] != rune('t') { goto l69 } position++ goto l68 l69: position, tokenIndex = position68, tokenIndex68 if buffer[position] != rune('T') { goto l67 } position++ } l68: { position70, tokenIndex70 := position, tokenIndex if buffer[position] != rune('o') { goto l71 } position++ goto l70 l71: position, tokenIndex = position70, tokenIndex70 if buffer[position] != rune('O') { goto l67 } position++ } l70: { position72, tokenIndex72 := position, tokenIndex if buffer[position] != rune('p') { goto l73 } position++ goto l72 l73: position, tokenIndex = position72, tokenIndex72 if buffer[position] != rune('P') { goto l67 } position++ } l72: { position74, tokenIndex74 := position, tokenIndex if buffer[position] != rune('n') { goto l75 } position++ goto l74 l75: position, tokenIndex = position74, tokenIndex74 if buffer[position] != rune('N') { goto l67 } position++ } l74: { add(ruleAction8, position) } if !_rules[ruleopen]() { goto l67 } if !_rules[ruleposfield]() { goto l67 } { position77, tokenIndex77 := position, tokenIndex if !_rules[rulecomma]() { goto l77 } if !_rules[ruleallargs]() { goto l77 } goto l78 l77: position, tokenIndex = position77, tokenIndex77 } l78: if !_rules[ruleclose]() { goto l67 } { add(ruleAction9, position) } goto l7 l67: position, tokenIndex = position7, tokenIndex7 { position81, tokenIndex81 := position, tokenIndex if buffer[position] != rune('t') { goto l82 } position++ goto l81 l82: position, tokenIndex = position81, tokenIndex81 if buffer[position] != rune('T') { goto l80 } position++ } l81: { position83, tokenIndex83 := position, tokenIndex if buffer[position] != rune('o') { goto l84 } position++ goto l83 l84: position, tokenIndex = position83, tokenIndex83 if buffer[position] != rune('O') { goto l80 } position++ } l83: { position85, tokenIndex85 := position, tokenIndex if buffer[position] != rune('p') { goto l86 } position++ goto l85 l86: position, tokenIndex = position85, tokenIndex85 if buffer[position] != rune('P') { goto l80 } position++ } l85: { position87, tokenIndex87 := position, tokenIndex if buffer[position] != rune('k') { goto l88 } position++ goto l87 l88: position, tokenIndex = position87, tokenIndex87 if buffer[position] != rune('K') { goto l80 } position++ } l87: { add(ruleAction10, position) } if !_rules[ruleopen]() { goto l80 } if !_rules[ruleposfield]() { goto l80 } { position90, tokenIndex90 := position, tokenIndex if !_rules[rulecomma]() { goto l90 } if !_rules[ruleallargs]() { goto l90 } goto l91 l90: position, tokenIndex = position90, tokenIndex90 } l91: if !_rules[ruleclose]() { goto l80 } { add(ruleAction11, position) } goto l7 l80: position, tokenIndex = position7, tokenIndex7 { position94, tokenIndex94 := position, tokenIndex if buffer[position] != rune('p') { goto l95 } position++ goto l94 l95: position, tokenIndex = position94, tokenIndex94 if buffer[position] != rune('P') { goto l93 } position++ } l94: { position96, tokenIndex96 := position, tokenIndex if buffer[position] != rune('e') { goto l97 } position++ goto l96 l97: position, tokenIndex = position96, tokenIndex96 if buffer[position] != rune('E') { goto l93 } position++ } l96: { position98, tokenIndex98 := position, tokenIndex if buffer[position] != rune('r') { goto l99 } position++ goto l98 l99: position, tokenIndex = position98, tokenIndex98 if buffer[position] != rune('R') { goto l93 } position++ } l98: { position100, tokenIndex100 := position, tokenIndex if buffer[position] != rune('c') { goto l101 } position++ goto l100 l101: position, tokenIndex = position100, tokenIndex100 if buffer[position] != rune('C') { goto l93 } position++ } l100: { position102, tokenIndex102 := position, tokenIndex if buffer[position] != rune('e') { goto l103 } position++ goto l102 l103: position, tokenIndex = position102, tokenIndex102 if buffer[position] != rune('E') { goto l93 } position++ } l102: { position104, tokenIndex104 := position, tokenIndex if buffer[position] != rune('n') { goto l105 } position++ goto l104 l105: position, tokenIndex = position104, tokenIndex104 if buffer[position] != rune('N') { goto l93 } position++ } l104: { position106, tokenIndex106 := position, tokenIndex if buffer[position] != rune('t') { goto l107 } position++ goto l106 l107: position, tokenIndex = position106, tokenIndex106 if buffer[position] != rune('T') { goto l93 } position++ } l106: { position108, tokenIndex108 := position, tokenIndex if buffer[position] != rune('i') { goto l109 } position++ goto l108 l109: position, tokenIndex = position108, tokenIndex108 if buffer[position] != rune('I') { goto l93 } position++ } l108: { position110, tokenIndex110 := position, tokenIndex if buffer[position] != rune('l') { goto l111 } position++ goto l110 l111: position, tokenIndex = position110, tokenIndex110 if buffer[position] != rune('L') { goto l93 } position++ } l110: { position112, tokenIndex112 := position, tokenIndex if buffer[position] != rune('e') { goto l113 } position++ goto l112 l113: position, tokenIndex = position112, tokenIndex112 if buffer[position] != rune('E') { goto l93 } position++ } l112: { add(ruleAction12, position) } if !_rules[ruleopen]() { goto l93 } if !_rules[ruleposfield]() { goto l93 } { position115, tokenIndex115 := position, tokenIndex if !_rules[rulecomma]() { goto l115 } if !_rules[ruleallargs]() { goto l115 } goto l116 l115: position, tokenIndex = position115, tokenIndex115 } l116: if !_rules[ruleclose]() { goto l93 } { add(ruleAction13, position) } goto l7 l93: position, tokenIndex = position7, tokenIndex7 { position119, tokenIndex119 := position, tokenIndex if buffer[position] != rune('r') { goto l120 } position++ goto l119 l120: position, tokenIndex = position119, tokenIndex119 if buffer[position] != rune('R') { goto l118 } position++ } l119: { position121, tokenIndex121 := position, tokenIndex if buffer[position] != rune('o') { goto l122 } position++ goto l121 l122: position, tokenIndex = position121, tokenIndex121 if buffer[position] != rune('O') { goto l118 } position++ } l121: { position123, tokenIndex123 := position, tokenIndex if buffer[position] != rune('w') { goto l124 } position++ goto l123 l124: position, tokenIndex = position123, tokenIndex123 if buffer[position] != rune('W') { goto l118 } position++ } l123: { position125, tokenIndex125 := position, tokenIndex if buffer[position] != rune('s') { goto l126 } position++ goto l125 l126: position, tokenIndex = position125, tokenIndex125 if buffer[position] != rune('S') { goto l118 } position++ } l125: { add(ruleAction14, position) } if !_rules[ruleopen]() { goto l118 } if !_rules[ruleposfield]() { goto l118 } { position128, tokenIndex128 := position, tokenIndex if !_rules[rulecomma]() { goto l128 } if !_rules[ruleallargs]() { goto l128 } goto l129 l128: position, tokenIndex = position128, tokenIndex128 } l129: if !_rules[ruleclose]() { goto l118 } { add(ruleAction15, position) } goto l7 l118: position, tokenIndex = position7, tokenIndex7 { position132, tokenIndex132 := position, tokenIndex if buffer[position] != rune('m') { goto l133 } position++ goto l132 l133: position, tokenIndex = position132, tokenIndex132 if buffer[position] != rune('M') { goto l131 } position++ } l132: { position134, tokenIndex134 := position, tokenIndex if buffer[position] != rune('i') { goto l135 } position++ goto l134 l135: position, tokenIndex = position134, tokenIndex134 if buffer[position] != rune('I') { goto l131 } position++ } l134: { position136, tokenIndex136 := position, tokenIndex if buffer[position] != rune('n') { goto l137 } position++ goto l136 l137: position, tokenIndex = position136, tokenIndex136 if buffer[position] != rune('N') { goto l131 } position++ } l136: { add(ruleAction16, position) } if !_rules[ruleopen]() { goto l131 } if !_rules[ruleposfield]() { goto l131 } { position139, tokenIndex139 := position, tokenIndex if !_rules[rulecomma]() { goto l139 } if !_rules[ruleallargs]() { goto l139 } goto l140 l139: position, tokenIndex = position139, tokenIndex139 } l140: if !_rules[ruleclose]() { goto l131 } { add(ruleAction17, position) } goto l7 l131: position, tokenIndex = position7, tokenIndex7 { position143, tokenIndex143 := position, tokenIndex if buffer[position] != rune('m') { goto l144 } position++ goto l143 l144: position, tokenIndex = position143, tokenIndex143 if buffer[position] != rune('M') { goto l142 } position++ } l143: { position145, tokenIndex145 := position, tokenIndex if buffer[position] != rune('a') { goto l146 } position++ goto l145 l146: position, tokenIndex = position145, tokenIndex145 if buffer[position] != rune('A') { goto l142 } position++ } l145: { position147, tokenIndex147 := position, tokenIndex if buffer[position] != rune('x') { goto l148 } position++ goto l147 l148: position, tokenIndex = position147, tokenIndex147 if buffer[position] != rune('X') { goto l142 } position++ } l147: { add(ruleAction18, position) } if !_rules[ruleopen]() { goto l142 } if !_rules[ruleposfield]() { goto l142 } { position150, tokenIndex150 := position, tokenIndex if !_rules[rulecomma]() { goto l150 } if !_rules[ruleallargs]() { goto l150 } goto l151 l150: position, tokenIndex = position150, tokenIndex150 } l151: if !_rules[ruleclose]() { goto l142 } { add(ruleAction19, position) } goto l7 l142: position, tokenIndex = position7, tokenIndex7 { position154, tokenIndex154 := position, tokenIndex if buffer[position] != rune('s') { goto l155 } position++ goto l154 l155: position, tokenIndex = position154, tokenIndex154 if buffer[position] != rune('S') { goto l153 } position++ } l154: { position156, tokenIndex156 := position, tokenIndex if buffer[position] != rune('u') { goto l157 } position++ goto l156 l157: position, tokenIndex = position156, tokenIndex156 if buffer[position] != rune('U') { goto l153 } position++ } l156: { position158, tokenIndex158 := position, tokenIndex if buffer[position] != rune('m') { goto l159 } position++ goto l158 l159: position, tokenIndex = position158, tokenIndex158 if buffer[position] != rune('M') { goto l153 } position++ } l158: { add(ruleAction20, position) } if !_rules[ruleopen]() { goto l153 } if !_rules[ruleposfield]() { goto l153 } { position161, tokenIndex161 := position, tokenIndex if !_rules[rulecomma]() { goto l161 } if !_rules[ruleallargs]() { goto l161 } goto l162 l161: position, tokenIndex = position161, tokenIndex161 } l162: if !_rules[ruleclose]() { goto l153 } { add(ruleAction21, position) } goto l7 l153: position, tokenIndex = position7, tokenIndex7 { position165, tokenIndex165 := position, tokenIndex if buffer[position] != rune('r') { goto l166 } position++ goto l165 l166: position, tokenIndex = position165, tokenIndex165 if buffer[position] != rune('R') { goto l164 } position++ } l165: { position167, tokenIndex167 := position, tokenIndex if buffer[position] != rune('a') { goto l168 } position++ goto l167 l168: position, tokenIndex = position167, tokenIndex167 if buffer[position] != rune('A') { goto l164 } position++ } l167: { position169, tokenIndex169 := position, tokenIndex if buffer[position] != rune('n') { goto l170 } position++ goto l169 l170: position, tokenIndex = position169, tokenIndex169 if buffer[position] != rune('N') { goto l164 } position++ } l169: { position171, tokenIndex171 := position, tokenIndex if buffer[position] != rune('g') { goto l172 } position++ goto l171 l172: position, tokenIndex = position171, tokenIndex171 if buffer[position] != rune('G') { goto l164 } position++ } l171: { position173, tokenIndex173 := position, tokenIndex if buffer[position] != rune('e') { goto l174 } position++ goto l173 l174: position, tokenIndex = position173, tokenIndex173 if buffer[position] != rune('E') { goto l164 } position++ } l173: { add(ruleAction22, position) } if !_rules[ruleopen]() { goto l164 } if !_rules[rulefield]() { goto l164 } if !_rules[ruleeq]() { goto l164 } if !_rules[rulevalue]() { goto l164 } if !_rules[rulecomma]() { goto l164 } { position176, tokenIndex176 := position, tokenIndex if buffer[position] != rune('f') { goto l176 } position++ if buffer[position] != rune('r') { goto l176 } position++ if buffer[position] != rune('o') { goto l176 } position++ if buffer[position] != rune('m') { goto l176 } position++ if buffer[position] != rune('=') { goto l176 } position++ goto l177 l176: position, tokenIndex = position176, tokenIndex176 } l177: { add(ruleAction23, position) } if !_rules[ruletimefmt]() { goto l164 } { add(ruleAction24, position) } if !_rules[rulecomma]() { goto l164 } { position180, tokenIndex180 := position, tokenIndex if buffer[position] != rune('t') { goto l180 } position++ if buffer[position] != rune('o') { goto l180 } position++ if buffer[position] != rune('=') { goto l180 } position++ goto l181 l180: position, tokenIndex = position180, tokenIndex180 } l181: if !_rules[rulesp]() { goto l164 } { add(ruleAction25, position) } if !_rules[ruletimefmt]() { goto l164 } { add(ruleAction26, position) } if !_rules[ruleclose]() { goto l164 } { add(ruleAction27, position) } goto l7 l164: position, tokenIndex = position7, tokenIndex7 { position185 := position if !_rules[ruleIDENT]() { goto l5 } add(rulePegText, position185) } { add(ruleAction28, position) } if !_rules[ruleopen]() { goto l5 } if !_rules[ruleallargs]() { goto l5 } { position187, tokenIndex187 := position, tokenIndex if !_rules[rulecomma]() { goto l187 } goto l188 l187: position, tokenIndex = position187, tokenIndex187 } l188: if !_rules[ruleclose]() { goto l5 } { add(ruleAction29, position) } } l7: add(ruleCall, position6) } return true l5: position, tokenIndex = position5, tokenIndex5 return false }, /* 2 allargs <- <((Call (comma Call)* (comma args)?) / args / sp)> */ func() bool { position190, tokenIndex190 := position, tokenIndex { position191 := position { position192, tokenIndex192 := position, tokenIndex if !_rules[ruleCall]() { goto l193 } l194: { position195, tokenIndex195 := position, tokenIndex if !_rules[rulecomma]() { goto l195 } if !_rules[ruleCall]() { goto l195 } goto l194 l195: position, tokenIndex = position195, tokenIndex195 } { position196, tokenIndex196 := position, tokenIndex if !_rules[rulecomma]() { goto l196 } if !_rules[ruleargs]() { goto l196 } goto l197 l196: position, tokenIndex = position196, tokenIndex196 } l197: goto l192 l193: position, tokenIndex = position192, tokenIndex192 if !_rules[ruleargs]() { goto l198 } goto l192 l198: position, tokenIndex = position192, tokenIndex192 if !_rules[rulesp]() { goto l190 } } l192: add(ruleallargs, position191) } return true l190: position, tokenIndex = position190, tokenIndex190 return false }, /* 3 args <- <(arg (comma args)? sp)> */ func() bool { position199, tokenIndex199 := position, tokenIndex { position200 := position if !_rules[rulearg]() { goto l199 } { position201, tokenIndex201 := position, tokenIndex if !_rules[rulecomma]() { goto l201 } if !_rules[ruleargs]() { goto l201 } goto l202 l201: position, tokenIndex = position201, tokenIndex201 } l202: if !_rules[rulesp]() { goto l199 } add(ruleargs, position200) } return true l199: position, tokenIndex = position199, tokenIndex199 return false }, /* 4 arg <- <((field eq value) / (field sp COND sp value) / conditional)> */ func() bool { position203, tokenIndex203 := position, tokenIndex { position204 := position { position205, tokenIndex205 := position, tokenIndex if !_rules[rulefield]() { goto l206 } if !_rules[ruleeq]() { goto l206 } if !_rules[rulevalue]() { goto l206 } goto l205 l206: position, tokenIndex = position205, tokenIndex205 if !_rules[rulefield]() { goto l207 } if !_rules[rulesp]() { goto l207 } { position208 := position { position209, tokenIndex209 := position, tokenIndex if buffer[position] != rune('>') { goto l210 } position++ if buffer[position] != rune('<') { goto l210 } position++ { add(ruleAction30, position) } goto l209 l210: position, tokenIndex = position209, tokenIndex209 if buffer[position] != rune('<') { goto l212 } position++ if buffer[position] != rune('=') { goto l212 } position++ { add(ruleAction31, position) } goto l209 l212: position, tokenIndex = position209, tokenIndex209 if buffer[position] != rune('>') { goto l214 } position++ if buffer[position] != rune('=') { goto l214 } position++ { add(ruleAction32, position) } goto l209 l214: position, tokenIndex = position209, tokenIndex209 if buffer[position] != rune('=') { goto l216 } position++ if buffer[position] != rune('=') { goto l216 } position++ { add(ruleAction33, position) } goto l209 l216: position, tokenIndex = position209, tokenIndex209 if buffer[position] != rune('!') { goto l218 } position++ if buffer[position] != rune('=') { goto l218 } position++ { add(ruleAction34, position) } goto l209 l218: position, tokenIndex = position209, tokenIndex209 if buffer[position] != rune('<') { goto l220 } position++ { add(ruleAction35, position) } goto l209 l220: position, tokenIndex = position209, tokenIndex209 if buffer[position] != rune('>') { goto l207 } position++ { add(ruleAction36, position) } } l209: add(ruleCOND, position208) } if !_rules[rulesp]() { goto l207 } if !_rules[rulevalue]() { goto l207 } goto l205 l207: position, tokenIndex = position205, tokenIndex205 { position223 := position { add(ruleAction37, position) } if !_rules[rulecondint]() { goto l203 } if !_rules[rulecondLT]() { goto l203 } { position225 := position { position226 := position if !_rules[rulefieldExpr]() { goto l203 } add(rulePegText, position226) } if !_rules[rulesp]() { goto l203 } { add(ruleAction41, position) } add(rulecondfield, position225) } if !_rules[rulecondLT]() { goto l203 } if !_rules[rulecondint]() { goto l203 } { add(ruleAction38, position) } add(ruleconditional, position223) } } l205: add(rulearg, position204) } return true l203: position, tokenIndex = position203, tokenIndex203 return false }, /* 5 COND <- <(('>' '<' Action30) / ('<' '=' Action31) / ('>' '=' Action32) / ('=' '=' Action33) / ('!' '=' Action34) / ('<' Action35) / ('>' Action36))> */ nil, /* 6 conditional <- <(Action37 condint condLT condfield condLT condint Action38)> */ nil, /* 7 condint <- <( sp Action39)> */ func() bool { position231, tokenIndex231 := position, tokenIndex { position232 := position { position233 := position if !_rules[ruledecimal]() { goto l231 } add(rulePegText, position233) } if !_rules[rulesp]() { goto l231 } { add(ruleAction39, position) } add(rulecondint, position232) } return true l231: position, tokenIndex = position231, tokenIndex231 return false }, /* 8 condLT <- <(<(('<' '=') / '<')> sp Action40)> */ func() bool { position235, tokenIndex235 := position, tokenIndex { position236 := position { position237 := position { position238, tokenIndex238 := position, tokenIndex if buffer[position] != rune('<') { goto l239 } position++ if buffer[position] != rune('=') { goto l239 } position++ goto l238 l239: position, tokenIndex = position238, tokenIndex238 if buffer[position] != rune('<') { goto l235 } position++ } l238: add(rulePegText, position237) } if !_rules[rulesp]() { goto l235 } { add(ruleAction40, position) } add(rulecondLT, position236) } return true l235: position, tokenIndex = position235, tokenIndex235 return false }, /* 9 condfield <- <( sp Action41)> */ nil, /* 10 value <- <(item / (lbrack Action42 items rbrack Action43))> */ func() bool { position242, tokenIndex242 := position, tokenIndex { position243 := position { position244, tokenIndex244 := position, tokenIndex if !_rules[ruleitem]() { goto l245 } goto l244 l245: position, tokenIndex = position244, tokenIndex244 { position246 := position if buffer[position] != rune('[') { goto l242 } position++ if !_rules[rulesp]() { goto l242 } add(rulelbrack, position246) } { add(ruleAction42, position) } if !_rules[ruleitems]() { goto l242 } { position248 := position if !_rules[rulesp]() { goto l242 } if buffer[position] != rune(']') { goto l242 } position++ if !_rules[rulesp]() { goto l242 } add(rulerbrack, position248) } { add(ruleAction43, position) } } l244: add(rulevalue, position243) } return true l242: position, tokenIndex = position242, tokenIndex242 return false }, /* 11 items <- <(item (comma items)?)> */ func() bool { position250, tokenIndex250 := position, tokenIndex { position251 := position if !_rules[ruleitem]() { goto l250 } { position252, tokenIndex252 := position, tokenIndex if !_rules[rulecomma]() { goto l252 } if !_rules[ruleitems]() { goto l252 } goto l253 l252: position, tokenIndex = position252, tokenIndex252 } l253: add(ruleitems, position251) } return true l250: position, tokenIndex = position250, tokenIndex250 return false }, /* 12 item <- <(('n' 'u' 'l' 'l' &(comma / close) Action44) / ('t' 'r' 'u' 'e' &(comma / close) Action45) / ('f' 'a' 'l' 's' 'e' &(comma / close) Action46) / (timefmt Action47) / (timestampfmt Action48) / ( Action49) / ( Action50 open allargs comma? close Action51) / (<([a-z] / [A-Z] / [0-9] / '-' / '_' / ':')+> Action52) / (<('"' doublequotedstring '"')> Action53) / (<('\'' singlequotedstring '\'')> Action54))> */ func() bool { position254, tokenIndex254 := position, tokenIndex { position255 := position { position256, tokenIndex256 := position, tokenIndex if buffer[position] != rune('n') { goto l257 } position++ if buffer[position] != rune('u') { goto l257 } position++ if buffer[position] != rune('l') { goto l257 } position++ if buffer[position] != rune('l') { goto l257 } position++ { position258, tokenIndex258 := position, tokenIndex { position259, tokenIndex259 := position, tokenIndex if !_rules[rulecomma]() { goto l260 } goto l259 l260: position, tokenIndex = position259, tokenIndex259 if !_rules[ruleclose]() { goto l257 } } l259: position, tokenIndex = position258, tokenIndex258 } { add(ruleAction44, position) } goto l256 l257: position, tokenIndex = position256, tokenIndex256 if buffer[position] != rune('t') { goto l262 } position++ if buffer[position] != rune('r') { goto l262 } position++ if buffer[position] != rune('u') { goto l262 } position++ if buffer[position] != rune('e') { goto l262 } position++ { position263, tokenIndex263 := position, tokenIndex { position264, tokenIndex264 := position, tokenIndex if !_rules[rulecomma]() { goto l265 } goto l264 l265: position, tokenIndex = position264, tokenIndex264 if !_rules[ruleclose]() { goto l262 } } l264: position, tokenIndex = position263, tokenIndex263 } { add(ruleAction45, position) } goto l256 l262: position, tokenIndex = position256, tokenIndex256 if buffer[position] != rune('f') { goto l267 } position++ if buffer[position] != rune('a') { goto l267 } position++ if buffer[position] != rune('l') { goto l267 } position++ if buffer[position] != rune('s') { goto l267 } position++ if buffer[position] != rune('e') { goto l267 } position++ { position268, tokenIndex268 := position, tokenIndex { position269, tokenIndex269 := position, tokenIndex if !_rules[rulecomma]() { goto l270 } goto l269 l270: position, tokenIndex = position269, tokenIndex269 if !_rules[ruleclose]() { goto l267 } } l269: position, tokenIndex = position268, tokenIndex268 } { add(ruleAction46, position) } goto l256 l267: position, tokenIndex = position256, tokenIndex256 if !_rules[ruletimefmt]() { goto l272 } { add(ruleAction47, position) } goto l256 l272: position, tokenIndex = position256, tokenIndex256 { position275 := position { position276, tokenIndex276 := position, tokenIndex if buffer[position] != rune('"') { goto l277 } position++ { position278 := position if !_rules[ruletimestampbasicfmt]() { goto l277 } add(rulePegText, position278) } if buffer[position] != rune('"') { goto l277 } position++ goto l276 l277: position, tokenIndex = position276, tokenIndex276 if buffer[position] != rune('\'') { goto l279 } position++ { position280 := position if !_rules[ruletimestampbasicfmt]() { goto l279 } add(rulePegText, position280) } if buffer[position] != rune('\'') { goto l279 } position++ goto l276 l279: position, tokenIndex = position276, tokenIndex276 { position281 := position if !_rules[ruletimestampbasicfmt]() { goto l274 } add(rulePegText, position281) } } l276: add(ruletimestampfmt, position275) } { add(ruleAction48, position) } goto l256 l274: position, tokenIndex = position256, tokenIndex256 { position284 := position if !_rules[ruledecimal]() { goto l283 } add(rulePegText, position284) } { add(ruleAction49, position) } goto l256 l283: position, tokenIndex = position256, tokenIndex256 { position287 := position if !_rules[ruleIDENT]() { goto l286 } add(rulePegText, position287) } { add(ruleAction50, position) } if !_rules[ruleopen]() { goto l286 } if !_rules[ruleallargs]() { goto l286 } { position289, tokenIndex289 := position, tokenIndex if !_rules[rulecomma]() { goto l289 } goto l290 l289: position, tokenIndex = position289, tokenIndex289 } l290: if !_rules[ruleclose]() { goto l286 } { add(ruleAction51, position) } goto l256 l286: position, tokenIndex = position256, tokenIndex256 { position293 := position { position296, tokenIndex296 := position, tokenIndex if c := buffer[position]; c < rune('a') || c > rune('z') { goto l297 } position++ goto l296 l297: position, tokenIndex = position296, tokenIndex296 if c := buffer[position]; c < rune('A') || c > rune('Z') { goto l298 } position++ goto l296 l298: position, tokenIndex = position296, tokenIndex296 if c := buffer[position]; c < rune('0') || c > rune('9') { goto l299 } position++ goto l296 l299: position, tokenIndex = position296, tokenIndex296 if buffer[position] != rune('-') { goto l300 } position++ goto l296 l300: position, tokenIndex = position296, tokenIndex296 if buffer[position] != rune('_') { goto l301 } position++ goto l296 l301: position, tokenIndex = position296, tokenIndex296 if buffer[position] != rune(':') { goto l292 } position++ } l296: l294: { position295, tokenIndex295 := position, tokenIndex { position302, tokenIndex302 := position, tokenIndex if c := buffer[position]; c < rune('a') || c > rune('z') { goto l303 } position++ goto l302 l303: position, tokenIndex = position302, tokenIndex302 if c := buffer[position]; c < rune('A') || c > rune('Z') { goto l304 } position++ goto l302 l304: position, tokenIndex = position302, tokenIndex302 if c := buffer[position]; c < rune('0') || c > rune('9') { goto l305 } position++ goto l302 l305: position, tokenIndex = position302, tokenIndex302 if buffer[position] != rune('-') { goto l306 } position++ goto l302 l306: position, tokenIndex = position302, tokenIndex302 if buffer[position] != rune('_') { goto l307 } position++ goto l302 l307: position, tokenIndex = position302, tokenIndex302 if buffer[position] != rune(':') { goto l295 } position++ } l302: goto l294 l295: position, tokenIndex = position295, tokenIndex295 } add(rulePegText, position293) } { add(ruleAction52, position) } goto l256 l292: position, tokenIndex = position256, tokenIndex256 { position310 := position if buffer[position] != rune('"') { goto l309 } position++ if !_rules[ruledoublequotedstring]() { goto l309 } if buffer[position] != rune('"') { goto l309 } position++ add(rulePegText, position310) } { add(ruleAction53, position) } goto l256 l309: position, tokenIndex = position256, tokenIndex256 { position312 := position if buffer[position] != rune('\'') { goto l254 } position++ if !_rules[rulesinglequotedstring]() { goto l254 } if buffer[position] != rune('\'') { goto l254 } position++ add(rulePegText, position312) } { add(ruleAction54, position) } } l256: add(ruleitem, position255) } return true l254: position, tokenIndex = position254, tokenIndex254 return false }, /* 13 doublequotedstring <- <(('\\' '"') / ('\\' '\\') / ('\\' 'n') / ('\\' 't') / (!('"' / '\\') .))*> */ func() bool { { position315 := position l316: { position317, tokenIndex317 := position, tokenIndex { position318, tokenIndex318 := position, tokenIndex if buffer[position] != rune('\\') { goto l319 } position++ if buffer[position] != rune('"') { goto l319 } position++ goto l318 l319: position, tokenIndex = position318, tokenIndex318 if buffer[position] != rune('\\') { goto l320 } position++ if buffer[position] != rune('\\') { goto l320 } position++ goto l318 l320: position, tokenIndex = position318, tokenIndex318 if buffer[position] != rune('\\') { goto l321 } position++ if buffer[position] != rune('n') { goto l321 } position++ goto l318 l321: position, tokenIndex = position318, tokenIndex318 if buffer[position] != rune('\\') { goto l322 } position++ if buffer[position] != rune('t') { goto l322 } position++ goto l318 l322: position, tokenIndex = position318, tokenIndex318 { position323, tokenIndex323 := position, tokenIndex { position324, tokenIndex324 := position, tokenIndex if buffer[position] != rune('"') { goto l325 } position++ goto l324 l325: position, tokenIndex = position324, tokenIndex324 if buffer[position] != rune('\\') { goto l323 } position++ } l324: goto l317 l323: position, tokenIndex = position323, tokenIndex323 } if !matchDot() { goto l317 } } l318: goto l316 l317: position, tokenIndex = position317, tokenIndex317 } add(ruledoublequotedstring, position315) } return true }, /* 14 singlequotedstring <- <(('\\' '\'') / ('\\' '\\') / ('\\' 'n') / ('\\' 't') / (!('\'' / '\\') .))*> */ func() bool { { position327 := position l328: { position329, tokenIndex329 := position, tokenIndex { position330, tokenIndex330 := position, tokenIndex if buffer[position] != rune('\\') { goto l331 } position++ if buffer[position] != rune('\'') { goto l331 } position++ goto l330 l331: position, tokenIndex = position330, tokenIndex330 if buffer[position] != rune('\\') { goto l332 } position++ if buffer[position] != rune('\\') { goto l332 } position++ goto l330 l332: position, tokenIndex = position330, tokenIndex330 if buffer[position] != rune('\\') { goto l333 } position++ if buffer[position] != rune('n') { goto l333 } position++ goto l330 l333: position, tokenIndex = position330, tokenIndex330 if buffer[position] != rune('\\') { goto l334 } position++ if buffer[position] != rune('t') { goto l334 } position++ goto l330 l334: position, tokenIndex = position330, tokenIndex330 { position335, tokenIndex335 := position, tokenIndex { position336, tokenIndex336 := position, tokenIndex if buffer[position] != rune('\'') { goto l337 } position++ goto l336 l337: position, tokenIndex = position336, tokenIndex336 if buffer[position] != rune('\\') { goto l335 } position++ } l336: goto l329 l335: position, tokenIndex = position335, tokenIndex335 } if !matchDot() { goto l329 } } l330: goto l328 l329: position, tokenIndex = position329, tokenIndex329 } add(rulesinglequotedstring, position327) } return true }, /* 15 fieldExpr <- <(([a-z] / [A-Z] / '_') ([a-z] / [A-Z] / [0-9] / '_' / '-')*)> */ func() bool { position338, tokenIndex338 := position, tokenIndex { position339 := position { position340, tokenIndex340 := position, tokenIndex if c := buffer[position]; c < rune('a') || c > rune('z') { goto l341 } position++ goto l340 l341: position, tokenIndex = position340, tokenIndex340 if c := buffer[position]; c < rune('A') || c > rune('Z') { goto l342 } position++ goto l340 l342: position, tokenIndex = position340, tokenIndex340 if buffer[position] != rune('_') { goto l338 } position++ } l340: l343: { position344, tokenIndex344 := position, tokenIndex { position345, tokenIndex345 := position, tokenIndex if c := buffer[position]; c < rune('a') || c > rune('z') { goto l346 } position++ goto l345 l346: position, tokenIndex = position345, tokenIndex345 if c := buffer[position]; c < rune('A') || c > rune('Z') { goto l347 } position++ goto l345 l347: position, tokenIndex = position345, tokenIndex345 if c := buffer[position]; c < rune('0') || c > rune('9') { goto l348 } position++ goto l345 l348: position, tokenIndex = position345, tokenIndex345 if buffer[position] != rune('_') { goto l349 } position++ goto l345 l349: position, tokenIndex = position345, tokenIndex345 if buffer[position] != rune('-') { goto l344 } position++ } l345: goto l343 l344: position, tokenIndex = position344, tokenIndex344 } add(rulefieldExpr, position339) } return true l338: position, tokenIndex = position338, tokenIndex338 return false }, /* 16 field <- <(<(fieldExpr / reserved)> Action55)> */ func() bool { position350, tokenIndex350 := position, tokenIndex { position351 := position { position352 := position { position353, tokenIndex353 := position, tokenIndex if !_rules[rulefieldExpr]() { goto l354 } goto l353 l354: position, tokenIndex = position353, tokenIndex353 { position355 := position { position356, tokenIndex356 := position, tokenIndex if buffer[position] != rune('_') { goto l357 } position++ if buffer[position] != rune('r') { goto l357 } position++ if buffer[position] != rune('o') { goto l357 } position++ if buffer[position] != rune('w') { goto l357 } position++ goto l356 l357: position, tokenIndex = position356, tokenIndex356 if buffer[position] != rune('_') { goto l358 } position++ if buffer[position] != rune('c') { goto l358 } position++ if buffer[position] != rune('o') { goto l358 } position++ if buffer[position] != rune('l') { goto l358 } position++ goto l356 l358: position, tokenIndex = position356, tokenIndex356 if buffer[position] != rune('_') { goto l359 } position++ if buffer[position] != rune('s') { goto l359 } position++ if buffer[position] != rune('t') { goto l359 } position++ if buffer[position] != rune('a') { goto l359 } position++ if buffer[position] != rune('r') { goto l359 } position++ if buffer[position] != rune('t') { goto l359 } position++ goto l356 l359: position, tokenIndex = position356, tokenIndex356 if buffer[position] != rune('_') { goto l360 } position++ if buffer[position] != rune('e') { goto l360 } position++ if buffer[position] != rune('n') { goto l360 } position++ if buffer[position] != rune('d') { goto l360 } position++ goto l356 l360: position, tokenIndex = position356, tokenIndex356 if buffer[position] != rune('_') { goto l361 } position++ if buffer[position] != rune('t') { goto l361 } position++ if buffer[position] != rune('i') { goto l361 } position++ if buffer[position] != rune('m') { goto l361 } position++ if buffer[position] != rune('e') { goto l361 } position++ if buffer[position] != rune('s') { goto l361 } position++ if buffer[position] != rune('t') { goto l361 } position++ if buffer[position] != rune('a') { goto l361 } position++ if buffer[position] != rune('m') { goto l361 } position++ if buffer[position] != rune('p') { goto l361 } position++ goto l356 l361: position, tokenIndex = position356, tokenIndex356 if buffer[position] != rune('_') { goto l350 } position++ if buffer[position] != rune('f') { goto l350 } position++ if buffer[position] != rune('i') { goto l350 } position++ if buffer[position] != rune('e') { goto l350 } position++ if buffer[position] != rune('l') { goto l350 } position++ if buffer[position] != rune('d') { goto l350 } position++ } l356: add(rulereserved, position355) } } l353: add(rulePegText, position352) } { add(ruleAction55, position) } add(rulefield, position351) } return true l350: position, tokenIndex = position350, tokenIndex350 return false }, /* 17 reserved <- <(('_' 'r' 'o' 'w') / ('_' 'c' 'o' 'l') / ('_' 's' 't' 'a' 'r' 't') / ('_' 'e' 'n' 'd') / ('_' 't' 'i' 'm' 'e' 's' 't' 'a' 'm' 'p') / ('_' 'f' 'i' 'e' 'l' 'd'))> */ nil, /* 18 posfield <- <(('f' 'i' 'e' 'l' 'd' '=')? Action56)> */ func() bool { position364, tokenIndex364 := position, tokenIndex { position365 := position { position366, tokenIndex366 := position, tokenIndex if buffer[position] != rune('f') { goto l366 } position++ if buffer[position] != rune('i') { goto l366 } position++ if buffer[position] != rune('e') { goto l366 } position++ if buffer[position] != rune('l') { goto l366 } position++ if buffer[position] != rune('d') { goto l366 } position++ if buffer[position] != rune('=') { goto l366 } position++ goto l367 l366: position, tokenIndex = position366, tokenIndex366 } l367: { position368 := position if !_rules[rulefieldExpr]() { goto l364 } add(rulePegText, position368) } { add(ruleAction56, position) } add(ruleposfield, position365) } return true l364: position, tokenIndex = position364, tokenIndex364 return false }, /* 19 col <- <(( Action57) / (<('\'' singlequotedstring '\'')> Action58) / (<('"' doublequotedstring '"')> Action59))> */ func() bool { position370, tokenIndex370 := position, tokenIndex { position371 := position { position372, tokenIndex372 := position, tokenIndex { position374 := position if !_rules[ruledigits]() { goto l373 } add(rulePegText, position374) } { add(ruleAction57, position) } goto l372 l373: position, tokenIndex = position372, tokenIndex372 { position377 := position if buffer[position] != rune('\'') { goto l376 } position++ if !_rules[rulesinglequotedstring]() { goto l376 } if buffer[position] != rune('\'') { goto l376 } position++ add(rulePegText, position377) } { add(ruleAction58, position) } goto l372 l376: position, tokenIndex = position372, tokenIndex372 { position379 := position if buffer[position] != rune('"') { goto l370 } position++ if !_rules[ruledoublequotedstring]() { goto l370 } if buffer[position] != rune('"') { goto l370 } position++ add(rulePegText, position379) } { add(ruleAction59, position) } } l372: add(rulecol, position371) } return true l370: position, tokenIndex = position370, tokenIndex370 return false }, /* 20 open <- <('(' sp)> */ func() bool { position381, tokenIndex381 := position, tokenIndex { position382 := position if buffer[position] != rune('(') { goto l381 } position++ if !_rules[rulesp]() { goto l381 } add(ruleopen, position382) } return true l381: position, tokenIndex = position381, tokenIndex381 return false }, /* 21 close <- <(sp ')' sp)> */ func() bool { position383, tokenIndex383 := position, tokenIndex { position384 := position if !_rules[rulesp]() { goto l383 } if buffer[position] != rune(')') { goto l383 } position++ if !_rules[rulesp]() { goto l383 } add(ruleclose, position384) } return true l383: position, tokenIndex = position383, tokenIndex383 return false }, /* 22 sp <- <(' ' / '\t' / '\n')*> */ func() bool { { position386 := position l387: { position388, tokenIndex388 := position, tokenIndex { position389, tokenIndex389 := position, tokenIndex if buffer[position] != rune(' ') { goto l390 } position++ goto l389 l390: position, tokenIndex = position389, tokenIndex389 if buffer[position] != rune('\t') { goto l391 } position++ goto l389 l391: position, tokenIndex = position389, tokenIndex389 if buffer[position] != rune('\n') { goto l388 } position++ } l389: goto l387 l388: position, tokenIndex = position388, tokenIndex388 } add(rulesp, position386) } return true }, /* 23 eq <- <(sp '=' sp)> */ func() bool { position392, tokenIndex392 := position, tokenIndex { position393 := position if !_rules[rulesp]() { goto l392 } if buffer[position] != rune('=') { goto l392 } position++ if !_rules[rulesp]() { goto l392 } add(ruleeq, position393) } return true l392: position, tokenIndex = position392, tokenIndex392 return false }, /* 24 comma <- <(sp ',' sp)> */ func() bool { position394, tokenIndex394 := position, tokenIndex { position395 := position if !_rules[rulesp]() { goto l394 } if buffer[position] != rune(',') { goto l394 } position++ if !_rules[rulesp]() { goto l394 } add(rulecomma, position395) } return true l394: position, tokenIndex = position394, tokenIndex394 return false }, /* 25 lbrack <- <('[' sp)> */ nil, /* 26 rbrack <- <(sp ']' sp)> */ nil, /* 27 IDENT <- <(([a-z] / [A-Z]) ([a-z] / [A-Z] / [0-9])*)> */ func() bool { position398, tokenIndex398 := position, tokenIndex { position399 := position { position400, tokenIndex400 := position, tokenIndex if c := buffer[position]; c < rune('a') || c > rune('z') { goto l401 } position++ goto l400 l401: position, tokenIndex = position400, tokenIndex400 if c := buffer[position]; c < rune('A') || c > rune('Z') { goto l398 } position++ } l400: l402: { position403, tokenIndex403 := position, tokenIndex { position404, tokenIndex404 := position, tokenIndex if c := buffer[position]; c < rune('a') || c > rune('z') { goto l405 } position++ goto l404 l405: position, tokenIndex = position404, tokenIndex404 if c := buffer[position]; c < rune('A') || c > rune('Z') { goto l406 } position++ goto l404 l406: position, tokenIndex = position404, tokenIndex404 if c := buffer[position]; c < rune('0') || c > rune('9') { goto l403 } position++ } l404: goto l402 l403: position, tokenIndex = position403, tokenIndex403 } add(ruleIDENT, position399) } return true l398: position, tokenIndex = position398, tokenIndex398 return false }, /* 28 digits <- <[0-9]+> */ func() bool { position407, tokenIndex407 := position, tokenIndex { position408 := position if c := buffer[position]; c < rune('0') || c > rune('9') { goto l407 } position++ l409: { position410, tokenIndex410 := position, tokenIndex if c := buffer[position]; c < rune('0') || c > rune('9') { goto l410 } position++ goto l409 l410: position, tokenIndex = position410, tokenIndex410 } add(ruledigits, position408) } return true l407: position, tokenIndex = position407, tokenIndex407 return false }, /* 29 signedDigits <- <('-'? digits)> */ nil, /* 30 decimal <- <((signedDigits ('.' digits?)?) / ('-'? '.' digits))> */ func() bool { position412, tokenIndex412 := position, tokenIndex { position413 := position { position414, tokenIndex414 := position, tokenIndex { position416 := position { position417, tokenIndex417 := position, tokenIndex if buffer[position] != rune('-') { goto l417 } position++ goto l418 l417: position, tokenIndex = position417, tokenIndex417 } l418: if !_rules[ruledigits]() { goto l415 } add(rulesignedDigits, position416) } { position419, tokenIndex419 := position, tokenIndex if buffer[position] != rune('.') { goto l419 } position++ { position421, tokenIndex421 := position, tokenIndex if !_rules[ruledigits]() { goto l421 } goto l422 l421: position, tokenIndex = position421, tokenIndex421 } l422: goto l420 l419: position, tokenIndex = position419, tokenIndex419 } l420: goto l414 l415: position, tokenIndex = position414, tokenIndex414 { position423, tokenIndex423 := position, tokenIndex if buffer[position] != rune('-') { goto l423 } position++ goto l424 l423: position, tokenIndex = position423, tokenIndex423 } l424: if buffer[position] != rune('.') { goto l412 } position++ if !_rules[ruledigits]() { goto l412 } } l414: add(ruledecimal, position413) } return true l412: position, tokenIndex = position412, tokenIndex412 return false }, /* 31 tz <- <('Z' / ('-' [0-9] [0-9] ':' [0-9] [0-9]) / ('+' [0-9] [0-9] ':' [0-9] [0-9]))> */ func() bool { position425, tokenIndex425 := position, tokenIndex { position426 := position { position427, tokenIndex427 := position, tokenIndex if buffer[position] != rune('Z') { goto l428 } position++ goto l427 l428: position, tokenIndex = position427, tokenIndex427 if buffer[position] != rune('-') { goto l429 } position++ if c := buffer[position]; c < rune('0') || c > rune('9') { goto l429 } position++ if c := buffer[position]; c < rune('0') || c > rune('9') { goto l429 } position++ if buffer[position] != rune(':') { goto l429 } position++ if c := buffer[position]; c < rune('0') || c > rune('9') { goto l429 } position++ if c := buffer[position]; c < rune('0') || c > rune('9') { goto l429 } position++ goto l427 l429: position, tokenIndex = position427, tokenIndex427 if buffer[position] != rune('+') { goto l425 } position++ if c := buffer[position]; c < rune('0') || c > rune('9') { goto l425 } position++ if c := buffer[position]; c < rune('0') || c > rune('9') { goto l425 } position++ if buffer[position] != rune(':') { goto l425 } position++ if c := buffer[position]; c < rune('0') || c > rune('9') { goto l425 } position++ if c := buffer[position]; c < rune('0') || c > rune('9') { goto l425 } position++ } l427: add(ruletz, position426) } return true l425: position, tokenIndex = position425, tokenIndex425 return false }, /* 32 iso8601 <- <([0-9] [0-9] [0-9] [0-9] '-' ('0' / '1') [0-9] '-' [0-3] [0-9] 'T' [0-9] [0-9] ':' [0-9] [0-9] ':' [0-9] [0-9] )> */ nil, /* 33 iso8601nano <- <([0-9] [0-9] [0-9] [0-9] '-' ('0' / '1') [0-9] '-' [0-3] [0-9] 'T' [0-9] [0-9] ':' [0-9] [0-9] ':' [0-9] [0-9] '.' [0-9]+ )> */ nil, /* 34 timestampbasicfmt <- <(iso8601nano / iso8601)> */ func() bool { position432, tokenIndex432 := position, tokenIndex { position433 := position { position434, tokenIndex434 := position, tokenIndex { position436 := position if c := buffer[position]; c < rune('0') || c > rune('9') { goto l435 } position++ if c := buffer[position]; c < rune('0') || c > rune('9') { goto l435 } position++ if c := buffer[position]; c < rune('0') || c > rune('9') { goto l435 } position++ if c := buffer[position]; c < rune('0') || c > rune('9') { goto l435 } position++ if buffer[position] != rune('-') { goto l435 } position++ { position437, tokenIndex437 := position, tokenIndex if buffer[position] != rune('0') { goto l438 } position++ goto l437 l438: position, tokenIndex = position437, tokenIndex437 if buffer[position] != rune('1') { goto l435 } position++ } l437: if c := buffer[position]; c < rune('0') || c > rune('9') { goto l435 } position++ if buffer[position] != rune('-') { goto l435 } position++ if c := buffer[position]; c < rune('0') || c > rune('3') { goto l435 } position++ if c := buffer[position]; c < rune('0') || c > rune('9') { goto l435 } position++ if buffer[position] != rune('T') { goto l435 } position++ if c := buffer[position]; c < rune('0') || c > rune('9') { goto l435 } position++ if c := buffer[position]; c < rune('0') || c > rune('9') { goto l435 } position++ if buffer[position] != rune(':') { goto l435 } position++ if c := buffer[position]; c < rune('0') || c > rune('9') { goto l435 } position++ if c := buffer[position]; c < rune('0') || c > rune('9') { goto l435 } position++ if buffer[position] != rune(':') { goto l435 } position++ if c := buffer[position]; c < rune('0') || c > rune('9') { goto l435 } position++ if c := buffer[position]; c < rune('0') || c > rune('9') { goto l435 } position++ if buffer[position] != rune('.') { goto l435 } position++ if c := buffer[position]; c < rune('0') || c > rune('9') { goto l435 } position++ l439: { position440, tokenIndex440 := position, tokenIndex if c := buffer[position]; c < rune('0') || c > rune('9') { goto l440 } position++ goto l439 l440: position, tokenIndex = position440, tokenIndex440 } { position441 := position if !_rules[ruletz]() { goto l435 } add(rulePegText, position441) } add(ruleiso8601nano, position436) } goto l434 l435: position, tokenIndex = position434, tokenIndex434 { position442 := position if c := buffer[position]; c < rune('0') || c > rune('9') { goto l432 } position++ if c := buffer[position]; c < rune('0') || c > rune('9') { goto l432 } position++ if c := buffer[position]; c < rune('0') || c > rune('9') { goto l432 } position++ if c := buffer[position]; c < rune('0') || c > rune('9') { goto l432 } position++ if buffer[position] != rune('-') { goto l432 } position++ { position443, tokenIndex443 := position, tokenIndex if buffer[position] != rune('0') { goto l444 } position++ goto l443 l444: position, tokenIndex = position443, tokenIndex443 if buffer[position] != rune('1') { goto l432 } position++ } l443: if c := buffer[position]; c < rune('0') || c > rune('9') { goto l432 } position++ if buffer[position] != rune('-') { goto l432 } position++ if c := buffer[position]; c < rune('0') || c > rune('3') { goto l432 } position++ if c := buffer[position]; c < rune('0') || c > rune('9') { goto l432 } position++ if buffer[position] != rune('T') { goto l432 } position++ if c := buffer[position]; c < rune('0') || c > rune('9') { goto l432 } position++ if c := buffer[position]; c < rune('0') || c > rune('9') { goto l432 } position++ if buffer[position] != rune(':') { goto l432 } position++ if c := buffer[position]; c < rune('0') || c > rune('9') { goto l432 } position++ if c := buffer[position]; c < rune('0') || c > rune('9') { goto l432 } position++ if buffer[position] != rune(':') { goto l432 } position++ if c := buffer[position]; c < rune('0') || c > rune('9') { goto l432 } position++ if c := buffer[position]; c < rune('0') || c > rune('9') { goto l432 } position++ { position445 := position if !_rules[ruletz]() { goto l432 } add(rulePegText, position445) } add(ruleiso8601, position442) } } l434: add(ruletimestampbasicfmt, position433) } return true l432: position, tokenIndex = position432, tokenIndex432 return false }, /* 35 timestampfmt <- <(('"' '"') / ('\'' '\'') / )> */ nil, /* 36 timebasicfmt <- <([0-9] [0-9] [0-9] [0-9] '-' ('0' / '1') [0-9] '-' [0-3] [0-9] 'T' [0-9] [0-9] ':' [0-9] [0-9])> */ func() bool { position447, tokenIndex447 := position, tokenIndex { position448 := position if c := buffer[position]; c < rune('0') || c > rune('9') { goto l447 } position++ if c := buffer[position]; c < rune('0') || c > rune('9') { goto l447 } position++ if c := buffer[position]; c < rune('0') || c > rune('9') { goto l447 } position++ if c := buffer[position]; c < rune('0') || c > rune('9') { goto l447 } position++ if buffer[position] != rune('-') { goto l447 } position++ { position449, tokenIndex449 := position, tokenIndex if buffer[position] != rune('0') { goto l450 } position++ goto l449 l450: position, tokenIndex = position449, tokenIndex449 if buffer[position] != rune('1') { goto l447 } position++ } l449: if c := buffer[position]; c < rune('0') || c > rune('9') { goto l447 } position++ if buffer[position] != rune('-') { goto l447 } position++ if c := buffer[position]; c < rune('0') || c > rune('3') { goto l447 } position++ if c := buffer[position]; c < rune('0') || c > rune('9') { goto l447 } position++ if buffer[position] != rune('T') { goto l447 } position++ if c := buffer[position]; c < rune('0') || c > rune('9') { goto l447 } position++ if c := buffer[position]; c < rune('0') || c > rune('9') { goto l447 } position++ if buffer[position] != rune(':') { goto l447 } position++ if c := buffer[position]; c < rune('0') || c > rune('9') { goto l447 } position++ if c := buffer[position]; c < rune('0') || c > rune('9') { goto l447 } position++ add(ruletimebasicfmt, position448) } return true l447: position, tokenIndex = position447, tokenIndex447 return false }, /* 37 timefmt <- <(('"' '"') / ('\'' '\'') / )> */ func() bool { position451, tokenIndex451 := position, tokenIndex { position452 := position { position453, tokenIndex453 := position, tokenIndex if buffer[position] != rune('"') { goto l454 } position++ { position455 := position if !_rules[ruletimebasicfmt]() { goto l454 } add(rulePegText, position455) } if buffer[position] != rune('"') { goto l454 } position++ goto l453 l454: position, tokenIndex = position453, tokenIndex453 if buffer[position] != rune('\'') { goto l456 } position++ { position457 := position if !_rules[ruletimebasicfmt]() { goto l456 } add(rulePegText, position457) } if buffer[position] != rune('\'') { goto l456 } position++ goto l453 l456: position, tokenIndex = position453, tokenIndex453 { position458 := position if !_rules[ruletimebasicfmt]() { goto l451 } add(rulePegText, position458) } } l453: add(ruletimefmt, position452) } return true l451: position, tokenIndex = position451, tokenIndex451 return false }, /* 38 time <- <( Action60)> */ nil, /* 40 Action0 <- <{p.startCall("Set")}> */ nil, /* 41 Action1 <- <{p.endCall()}> */ nil, /* 42 Action2 <- <{p.startCall("Clear")}> */ nil, /* 43 Action3 <- <{p.endCall()}> */ nil, /* 44 Action4 <- <{p.startCall("ClearRow")}> */ nil, /* 45 Action5 <- <{p.endCall()}> */ nil, /* 46 Action6 <- <{p.startCall("Store")}> */ nil, /* 47 Action7 <- <{p.endCall()}> */ nil, /* 48 Action8 <- <{p.startCall("TopN")}> */ nil, /* 49 Action9 <- <{p.endCall()}> */ nil, /* 50 Action10 <- <{p.startCall("TopK")}> */ nil, /* 51 Action11 <- <{p.endCall()}> */ nil, /* 52 Action12 <- <{p.startCall("Percentile")}> */ nil, /* 53 Action13 <- <{p.endCall()}> */ nil, /* 54 Action14 <- <{p.startCall("Rows")}> */ nil, /* 55 Action15 <- <{p.endCall()}> */ nil, /* 56 Action16 <- <{p.startCall("Min")}> */ nil, /* 57 Action17 <- <{p.endCall()}> */ nil, /* 58 Action18 <- <{p.startCall("Max")}> */ nil, /* 59 Action19 <- <{p.endCall()}> */ nil, /* 60 Action20 <- <{p.startCall("Sum")}> */ nil, /* 61 Action21 <- <{p.endCall()}> */ nil, /* 62 Action22 <- <{p.startCall("Range")}> */ nil, /* 63 Action23 <- <{p.addField("from")}> */ nil, /* 64 Action24 <- <{p.addVal(text)}> */ nil, /* 65 Action25 <- <{p.addField("to")}> */ nil, /* 66 Action26 <- <{p.addVal(text)}> */ nil, /* 67 Action27 <- <{p.endCall()}> */ nil, nil, /* 69 Action28 <- <{ p.startCall(text) }> */ nil, /* 70 Action29 <- <{ p.endCall() }> */ nil, /* 71 Action30 <- <{ p.addBTWN() }> */ nil, /* 72 Action31 <- <{ p.addLTE() }> */ nil, /* 73 Action32 <- <{ p.addGTE() }> */ nil, /* 74 Action33 <- <{ p.addEQ() }> */ nil, /* 75 Action34 <- <{ p.addNEQ() }> */ nil, /* 76 Action35 <- <{ p.addLT() }> */ nil, /* 77 Action36 <- <{ p.addGT() }> */ nil, /* 78 Action37 <- <{p.startConditional()}> */ nil, /* 79 Action38 <- <{p.endConditional()}> */ nil, /* 80 Action39 <- <{p.condAdd(text)}> */ nil, /* 81 Action40 <- <{p.condAdd(text)}> */ nil, /* 82 Action41 <- <{p.condAdd(text)}> */ nil, /* 83 Action42 <- <{ p.startList() }> */ nil, /* 84 Action43 <- <{ p.endList() }> */ nil, /* 85 Action44 <- <{ p.addVal(nil) }> */ nil, /* 86 Action45 <- <{ p.addVal(true) }> */ nil, /* 87 Action46 <- <{ p.addVal(false) }> */ nil, /* 88 Action47 <- <{ p.addVal(text) }> */ nil, /* 89 Action48 <- <{ p.addTimestampVal(text) }> */ nil, /* 90 Action49 <- <{ p.addNumVal(text) }> */ nil, /* 91 Action50 <- <{ p.startCall(text) }> */ nil, /* 92 Action51 <- <{ p.addVal(p.endCall()) }> */ nil, /* 93 Action52 <- <{ p.addVal(text) }> */ nil, /* 94 Action53 <- <{ p.addVal(text) }> */ nil, /* 95 Action54 <- <{ p.addVal(text) }> */ nil, /* 96 Action55 <- <{ p.addField(text) }> */ nil, /* 97 Action56 <- <{ p.addPosStr("_field", text) }> */ nil, /* 98 Action57 <- <{p.addPosNum("_col", text)}> */ nil, /* 99 Action58 <- <{p.addPosStr("_col", text)}> */ nil, /* 100 Action59 <- <{p.addPosStr("_col", text)}> */ nil, /* 101 Action60 <- <{p.addPosStr("_timestamp", text)}> */ nil, } p.rules = _rules return nil }