mirror of
https://github.com/featurebasedb/featurebase.git
synced 2026-08-28 10:54:59 +00:00
Attributes are unmaintained and unused. They have become more of a liability than a benefit. This change eliminates them from the codebase. The only user-visible change (assuming that attrs are not used) is that the attrs field will no longer appear in row JSON.
4272 lines
92 KiB
Go
4272 lines
92 KiB
Go
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) / (<IDENT> 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 <- <(<decimal> 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 <- <(<fieldExpr> 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) / (<decimal> Action49) / (<IDENT> 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' '=')? <fieldExpr> 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 <- <((<digits> 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] <tz>)> */
|
|
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]+ <tz>)> */
|
|
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 <- <(('"' <timestampbasicfmt> '"') / ('\'' <timestampbasicfmt> '\'') / <timestampbasicfmt>)> */
|
|
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 <- <(('"' <timebasicfmt> '"') / ('\'' <timebasicfmt> '\'') / <timebasicfmt>)> */
|
|
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 <- <(<timefmt> 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
|
|
}
|