From 9f541e527a404369d86cf7470d1fa921e8130ca7 Mon Sep 17 00:00:00 2001 From: Arpad Ryszka Date: Mon, 8 Jan 2018 22:06:41 +0100 Subject: [PATCH] refactor command options --- cmd/treerack/args.go | 63 -- cmd/treerack/checksyntax.go | 20 +- cmd/treerack/generate.go | 32 +- cmd/treerack/open.go | 38 +- cmd/treerack/options.go | 62 ++ cmd/treerack/parse.go | 40 -- self/self.go | 1152 +++++++++++++++++------------------ 7 files changed, 700 insertions(+), 707 deletions(-) delete mode 100644 cmd/treerack/args.go create mode 100644 cmd/treerack/options.go diff --git a/cmd/treerack/args.go b/cmd/treerack/args.go deleted file mode 100644 index c3df386..0000000 --- a/cmd/treerack/args.go +++ /dev/null @@ -1,63 +0,0 @@ -package main - -import "flag" - -type syntaxOptions struct { - usage string - example string - args []string - positional []string - syntax string - syntaxFile string - flagSet *flag.FlagSet -} - -func initOptions(usage, example string, args []string) *syntaxOptions { - var o syntaxOptions - o.usage = usage - o.example = example - o.args = args - o.flagSet = flag.NewFlagSet("", flag.ContinueOnError) - o.flagSet.Usage = func() {} - o.flagSet.SetOutput(werr) - o.flagSet.StringVar(&o.syntax, "syntax-string", "", syntaxStringUsage) - o.flagSet.StringVar(&o.syntaxFile, "syntax", "", syntaxFileUsage) - return &o -} - -func flagError(fs *flag.FlagSet) { - stderr() - stderr("Options:") - fs.PrintDefaults() -} - -func (o *syntaxOptions) parse() (exit int) { - if err := o.flagSet.Parse(o.args); err != nil { - flagError(o.flagSet) - exit = -1 - } - - o.positional = o.flagSet.Args() - return -} - -func (o *syntaxOptions) help() { - stdout(o.usage) - stdout() - stdout("Options:") - o.flagSet.SetOutput(wout) - o.flagSet.PrintDefaults() - stdout() - stdout(o.example) - stdout() - stdout(docRef) -} - -func (o *syntaxOptions) checkHelp() bool { - if len(o.args) == 0 || o.args[0] != "-help" { - return false - } - - o.help() - return true -} diff --git a/cmd/treerack/checksyntax.go b/cmd/treerack/checksyntax.go index d0e5279..0615c3a 100644 --- a/cmd/treerack/checksyntax.go +++ b/cmd/treerack/checksyntax.go @@ -1,15 +1,27 @@ package main +type checkOptions struct { + command *commandOptions + syntax *fileOptions +} + func checkSyntax(args []string) int { - options := initOptions(checkSyntaxUsage, checkSyntaxExample, args) - if options.checkHelp() { + var o checkOptions + o.command = initOptions(checkSyntaxUsage, checkSyntaxExample, args) + o.syntax = &fileOptions{flagSet: o.command.flagSet} + + o.command.flagSet.StringVar(&o.syntax.inline, "syntax-string", "", syntaxStringUsage) + o.command.flagSet.StringVar(&o.syntax.fileName, "syntax", "", syntaxFileUsage) + + if o.command.checkHelp() { return 0 } - if code := options.parse(); code != 0 { + if code := o.command.parseArgs(); code != 0 { return code } - _, code := openSyntax(options) + o.syntax.positional = o.command.flagSet.Args() + _, code := openSyntax(o.syntax) return code } diff --git a/cmd/treerack/generate.go b/cmd/treerack/generate.go index cd0992a..907809a 100644 --- a/cmd/treerack/generate.go +++ b/cmd/treerack/generate.go @@ -3,35 +3,41 @@ package main import "github.com/aryszka/treerack" type generateOptions struct { - *syntaxOptions + command *commandOptions + syntax *fileOptions packageName string export bool } func generate(args []string) int { - var options generateOptions - options.syntaxOptions = initOptions(generateUsage, generateExample, args) - options.flagSet.BoolVar(&options.export, "export", false, exportUsage) - options.flagSet.StringVar(&options.packageName, "package-name", "", packageNameUsage) + var o generateOptions + o.command = initOptions(generateUsage, generateExample, args) + o.syntax = &fileOptions{flagSet: o.command.flagSet} - if options.checkHelp() { + o.command.flagSet.BoolVar(&o.export, "export", false, exportUsage) + o.command.flagSet.StringVar(&o.packageName, "package-name", "", packageNameUsage) + o.command.flagSet.StringVar(&o.syntax.inline, "syntax-string", "", syntaxStringUsage) + o.command.flagSet.StringVar(&o.syntax.fileName, "syntax", "", syntaxFileUsage) + + if o.command.checkHelp() { return 0 } - if code := options.parse(); code != 0 { + if code := o.command.parseArgs(); code != 0 { return code } - var goptions treerack.GeneratorOptions - goptions.PackageName = options.packageName - goptions.Export = options.export - - s, code := openSyntax(options.syntaxOptions) + o.syntax.positional = o.command.flagSet.Args() + s, code := openSyntax(o.syntax) if code != 0 { return code } - if err := s.Generate(goptions, wout); err != nil { + var g treerack.GeneratorOptions + g.PackageName = o.packageName + g.Export = o.export + + if err := s.Generate(g, wout); err != nil { stderr(err) return -1 } diff --git a/cmd/treerack/open.go b/cmd/treerack/open.go index 85f9dfc..010d697 100644 --- a/cmd/treerack/open.go +++ b/cmd/treerack/open.go @@ -4,12 +4,20 @@ import ( "bytes" "flag" "io" + "io/ioutil" "os" "github.com/aryszka/treerack" "golang.org/x/crypto/ssh/terminal" ) +type fileOptions struct { + inline string + fileName string + positional []string + flagSet *flag.FlagSet +} + func multipleSyntaxesError(fs *flag.FlagSet) { stderr("only one of syntax file or syntax string is allowed") stderr() @@ -24,7 +32,7 @@ func missingSyntaxError(fs *flag.FlagSet) { fs.PrintDefaults() } -func getSource(options *syntaxOptions) (hasInput bool, fileName string, syntax string, code int) { +func getSource(options *fileOptions) (hasInput bool, fileName string, syntax string, code int) { if len(options.positional) > 1 { multipleSyntaxesError(options.flagSet) code = -1 @@ -32,8 +40,8 @@ func getSource(options *syntaxOptions) (hasInput bool, fileName string, syntax s } hasPositional := len(options.positional) == 1 - hasFile := options.syntaxFile != "" - hasSyntax := options.syntax != "" + hasFile := options.fileName != "" + hasSyntax := options.inline != "" var has bool for _, h := range []bool{hasPositional, hasFile, hasSyntax} { @@ -51,10 +59,10 @@ func getSource(options *syntaxOptions) (hasInput bool, fileName string, syntax s fileName = options.positional[0] return case hasFile: - fileName = options.syntaxFile + fileName = options.fileName return case hasSyntax: - syntax = options.syntax + syntax = options.inline return } @@ -69,15 +77,15 @@ func getSource(options *syntaxOptions) (hasInput bool, fileName string, syntax s return } -func openSyntax(options *syntaxOptions) (*treerack.Syntax, int) { +func open(options *fileOptions) (io.ReadCloser, int) { hasInput, fileName, syntax, code := getSource(options) if code != 0 { return nil, code } - var input io.Reader + var r io.ReadCloser if hasInput { - input = rin + r = ioutil.NopCloser(rin) } else if fileName != "" { f, err := os.Open(fileName) if err != nil { @@ -85,10 +93,18 @@ func openSyntax(options *syntaxOptions) (*treerack.Syntax, int) { return nil, -1 } - defer f.Close() - input = f + r = f } else { - input = bytes.NewBufferString(syntax) + r = ioutil.NopCloser(bytes.NewBufferString(syntax)) + } + + return r, 0 +} + +func openSyntax(options *fileOptions) (*treerack.Syntax, int) { + input, code := open(options) + if code != 0 { + return nil, code } s := &treerack.Syntax{} diff --git a/cmd/treerack/options.go b/cmd/treerack/options.go new file mode 100644 index 0000000..5674fa8 --- /dev/null +++ b/cmd/treerack/options.go @@ -0,0 +1,62 @@ +package main + +import "flag" + +type commandOptions struct { + usage string + example string + args []string + flagSet *flag.FlagSet +} + +func initOptions(usage, example string, args []string) *commandOptions { + var o commandOptions + + o.usage = usage + o.example = example + o.args = args + + o.flagSet = flag.NewFlagSet("", flag.ContinueOnError) + o.flagSet.Usage = func() {} + o.flagSet.SetOutput(werr) + + return &o +} + +func (o *commandOptions) flagError() { + stderr() + stderr("Options:") + o.flagSet.PrintDefaults() +} + +func (o *commandOptions) parseArgs() (exit int) { + if err := o.flagSet.Parse(o.args); err != nil { + o.flagError() + exit = -1 + } + + return +} + +func (o *commandOptions) help() { + stdout(o.usage) + stdout() + + stdout("Options:") + o.flagSet.SetOutput(wout) + o.flagSet.PrintDefaults() + + stdout() + stdout(o.example) + stdout() + stdout(docRef) +} + +func (o *commandOptions) checkHelp() bool { + if len(o.args) == 0 || o.args[0] != "-help" { + return false + } + + o.help() + return true +} diff --git a/cmd/treerack/parse.go b/cmd/treerack/parse.go index 140e78e..fc820b8 100644 --- a/cmd/treerack/parse.go +++ b/cmd/treerack/parse.go @@ -1,45 +1,5 @@ package main -import ( - "flag" - "io" -) - -type parseOptions struct { - syntaxOptions - input string - inputFile string - pretty bool - indent string -} - -func flagSetParse(o *parseOptions, output io.Writer) *flag.FlagSet { - fs := flag.NewFlagSet("", flag.ContinueOnError) - fs.Usage = func() {} - fs.SetOutput(output) - fs.StringVar(&o.syntax, "syntax-string", "", syntaxStringUsage) - fs.StringVar(&o.syntaxFile, "syntax", "", syntaxFileUsage) - return fs -} - -func flagErrorParse(fs *flag.FlagSet) { - stderr() - stderr("Options:") - fs.PrintDefaults() -} - -func helpParse() { - stdout(parseUsage) - stdout() - stdout("Options:") - fs := flagSetParse(&parseOptions{}, wout) - fs.PrintDefaults() - stdout() - stdout(parseExample) - stdout() - stdout(docRef) -} - func parse(args []string) int { return 0 } diff --git a/self/self.go b/self/self.go index 34edf98..643b1c5 100644 --- a/self/self.go +++ b/self/self.go @@ -741,598 +741,598 @@ func Parse(r io.Reader) (*Node, error) { var p188 = sequenceParser{id: 188, commit: 32, ranges: [][]int{{0, -1}, {1, 1}, {0, -1}}} var p186 = choiceParser{id: 186, commit: 2} var p185 = choiceParser{id: 185, commit: 70, name: "wsc", generalizations: []int{186}} - var p148 = choiceParser{id: 148, commit: 66, name: "wschar", generalizations: []int{185, 186}} - var p109 = sequenceParser{id: 109, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{148, 185, 186}} - var p52 = charParser{id: 52, chars: []rune{32}} - p109.items = []parser{&p52} - var p24 = sequenceParser{id: 24, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{148, 185, 186}} - var p147 = charParser{id: 147, chars: []rune{9}} - p24.items = []parser{&p147} - var p15 = sequenceParser{id: 15, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{148, 185, 186}} - var p77 = charParser{id: 77, chars: []rune{10}} - p15.items = []parser{&p77} - var p33 = sequenceParser{id: 33, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{148, 185, 186}} - var p37 = charParser{id: 37, chars: []rune{8}} - p33.items = []parser{&p37} - var p45 = sequenceParser{id: 45, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{148, 185, 186}} - var p129 = charParser{id: 129, chars: []rune{12}} - p45.items = []parser{&p129} - var p5 = sequenceParser{id: 5, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{148, 185, 186}} - var p84 = charParser{id: 84, chars: []rune{13}} - p5.items = []parser{&p84} - var p85 = sequenceParser{id: 85, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{148, 185, 186}} - var p25 = charParser{id: 25, chars: []rune{11}} - p85.items = []parser{&p25} - p148.options = []parser{&p109, &p24, &p15, &p33, &p45, &p5, &p85} - var p103 = sequenceParser{id: 103, commit: 72, name: "comment", ranges: [][]int{{1, 1}, {0, -1}, {1, 1}, {0, -1}}, generalizations: []int{185, 186}} - var p110 = choiceParser{id: 110, commit: 74, name: "comment-segment"} - var p34 = sequenceParser{id: 34, commit: 74, name: "line-comment", ranges: [][]int{{1, 1}, {0, -1}, {1, 1}, {0, -1}}, generalizations: []int{110}} - var p53 = sequenceParser{id: 53, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}, {1, 1}, {1, 1}}} - var p17 = charParser{id: 17, chars: []rune{47}} - var p47 = charParser{id: 47, chars: []rune{47}} - p53.items = []parser{&p17, &p47} - var p119 = sequenceParser{id: 119, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var p150 = charParser{id: 150, not: true, chars: []rune{10}} - p119.items = []parser{&p150} - p34.items = []parser{&p53, &p119} - var p73 = sequenceParser{id: 73, commit: 74, name: "block-comment", ranges: [][]int{{1, 1}, {0, -1}, {1, 1}, {1, 1}, {0, -1}, {1, 1}}, generalizations: []int{110}} - var p46 = sequenceParser{id: 46, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}, {1, 1}, {1, 1}}} - var p130 = charParser{id: 130, chars: []rune{47}} - var p101 = charParser{id: 101, chars: []rune{42}} - p46.items = []parser{&p130, &p101} - var p131 = choiceParser{id: 131, commit: 10} - var p161 = sequenceParser{id: 161, commit: 10, ranges: [][]int{{1, 1}, {1, 1}, {1, 1}, {1, 1}}, generalizations: []int{131}} - var p62 = sequenceParser{id: 62, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var p61 = charParser{id: 61, chars: []rune{42}} - p62.items = []parser{&p61} - var p118 = sequenceParser{id: 118, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var p72 = charParser{id: 72, not: true, chars: []rune{47}} - p118.items = []parser{&p72} - p161.items = []parser{&p62, &p118} - var p78 = sequenceParser{id: 78, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{131}} - var p95 = charParser{id: 95, not: true, chars: []rune{42}} - p78.items = []parser{&p95} - p131.options = []parser{&p161, &p78} - var p140 = sequenceParser{id: 140, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}, {1, 1}, {1, 1}}} - var p96 = charParser{id: 96, chars: []rune{42}} - var p16 = charParser{id: 16, chars: []rune{47}} - p140.items = []parser{&p96, &p16} - p73.items = []parser{&p46, &p131, &p140} - p110.options = []parser{&p34, &p73} - var p31 = sequenceParser{id: 31, commit: 10, ranges: [][]int{{0, -1}, {0, 1}, {0, -1}, {1, 1}, {0, -1}, {0, 1}, {0, -1}, {1, 1}}} - var p111 = choiceParser{id: 111, commit: 74, name: "ws-no-nl"} - var p26 = sequenceParser{id: 26, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{111}} - var p182 = charParser{id: 182, chars: []rune{32}} - p26.items = []parser{&p182} - var p124 = sequenceParser{id: 124, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{111}} - var p10 = charParser{id: 10, chars: []rune{9}} - p124.items = []parser{&p10} - var p30 = sequenceParser{id: 30, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{111}} - var p29 = charParser{id: 29, chars: []rune{8}} - p30.items = []parser{&p29} - var p133 = sequenceParser{id: 133, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{111}} - var p40 = charParser{id: 40, chars: []rune{12}} - p133.items = []parser{&p40} - var p102 = sequenceParser{id: 102, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{111}} - var p41 = charParser{id: 41, chars: []rune{13}} - p102.items = []parser{&p41} - var p149 = sequenceParser{id: 149, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{111}} - var p35 = charParser{id: 35, chars: []rune{11}} - p149.items = []parser{&p35} - p111.options = []parser{&p26, &p124, &p30, &p133, &p102, &p149} - var p141 = sequenceParser{id: 141, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var p162 = charParser{id: 162, chars: []rune{10}} - p141.items = []parser{&p162} - p31.items = []parser{&p111, &p141, &p111, &p110} - p103.items = []parser{&p110, &p31} - p185.options = []parser{&p148, &p103} + var p155 = choiceParser{id: 155, commit: 66, name: "wschar", generalizations: []int{185, 186}} + var p97 = sequenceParser{id: 97, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{155, 185, 186}} + var p61 = charParser{id: 61, chars: []rune{32}} + p97.items = []parser{&p61} + var p179 = sequenceParser{id: 179, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{155, 185, 186}} + var p1 = charParser{id: 1, chars: []rune{9}} + p179.items = []parser{&p1} + var p2 = sequenceParser{id: 2, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{155, 185, 186}} + var p119 = charParser{id: 119, chars: []rune{10}} + p2.items = []parser{&p119} + var p120 = sequenceParser{id: 120, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{155, 185, 186}} + var p98 = charParser{id: 98, chars: []rune{8}} + p120.items = []parser{&p98} + var p105 = sequenceParser{id: 105, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{155, 185, 186}} + var p71 = charParser{id: 71, chars: []rune{12}} + p105.items = []parser{&p71} + var p149 = sequenceParser{id: 149, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{155, 185, 186}} + var p139 = charParser{id: 139, chars: []rune{13}} + p149.items = []parser{&p139} + var p99 = sequenceParser{id: 99, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{155, 185, 186}} + var p20 = charParser{id: 20, chars: []rune{11}} + p99.items = []parser{&p20} + p155.options = []parser{&p97, &p179, &p2, &p120, &p105, &p149, &p99} + var p63 = sequenceParser{id: 63, commit: 72, name: "comment", ranges: [][]int{{1, 1}, {0, -1}, {1, 1}, {0, -1}}, generalizations: []int{185, 186}} + var p33 = choiceParser{id: 33, commit: 74, name: "comment-segment"} + var p101 = sequenceParser{id: 101, commit: 74, name: "line-comment", ranges: [][]int{{1, 1}, {0, -1}, {1, 1}, {0, -1}}, generalizations: []int{33}} + var p9 = sequenceParser{id: 9, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}, {1, 1}, {1, 1}}} + var p88 = charParser{id: 88, chars: []rune{47}} + var p164 = charParser{id: 164, chars: []rune{47}} + p9.items = []parser{&p88, &p164} + var p89 = sequenceParser{id: 89, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var p62 = charParser{id: 62, not: true, chars: []rune{10}} + p89.items = []parser{&p62} + p101.items = []parser{&p9, &p89} + var p72 = sequenceParser{id: 72, commit: 74, name: "block-comment", ranges: [][]int{{1, 1}, {0, -1}, {1, 1}, {1, 1}, {0, -1}, {1, 1}}, generalizations: []int{33}} + var p21 = sequenceParser{id: 21, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}, {1, 1}, {1, 1}}} + var p172 = charParser{id: 172, chars: []rune{47}} + var p140 = charParser{id: 140, chars: []rune{42}} + p21.items = []parser{&p172, &p140} + var p27 = choiceParser{id: 27, commit: 10} + var p8 = sequenceParser{id: 8, commit: 10, ranges: [][]int{{1, 1}, {1, 1}, {1, 1}, {1, 1}}, generalizations: []int{27}} + var p7 = sequenceParser{id: 7, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var p141 = charParser{id: 141, chars: []rune{42}} + p7.items = []parser{&p141} + var p22 = sequenceParser{id: 22, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var p3 = charParser{id: 3, not: true, chars: []rune{47}} + p22.items = []parser{&p3} + p8.items = []parser{&p7, &p22} + var p100 = sequenceParser{id: 100, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{27}} + var p76 = charParser{id: 76, not: true, chars: []rune{42}} + p100.items = []parser{&p76} + p27.options = []parser{&p8, &p100} + var p49 = sequenceParser{id: 49, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}, {1, 1}, {1, 1}}} + var p127 = charParser{id: 127, chars: []rune{42}} + var p150 = charParser{id: 150, chars: []rune{47}} + p49.items = []parser{&p127, &p150} + p72.items = []parser{&p21, &p27, &p49} + p33.options = []parser{&p101, &p72} + var p133 = sequenceParser{id: 133, commit: 10, ranges: [][]int{{0, -1}, {0, 1}, {0, -1}, {1, 1}, {0, -1}, {0, 1}, {0, -1}, {1, 1}}} + var p53 = choiceParser{id: 53, commit: 74, name: "ws-no-nl"} + var p10 = sequenceParser{id: 10, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{53}} + var p34 = charParser{id: 34, chars: []rune{32}} + p10.items = []parser{&p34} + var p151 = sequenceParser{id: 151, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{53}} + var p110 = charParser{id: 110, chars: []rune{9}} + p151.items = []parser{&p110} + var p142 = sequenceParser{id: 142, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{53}} + var p102 = charParser{id: 102, chars: []rune{8}} + p142.items = []parser{&p102} + var p152 = sequenceParser{id: 152, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{53}} + var p35 = charParser{id: 35, chars: []rune{12}} + p152.items = []parser{&p35} + var p28 = sequenceParser{id: 28, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{53}} + var p50 = charParser{id: 50, chars: []rune{13}} + p28.items = []parser{&p50} + var p159 = sequenceParser{id: 159, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{53}} + var p23 = charParser{id: 23, chars: []rune{11}} + p159.items = []parser{&p23} + p53.options = []parser{&p10, &p151, &p142, &p152, &p28, &p159} + var p43 = sequenceParser{id: 43, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var p95 = charParser{id: 95, chars: []rune{10}} + p43.items = []parser{&p95} + p133.items = []parser{&p53, &p43, &p53, &p33} + p63.items = []parser{&p33, &p133} + p185.options = []parser{&p155, &p63} p186.options = []parser{&p185} var p187 = sequenceParser{id: 187, commit: 66, name: "syntax:wsroot", ranges: [][]int{{0, 1}, {0, -1}, {0, 1}, {0, 1}}} - var p164 = sequenceParser{id: 164, commit: 2, ranges: [][]int{{1, 1}, {0, -1}}} - var p181 = sequenceParser{id: 181, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var p154 = charParser{id: 154, chars: []rune{59}} - p181.items = []parser{&p154} - var p163 = sequenceParser{id: 163, commit: 2, ranges: [][]int{{0, -1}, {1, 1}}} - p163.items = []parser{&p186, &p181} - p164.items = []parser{&p181, &p163} - var p117 = sequenceParser{id: 117, commit: 66, name: "definitions", ranges: [][]int{{1, 1}, {0, 1}}} - var p18 = sequenceParser{id: 18, commit: 64, name: "definition", ranges: [][]int{{1, 1}, {0, -1}, {1, 1}, {0, -1}, {1, 1}}} - var p114 = sequenceParser{id: 114, commit: 74, name: "definition-name", ranges: [][]int{{1, 1}, {0, -1}, {1, 1}, {0, -1}}} - var p93 = sequenceParser{id: 93, commit: 72, name: "symbol", ranges: [][]int{{1, -1}, {1, -1}}, generalizations: []int{59, 88, 39}} - var p80 = sequenceParser{id: 80, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var p107 = charParser{id: 107, not: true, chars: []rune{92, 32, 10, 9, 8, 12, 13, 11, 47, 46, 91, 93, 34, 123, 125, 94, 43, 42, 63, 124, 40, 41, 58, 61, 59}} - p80.items = []parser{&p107} - p93.items = []parser{&p80} - var p83 = sequenceParser{id: 83, commit: 10, ranges: [][]int{{1, 1}, {1, 1}, {1, 1}, {1, 1}}} - var p71 = sequenceParser{id: 71, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var p70 = charParser{id: 70, chars: []rune{58}} - p71.items = []parser{&p70} - var p4 = choiceParser{id: 4, commit: 66, name: "flag"} - var p56 = sequenceParser{id: 56, commit: 72, name: "alias", allChars: true, ranges: [][]int{{1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}}, generalizations: []int{4}} - var p134 = charParser{id: 134, chars: []rune{97}} - var p64 = charParser{id: 64, chars: []rune{108}} - var p170 = charParser{id: 170, chars: []rune{105}} - var p99 = charParser{id: 99, chars: []rune{97}} - var p123 = charParser{id: 123, chars: []rune{115}} - p56.items = []parser{&p134, &p64, &p170, &p99, &p123} - var p22 = sequenceParser{id: 22, commit: 72, name: "ws", allChars: true, ranges: [][]int{{1, 1}, {1, 1}, {1, 1}, {1, 1}}, generalizations: []int{4}} + var p85 = sequenceParser{id: 85, commit: 2, ranges: [][]int{{1, 1}, {0, -1}}} + var p145 = sequenceParser{id: 145, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var p58 = charParser{id: 58, chars: []rune{59}} + p145.items = []parser{&p58} + var p84 = sequenceParser{id: 84, commit: 2, ranges: [][]int{{0, -1}, {1, 1}}} + p84.items = []parser{&p186, &p145} + p85.items = []parser{&p145, &p84} + var p42 = sequenceParser{id: 42, commit: 66, name: "definitions", ranges: [][]int{{1, 1}, {0, 1}}} + var p4 = sequenceParser{id: 4, commit: 64, name: "definition", ranges: [][]int{{1, 1}, {0, -1}, {1, 1}, {0, -1}, {1, 1}}} + var p138 = sequenceParser{id: 138, commit: 74, name: "definition-name", ranges: [][]int{{1, 1}, {0, -1}, {1, 1}, {0, -1}}} + var p11 = sequenceParser{id: 11, commit: 72, name: "symbol", ranges: [][]int{{1, -1}, {1, -1}}, generalizations: []int{154, 160, 158}} + var p47 = sequenceParser{id: 47, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var p46 = charParser{id: 46, not: true, chars: []rune{92, 32, 10, 9, 8, 12, 13, 11, 47, 46, 91, 93, 34, 123, 125, 94, 43, 42, 63, 124, 40, 41, 58, 61, 59}} + p47.items = []parser{&p46} + p11.items = []parser{&p47} + var p103 = sequenceParser{id: 103, commit: 10, ranges: [][]int{{1, 1}, {1, 1}, {1, 1}, {1, 1}}} + var p26 = sequenceParser{id: 26, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var p19 = charParser{id: 19, chars: []rune{58}} + p26.items = []parser{&p19} + var p39 = choiceParser{id: 39, commit: 66, name: "flag"} + var p96 = sequenceParser{id: 96, commit: 72, name: "alias", allChars: true, ranges: [][]int{{1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}}, generalizations: []int{39}} + var p69 = charParser{id: 69, chars: []rune{97}} + var p114 = charParser{id: 114, chars: []rune{108}} + var p162 = charParser{id: 162, chars: []rune{105}} + var p161 = charParser{id: 161, chars: []rune{97}} + var p137 = charParser{id: 137, chars: []rune{115}} + p96.items = []parser{&p69, &p114, &p162, &p161, &p137} + var p31 = sequenceParser{id: 31, commit: 72, name: "ws", allChars: true, ranges: [][]int{{1, 1}, {1, 1}, {1, 1}, {1, 1}}, generalizations: []int{39}} var p184 = charParser{id: 184, chars: []rune{119}} - var p174 = charParser{id: 174, chars: []rune{115}} - p22.items = []parser{&p184, &p174} - var p57 = sequenceParser{id: 57, commit: 72, name: "nows", allChars: true, ranges: [][]int{{1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}}, generalizations: []int{4}} - var p23 = charParser{id: 23, chars: []rune{110}} - var p135 = charParser{id: 135, chars: []rune{111}} - var p159 = charParser{id: 159, chars: []rune{119}} - var p54 = charParser{id: 54, chars: []rune{115}} - p57.items = []parser{&p23, &p135, &p159, &p54} - var p51 = sequenceParser{id: 51, commit: 72, name: "failpass", allChars: true, ranges: [][]int{{1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}}, generalizations: []int{4}} - var p50 = charParser{id: 50, chars: []rune{102}} - var p60 = charParser{id: 60, chars: []rune{97}} - var p178 = charParser{id: 178, chars: []rune{105}} - var p89 = charParser{id: 89, chars: []rune{108}} - var p69 = charParser{id: 69, chars: []rune{112}} - var p175 = charParser{id: 175, chars: []rune{97}} - var p138 = charParser{id: 138, chars: []rune{115}} - var p113 = charParser{id: 113, chars: []rune{115}} - p51.items = []parser{&p50, &p60, &p178, &p89, &p69, &p175, &p138, &p113} - var p28 = sequenceParser{id: 28, commit: 72, name: "root", allChars: true, ranges: [][]int{{1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}}, generalizations: []int{4}} - var p9 = charParser{id: 9, chars: []rune{114}} - var p100 = charParser{id: 100, chars: []rune{111}} - var p160 = charParser{id: 160, chars: []rune{111}} - var p76 = charParser{id: 76, chars: []rune{116}} - p28.items = []parser{&p9, &p100, &p160, &p76} - p4.options = []parser{&p56, &p22, &p57, &p51, &p28} - p83.items = []parser{&p71, &p4} - p114.items = []parser{&p93, &p83} - var p49 = sequenceParser{id: 49, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var p115 = charParser{id: 115, chars: []rune{115}} + p31.items = []parser{&p184, &p115} + var p83 = sequenceParser{id: 83, commit: 72, name: "nows", allChars: true, ranges: [][]int{{1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}}, generalizations: []int{39}} + var p148 = charParser{id: 148, chars: []rune{110}} + var p38 = charParser{id: 38, chars: []rune{111}} + var p109 = charParser{id: 109, chars: []rune{119}} + var p178 = charParser{id: 178, chars: []rune{115}} + p83.items = []parser{&p148, &p38, &p109, &p178} + var p163 = sequenceParser{id: 163, commit: 72, name: "failpass", allChars: true, ranges: [][]int{{1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}}, generalizations: []int{39}} + var p32 = charParser{id: 32, chars: []rune{102}} + var p74 = charParser{id: 74, chars: []rune{97}} + var p126 = charParser{id: 126, chars: []rune{105}} + var p52 = charParser{id: 52, chars: []rune{108}} + var p5 = charParser{id: 5, chars: []rune{112}} + var p147 = charParser{id: 147, chars: []rune{97}} + var p75 = charParser{id: 75, chars: []rune{115}} + var p6 = charParser{id: 6, chars: []rune{115}} + p163.items = []parser{&p32, &p74, &p126, &p52, &p5, &p147, &p75, &p6} + var p70 = sequenceParser{id: 70, commit: 72, name: "root", allChars: true, ranges: [][]int{{1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}}, generalizations: []int{39}} + var p177 = charParser{id: 177, chars: []rune{114}} + var p16 = charParser{id: 16, chars: []rune{111}} + var p170 = charParser{id: 170, chars: []rune{111}} + var p79 = charParser{id: 79, chars: []rune{116}} + p70.items = []parser{&p177, &p16, &p170, &p79} + p39.options = []parser{&p96, &p31, &p83, &p163, &p70} + p103.items = []parser{&p26, &p39} + p138.items = []parser{&p11, &p103} + var p171 = sequenceParser{id: 171, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} var p132 = charParser{id: 132, chars: []rune{61}} - p49.items = []parser{&p132} - var p59 = choiceParser{id: 59, commit: 66, name: "expression"} - var p136 = choiceParser{id: 136, commit: 66, name: "terminal", generalizations: []int{59, 88, 39}} - var p6 = sequenceParser{id: 6, commit: 72, name: "any-char", allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{136, 59, 88, 39}} - var p104 = charParser{id: 104, chars: []rune{46}} - p6.items = []parser{&p104} - var p75 = sequenceParser{id: 75, commit: 72, name: "char-class", ranges: [][]int{{1, 1}, {0, 1}, {0, -1}, {1, 1}, {1, 1}, {0, 1}, {0, -1}, {1, 1}}, generalizations: []int{136, 59, 88, 39}} - var p86 = sequenceParser{id: 86, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var p105 = charParser{id: 105, chars: []rune{91}} - p86.items = []parser{&p105} - var p79 = sequenceParser{id: 79, commit: 72, name: "class-not", allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var p171 = charParser{id: 171, chars: []rune{94}} - p79.items = []parser{&p171} - var p125 = choiceParser{id: 125, commit: 10} - var p157 = choiceParser{id: 157, commit: 72, name: "class-char", generalizations: []int{125}} - var p7 = sequenceParser{id: 7, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{157, 125}} - var p90 = charParser{id: 90, not: true, chars: []rune{92, 91, 93, 94, 45}} - p7.items = []parser{&p90} - var p173 = sequenceParser{id: 173, commit: 10, ranges: [][]int{{1, 1}, {1, 1}, {1, 1}, {1, 1}}, generalizations: []int{157, 125}} - var p172 = sequenceParser{id: 172, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var p155 = charParser{id: 155, chars: []rune{92}} - p172.items = []parser{&p155} - var p183 = sequenceParser{id: 183, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var p156 = charParser{id: 156, not: true} - p183.items = []parser{&p156} - p173.items = []parser{&p172, &p183} - p157.options = []parser{&p7, &p173} - var p91 = sequenceParser{id: 91, commit: 72, name: "char-range", ranges: [][]int{{1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}}, generalizations: []int{125}} - var p120 = sequenceParser{id: 120, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var p74 = charParser{id: 74, chars: []rune{45}} - p120.items = []parser{&p74} - p91.items = []parser{&p157, &p120, &p157} - p125.options = []parser{&p157, &p91} - var p1 = sequenceParser{id: 1, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var p112 = charParser{id: 112, chars: []rune{93}} - p1.items = []parser{&p112} - p75.items = []parser{&p86, &p79, &p125, &p1} - var p2 = sequenceParser{id: 2, commit: 72, name: "char-sequence", ranges: [][]int{{1, 1}, {0, -1}, {1, 1}, {1, 1}, {0, -1}, {1, 1}}, generalizations: []int{136, 59, 88, 39}} - var p127 = sequenceParser{id: 127, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var p97 = charParser{id: 97, chars: []rune{34}} - p127.items = []parser{&p97} - var p43 = choiceParser{id: 43, commit: 72, name: "sequence-char"} - var p142 = sequenceParser{id: 142, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{43}} - var p92 = charParser{id: 92, not: true, chars: []rune{92, 34}} - p142.items = []parser{&p92} - var p19 = sequenceParser{id: 19, commit: 10, ranges: [][]int{{1, 1}, {1, 1}, {1, 1}, {1, 1}}, generalizations: []int{43}} - var p42 = sequenceParser{id: 42, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var p38 = charParser{id: 38, chars: []rune{92}} - p42.items = []parser{&p38} - var p87 = sequenceParser{id: 87, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var p106 = charParser{id: 106, not: true} - p87.items = []parser{&p106} - p19.items = []parser{&p42, &p87} - p43.options = []parser{&p142, &p19} - var p11 = sequenceParser{id: 11, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var p20 = charParser{id: 20, chars: []rune{34}} - p11.items = []parser{&p20} - p2.items = []parser{&p127, &p43, &p11} - p136.options = []parser{&p6, &p75, &p2} - var p167 = sequenceParser{id: 167, commit: 66, name: "group", ranges: [][]int{{1, 1}, {0, -1}, {1, 1}, {0, -1}, {1, 1}}, generalizations: []int{59, 88, 39}} - var p126 = sequenceParser{id: 126, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var p151 = charParser{id: 151, chars: []rune{40}} - p126.items = []parser{&p151} + p171.items = []parser{&p132} + var p154 = choiceParser{id: 154, commit: 66, name: "expression"} + var p29 = choiceParser{id: 29, commit: 66, name: "terminal", generalizations: []int{154, 160, 158}} + var p44 = sequenceParser{id: 44, commit: 72, name: "any-char", allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{29, 154, 160, 158}} + var p13 = charParser{id: 13, chars: []rune{46}} + p44.items = []parser{&p13} + var p153 = sequenceParser{id: 153, commit: 72, name: "char-class", ranges: [][]int{{1, 1}, {0, 1}, {0, -1}, {1, 1}, {1, 1}, {0, 1}, {0, -1}, {1, 1}}, generalizations: []int{29, 154, 160, 158}} + var p45 = sequenceParser{id: 45, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var p112 = charParser{id: 112, chars: []rune{91}} + p45.items = []parser{&p112} + var p107 = sequenceParser{id: 107, commit: 72, name: "class-not", allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var p106 = charParser{id: 106, chars: []rune{94}} + p107.items = []parser{&p106} + var p77 = choiceParser{id: 77, commit: 10} + var p165 = choiceParser{id: 165, commit: 72, name: "class-char", generalizations: []int{77}} + var p173 = sequenceParser{id: 173, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{165, 77}} + var p24 = charParser{id: 24, not: true, chars: []rune{92, 91, 93, 94, 45}} + p173.items = []parser{&p24} + var p143 = sequenceParser{id: 143, commit: 10, ranges: [][]int{{1, 1}, {1, 1}, {1, 1}, {1, 1}}, generalizations: []int{165, 77}} + var p111 = sequenceParser{id: 111, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var p180 = charParser{id: 180, chars: []rune{92}} + p111.items = []parser{&p180} + var p25 = sequenceParser{id: 25, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var p146 = charParser{id: 146, not: true} + p25.items = []parser{&p146} + p143.items = []parser{&p111, &p25} + p165.options = []parser{&p173, &p143} + var p181 = sequenceParser{id: 181, commit: 72, name: "char-range", ranges: [][]int{{1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}}, generalizations: []int{77}} + var p80 = sequenceParser{id: 80, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var p156 = charParser{id: 156, chars: []rune{45}} + p80.items = []parser{&p156} + p181.items = []parser{&p165, &p80, &p165} + p77.options = []parser{&p165, &p181} + var p174 = sequenceParser{id: 174, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var p14 = charParser{id: 14, chars: []rune{93}} + p174.items = []parser{&p14} + p153.items = []parser{&p45, &p107, &p77, &p174} + var p59 = sequenceParser{id: 59, commit: 72, name: "char-sequence", ranges: [][]int{{1, 1}, {0, -1}, {1, 1}, {1, 1}, {0, -1}, {1, 1}}, generalizations: []int{29, 154, 160, 158}} + var p65 = sequenceParser{id: 65, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var p91 = charParser{id: 91, chars: []rune{34}} + p65.items = []parser{&p91} + var p90 = choiceParser{id: 90, commit: 72, name: "sequence-char"} + var p166 = sequenceParser{id: 166, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{90}} + var p51 = charParser{id: 51, not: true, chars: []rune{92, 34}} + p166.items = []parser{&p51} + var p54 = sequenceParser{id: 54, commit: 10, ranges: [][]int{{1, 1}, {1, 1}, {1, 1}, {1, 1}}, generalizations: []int{90}} + var p182 = sequenceParser{id: 182, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var p64 = charParser{id: 64, chars: []rune{92}} + p182.items = []parser{&p64} + var p124 = sequenceParser{id: 124, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var p121 = charParser{id: 121, not: true} + p124.items = []parser{&p121} + p54.items = []parser{&p182, &p124} + p90.options = []parser{&p166, &p54} + var p175 = sequenceParser{id: 175, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var p66 = charParser{id: 66, chars: []rune{34}} + p175.items = []parser{&p66} + p59.items = []parser{&p65, &p90, &p175} + p29.options = []parser{&p44, &p153, &p59} + var p55 = sequenceParser{id: 55, commit: 66, name: "group", ranges: [][]int{{1, 1}, {0, -1}, {1, 1}, {0, -1}, {1, 1}}, generalizations: []int{154, 160, 158}} + var p92 = sequenceParser{id: 92, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var p167 = charParser{id: 167, chars: []rune{40}} + p92.items = []parser{&p167} var p12 = sequenceParser{id: 12, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var p176 = charParser{id: 176, chars: []rune{41}} - p12.items = []parser{&p176} - p167.items = []parser{&p126, &p186, &p59, &p186, &p12} - var p146 = sequenceParser{id: 146, commit: 64, name: "sequence", ranges: [][]int{{1, 1}, {0, -1}}, generalizations: []int{59, 39}} - var p68 = sequenceParser{id: 68, commit: 72, name: "item", ranges: [][]int{{1, 1}, {0, 1}, {1, 1}, {0, 1}}} - var p88 = choiceParser{id: 88, commit: 10} - p88.options = []parser{&p136, &p93, &p167} - var p122 = choiceParser{id: 122, commit: 66, name: "quantity"} - var p108 = sequenceParser{id: 108, commit: 64, name: "count-quantifier", ranges: [][]int{{1, 1}, {0, -1}, {1, 1}, {0, -1}, {1, 1}}, generalizations: []int{122}} - var p44 = sequenceParser{id: 44, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var p128 = charParser{id: 128, chars: []rune{123}} - p44.items = []parser{&p128} - var p27 = sequenceParser{id: 27, commit: 64, name: "count", ranges: [][]int{{1, 1}}} - var p98 = sequenceParser{id: 98, commit: 74, name: "number", ranges: [][]int{{1, -1}, {1, -1}}} - var p121 = sequenceParser{id: 121, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var p143 = charParser{id: 143, ranges: [][]rune{{48, 57}}} - p121.items = []parser{&p143} - p98.items = []parser{&p121} - p27.items = []parser{&p98} - var p63 = sequenceParser{id: 63, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var p55 = charParser{id: 55, chars: []rune{125}} - p63.items = []parser{&p55} - p108.items = []parser{&p44, &p186, &p27, &p186, &p63} - var p81 = sequenceParser{id: 81, commit: 64, name: "range-quantifier", ranges: [][]int{{1, 1}, {0, -1}, {0, 1}, {0, -1}, {1, 1}, {0, -1}, {0, 1}, {0, -1}, {1, 1}}, generalizations: []int{122}} - var p21 = sequenceParser{id: 21, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var p8 = charParser{id: 8, chars: []rune{123}} - p21.items = []parser{&p8} - var p65 = sequenceParser{id: 65, commit: 64, name: "range-from", ranges: [][]int{{1, 1}}} - p65.items = []parser{&p98} - var p58 = sequenceParser{id: 58, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var p153 = charParser{id: 153, chars: []rune{44}} - p58.items = []parser{&p153} - var p152 = sequenceParser{id: 152, commit: 64, name: "range-to", ranges: [][]int{{1, 1}}} - p152.items = []parser{&p98} - var p48 = sequenceParser{id: 48, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var p158 = charParser{id: 158, chars: []rune{125}} - p48.items = []parser{&p158} - p81.items = []parser{&p21, &p186, &p65, &p186, &p58, &p186, &p152, &p186, &p48} - var p82 = sequenceParser{id: 82, commit: 72, name: "one-or-more", allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{122}} - var p144 = charParser{id: 144, chars: []rune{43}} - p82.items = []parser{&p144} - var p13 = sequenceParser{id: 13, commit: 72, name: "zero-or-more", allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{122}} - var p137 = charParser{id: 137, chars: []rune{42}} - p13.items = []parser{&p137} - var p3 = sequenceParser{id: 3, commit: 72, name: "zero-or-one", allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{122}} - var p14 = charParser{id: 14, chars: []rune{63}} - p3.items = []parser{&p14} - p122.options = []parser{&p108, &p81, &p82, &p13, &p3} - p68.items = []parser{&p88, &p122} - var p145 = sequenceParser{id: 145, commit: 2, ranges: [][]int{{0, -1}, {1, 1}}} - p145.items = []parser{&p186, &p68} - p146.items = []parser{&p68, &p145} - var p169 = sequenceParser{id: 169, commit: 64, name: "choice", ranges: [][]int{{1, 1}, {0, -1}, {1, 1}, {0, -1}}, generalizations: []int{59}} - var p39 = choiceParser{id: 39, commit: 66, name: "option"} - p39.options = []parser{&p136, &p93, &p167, &p146} - var p177 = sequenceParser{id: 177, commit: 2, ranges: [][]int{{1, 1}, {0, -1}, {1, 1}}} - var p67 = sequenceParser{id: 67, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var p66 = charParser{id: 66, chars: []rune{124}} - p67.items = []parser{&p66} - p177.items = []parser{&p67, &p186, &p39} - var p168 = sequenceParser{id: 168, commit: 2, ranges: [][]int{{0, -1}, {1, 1}}} - p168.items = []parser{&p186, &p177} - p169.items = []parser{&p39, &p186, &p177, &p168} - p59.options = []parser{&p136, &p93, &p167, &p146, &p169} - p18.items = []parser{&p114, &p186, &p49, &p186, &p59} - var p116 = sequenceParser{id: 116, commit: 2, ranges: [][]int{{0, -1}, {1, 1}, {0, -1}}} - var p180 = sequenceParser{id: 180, commit: 2, ranges: [][]int{{1, 1}, {0, -1}, {0, -1}, {1, 1}}} - var p36 = sequenceParser{id: 36, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var p32 = charParser{id: 32, chars: []rune{59}} - p36.items = []parser{&p32} - var p179 = sequenceParser{id: 179, commit: 2, ranges: [][]int{{0, -1}, {1, 1}}} - p179.items = []parser{&p186, &p36} - p180.items = []parser{&p36, &p179, &p186, &p18} - var p115 = sequenceParser{id: 115, commit: 2, ranges: [][]int{{0, -1}, {1, 1}}} - p115.items = []parser{&p186, &p180} - p116.items = []parser{&p186, &p180, &p115} - p117.items = []parser{&p18, &p116} - var p166 = sequenceParser{id: 166, commit: 2, ranges: [][]int{{0, -1}, {1, 1}, {0, -1}}} - var p139 = sequenceParser{id: 139, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var p94 = charParser{id: 94, chars: []rune{59}} - p139.items = []parser{&p94} - var p165 = sequenceParser{id: 165, commit: 2, ranges: [][]int{{0, -1}, {1, 1}}} - p165.items = []parser{&p186, &p139} - p166.items = []parser{&p186, &p139, &p165} - p187.items = []parser{&p164, &p186, &p117, &p166} + var p168 = charParser{id: 168, chars: []rune{41}} + p12.items = []parser{&p168} + p55.items = []parser{&p92, &p186, &p154, &p186, &p12} + var p131 = sequenceParser{id: 131, commit: 64, name: "sequence", ranges: [][]int{{1, 1}, {0, -1}}, generalizations: []int{154, 158}} + var p176 = sequenceParser{id: 176, commit: 72, name: "item", ranges: [][]int{{1, 1}, {0, 1}, {1, 1}, {0, 1}}} + var p160 = choiceParser{id: 160, commit: 10} + p160.options = []parser{&p29, &p11, &p55} + var p48 = choiceParser{id: 48, commit: 66, name: "quantity"} + var p36 = sequenceParser{id: 36, commit: 64, name: "count-quantifier", ranges: [][]int{{1, 1}, {0, -1}, {1, 1}, {0, -1}, {1, 1}}, generalizations: []int{48}} + var p81 = sequenceParser{id: 81, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var p169 = charParser{id: 169, chars: []rune{123}} + p81.items = []parser{&p169} + var p129 = sequenceParser{id: 129, commit: 64, name: "count", ranges: [][]int{{1, 1}}} + var p60 = sequenceParser{id: 60, commit: 74, name: "number", ranges: [][]int{{1, -1}, {1, -1}}} + var p113 = sequenceParser{id: 113, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var p128 = charParser{id: 128, ranges: [][]rune{{48, 57}}} + p113.items = []parser{&p128} + p60.items = []parser{&p113} + p129.items = []parser{&p60} + var p15 = sequenceParser{id: 15, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var p144 = charParser{id: 144, chars: []rune{125}} + p15.items = []parser{&p144} + p36.items = []parser{&p81, &p186, &p129, &p186, &p15} + var p56 = sequenceParser{id: 56, commit: 64, name: "range-quantifier", ranges: [][]int{{1, 1}, {0, -1}, {0, 1}, {0, -1}, {1, 1}, {0, -1}, {0, 1}, {0, -1}, {1, 1}}, generalizations: []int{48}} + var p122 = sequenceParser{id: 122, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var p82 = charParser{id: 82, chars: []rune{123}} + p122.items = []parser{&p82} + var p67 = sequenceParser{id: 67, commit: 64, name: "range-from", ranges: [][]int{{1, 1}}} + p67.items = []parser{&p60} + var p68 = sequenceParser{id: 68, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var p125 = charParser{id: 125, chars: []rune{44}} + p68.items = []parser{&p125} + var p157 = sequenceParser{id: 157, commit: 64, name: "range-to", ranges: [][]int{{1, 1}}} + p157.items = []parser{&p60} + var p135 = sequenceParser{id: 135, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var p134 = charParser{id: 134, chars: []rune{125}} + p135.items = []parser{&p134} + p56.items = []parser{&p122, &p186, &p67, &p186, &p68, &p186, &p157, &p186, &p135} + var p78 = sequenceParser{id: 78, commit: 72, name: "one-or-more", allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{48}} + var p73 = charParser{id: 73, chars: []rune{43}} + p78.items = []parser{&p73} + var p57 = sequenceParser{id: 57, commit: 72, name: "zero-or-more", allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{48}} + var p30 = charParser{id: 30, chars: []rune{42}} + p57.items = []parser{&p30} + var p136 = sequenceParser{id: 136, commit: 72, name: "zero-or-one", allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{48}} + var p108 = charParser{id: 108, chars: []rune{63}} + p136.items = []parser{&p108} + p48.options = []parser{&p36, &p56, &p78, &p57, &p136} + p176.items = []parser{&p160, &p48} + var p130 = sequenceParser{id: 130, commit: 2, ranges: [][]int{{0, -1}, {1, 1}}} + p130.items = []parser{&p186, &p176} + p131.items = []parser{&p176, &p130} + var p94 = sequenceParser{id: 94, commit: 64, name: "choice", ranges: [][]int{{1, 1}, {0, -1}, {1, 1}, {0, -1}}, generalizations: []int{154}} + var p158 = choiceParser{id: 158, commit: 66, name: "option"} + p158.options = []parser{&p29, &p11, &p55, &p131} + var p183 = sequenceParser{id: 183, commit: 2, ranges: [][]int{{1, 1}, {0, -1}, {1, 1}}} + var p18 = sequenceParser{id: 18, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var p37 = charParser{id: 37, chars: []rune{124}} + p18.items = []parser{&p37} + p183.items = []parser{&p18, &p186, &p158} + var p93 = sequenceParser{id: 93, commit: 2, ranges: [][]int{{0, -1}, {1, 1}}} + p93.items = []parser{&p186, &p183} + p94.items = []parser{&p158, &p186, &p183, &p93} + p154.options = []parser{&p29, &p11, &p55, &p131, &p94} + p4.items = []parser{&p138, &p186, &p171, &p186, &p154} + var p41 = sequenceParser{id: 41, commit: 2, ranges: [][]int{{0, -1}, {1, 1}, {0, -1}}} + var p118 = sequenceParser{id: 118, commit: 2, ranges: [][]int{{1, 1}, {0, -1}, {0, -1}, {1, 1}}} + var p17 = sequenceParser{id: 17, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var p116 = charParser{id: 116, chars: []rune{59}} + p17.items = []parser{&p116} + var p117 = sequenceParser{id: 117, commit: 2, ranges: [][]int{{0, -1}, {1, 1}}} + p117.items = []parser{&p186, &p17} + p118.items = []parser{&p17, &p117, &p186, &p4} + var p40 = sequenceParser{id: 40, commit: 2, ranges: [][]int{{0, -1}, {1, 1}}} + p40.items = []parser{&p186, &p118} + p41.items = []parser{&p186, &p118, &p40} + p42.items = []parser{&p4, &p41} + var p87 = sequenceParser{id: 87, commit: 2, ranges: [][]int{{0, -1}, {1, 1}, {0, -1}}} + var p104 = sequenceParser{id: 104, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var p123 = charParser{id: 123, chars: []rune{59}} + p104.items = []parser{&p123} + var p86 = sequenceParser{id: 86, commit: 2, ranges: [][]int{{0, -1}, {1, 1}}} + p86.items = []parser{&p186, &p104} + p87.items = []parser{&p186, &p104, &p86} + p187.items = []parser{&p85, &p186, &p42, &p87} p188.items = []parser{&p186, &p187, &p186} var b188 = sequenceBuilder{id: 188, commit: 32, name: "syntax", ranges: [][]int{{0, -1}, {1, 1}, {0, -1}}} var b186 = choiceBuilder{id: 186, commit: 2} var b185 = choiceBuilder{id: 185, commit: 70} - var b148 = choiceBuilder{id: 148, commit: 66} - var b109 = sequenceBuilder{id: 109, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var b52 = charBuilder{} - b109.items = []builder{&b52} - var b24 = sequenceBuilder{id: 24, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var b147 = charBuilder{} - b24.items = []builder{&b147} - var b15 = sequenceBuilder{id: 15, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var b77 = charBuilder{} - b15.items = []builder{&b77} - var b33 = sequenceBuilder{id: 33, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var b37 = charBuilder{} - b33.items = []builder{&b37} - var b45 = sequenceBuilder{id: 45, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var b129 = charBuilder{} - b45.items = []builder{&b129} - var b5 = sequenceBuilder{id: 5, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var b84 = charBuilder{} - b5.items = []builder{&b84} - var b85 = sequenceBuilder{id: 85, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var b25 = charBuilder{} - b85.items = []builder{&b25} - b148.options = []builder{&b109, &b24, &b15, &b33, &b45, &b5, &b85} - var b103 = sequenceBuilder{id: 103, commit: 72, name: "comment", ranges: [][]int{{1, 1}, {0, -1}, {1, 1}, {0, -1}}} - var b110 = choiceBuilder{id: 110, commit: 74} - var b34 = sequenceBuilder{id: 34, commit: 74, ranges: [][]int{{1, 1}, {0, -1}, {1, 1}, {0, -1}}} - var b53 = sequenceBuilder{id: 53, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}, {1, 1}, {1, 1}}} - var b17 = charBuilder{} - var b47 = charBuilder{} - b53.items = []builder{&b17, &b47} - var b119 = sequenceBuilder{id: 119, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var b150 = charBuilder{} - b119.items = []builder{&b150} - b34.items = []builder{&b53, &b119} - var b73 = sequenceBuilder{id: 73, commit: 74, ranges: [][]int{{1, 1}, {0, -1}, {1, 1}, {1, 1}, {0, -1}, {1, 1}}} - var b46 = sequenceBuilder{id: 46, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}, {1, 1}, {1, 1}}} - var b130 = charBuilder{} - var b101 = charBuilder{} - b46.items = []builder{&b130, &b101} - var b131 = choiceBuilder{id: 131, commit: 10} - var b161 = sequenceBuilder{id: 161, commit: 10, ranges: [][]int{{1, 1}, {1, 1}, {1, 1}, {1, 1}}} - var b62 = sequenceBuilder{id: 62, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b155 = choiceBuilder{id: 155, commit: 66} + var b97 = sequenceBuilder{id: 97, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} var b61 = charBuilder{} - b62.items = []builder{&b61} - var b118 = sequenceBuilder{id: 118, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var b72 = charBuilder{} - b118.items = []builder{&b72} - b161.items = []builder{&b62, &b118} - var b78 = sequenceBuilder{id: 78, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var b95 = charBuilder{} - b78.items = []builder{&b95} - b131.options = []builder{&b161, &b78} - var b140 = sequenceBuilder{id: 140, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}, {1, 1}, {1, 1}}} - var b96 = charBuilder{} - var b16 = charBuilder{} - b140.items = []builder{&b96, &b16} - b73.items = []builder{&b46, &b131, &b140} - b110.options = []builder{&b34, &b73} - var b31 = sequenceBuilder{id: 31, commit: 10, ranges: [][]int{{0, -1}, {0, 1}, {0, -1}, {1, 1}, {0, -1}, {0, 1}, {0, -1}, {1, 1}}} - var b111 = choiceBuilder{id: 111, commit: 74} - var b26 = sequenceBuilder{id: 26, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var b182 = charBuilder{} - b26.items = []builder{&b182} - var b124 = sequenceBuilder{id: 124, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var b10 = charBuilder{} - b124.items = []builder{&b10} - var b30 = sequenceBuilder{id: 30, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var b29 = charBuilder{} - b30.items = []builder{&b29} - var b133 = sequenceBuilder{id: 133, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var b40 = charBuilder{} - b133.items = []builder{&b40} - var b102 = sequenceBuilder{id: 102, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var b41 = charBuilder{} - b102.items = []builder{&b41} + b97.items = []builder{&b61} + var b179 = sequenceBuilder{id: 179, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b1 = charBuilder{} + b179.items = []builder{&b1} + var b2 = sequenceBuilder{id: 2, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b119 = charBuilder{} + b2.items = []builder{&b119} + var b120 = sequenceBuilder{id: 120, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b98 = charBuilder{} + b120.items = []builder{&b98} + var b105 = sequenceBuilder{id: 105, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b71 = charBuilder{} + b105.items = []builder{&b71} var b149 = sequenceBuilder{id: 149, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b139 = charBuilder{} + b149.items = []builder{&b139} + var b99 = sequenceBuilder{id: 99, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b20 = charBuilder{} + b99.items = []builder{&b20} + b155.options = []builder{&b97, &b179, &b2, &b120, &b105, &b149, &b99} + var b63 = sequenceBuilder{id: 63, commit: 72, name: "comment", ranges: [][]int{{1, 1}, {0, -1}, {1, 1}, {0, -1}}} + var b33 = choiceBuilder{id: 33, commit: 74} + var b101 = sequenceBuilder{id: 101, commit: 74, ranges: [][]int{{1, 1}, {0, -1}, {1, 1}, {0, -1}}} + var b9 = sequenceBuilder{id: 9, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}, {1, 1}, {1, 1}}} + var b88 = charBuilder{} + var b164 = charBuilder{} + b9.items = []builder{&b88, &b164} + var b89 = sequenceBuilder{id: 89, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b62 = charBuilder{} + b89.items = []builder{&b62} + b101.items = []builder{&b9, &b89} + var b72 = sequenceBuilder{id: 72, commit: 74, ranges: [][]int{{1, 1}, {0, -1}, {1, 1}, {1, 1}, {0, -1}, {1, 1}}} + var b21 = sequenceBuilder{id: 21, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}, {1, 1}, {1, 1}}} + var b172 = charBuilder{} + var b140 = charBuilder{} + b21.items = []builder{&b172, &b140} + var b27 = choiceBuilder{id: 27, commit: 10} + var b8 = sequenceBuilder{id: 8, commit: 10, ranges: [][]int{{1, 1}, {1, 1}, {1, 1}, {1, 1}}} + var b7 = sequenceBuilder{id: 7, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b141 = charBuilder{} + b7.items = []builder{&b141} + var b22 = sequenceBuilder{id: 22, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b3 = charBuilder{} + b22.items = []builder{&b3} + b8.items = []builder{&b7, &b22} + var b100 = sequenceBuilder{id: 100, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b76 = charBuilder{} + b100.items = []builder{&b76} + b27.options = []builder{&b8, &b100} + var b49 = sequenceBuilder{id: 49, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}, {1, 1}, {1, 1}}} + var b127 = charBuilder{} + var b150 = charBuilder{} + b49.items = []builder{&b127, &b150} + b72.items = []builder{&b21, &b27, &b49} + b33.options = []builder{&b101, &b72} + var b133 = sequenceBuilder{id: 133, commit: 10, ranges: [][]int{{0, -1}, {0, 1}, {0, -1}, {1, 1}, {0, -1}, {0, 1}, {0, -1}, {1, 1}}} + var b53 = choiceBuilder{id: 53, commit: 74} + var b10 = sequenceBuilder{id: 10, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b34 = charBuilder{} + b10.items = []builder{&b34} + var b151 = sequenceBuilder{id: 151, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b110 = charBuilder{} + b151.items = []builder{&b110} + var b142 = sequenceBuilder{id: 142, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b102 = charBuilder{} + b142.items = []builder{&b102} + var b152 = sequenceBuilder{id: 152, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} var b35 = charBuilder{} - b149.items = []builder{&b35} - b111.options = []builder{&b26, &b124, &b30, &b133, &b102, &b149} - var b141 = sequenceBuilder{id: 141, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var b162 = charBuilder{} - b141.items = []builder{&b162} - b31.items = []builder{&b111, &b141, &b111, &b110} - b103.items = []builder{&b110, &b31} - b185.options = []builder{&b148, &b103} + b152.items = []builder{&b35} + var b28 = sequenceBuilder{id: 28, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b50 = charBuilder{} + b28.items = []builder{&b50} + var b159 = sequenceBuilder{id: 159, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b23 = charBuilder{} + b159.items = []builder{&b23} + b53.options = []builder{&b10, &b151, &b142, &b152, &b28, &b159} + var b43 = sequenceBuilder{id: 43, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b95 = charBuilder{} + b43.items = []builder{&b95} + b133.items = []builder{&b53, &b43, &b53, &b33} + b63.items = []builder{&b33, &b133} + b185.options = []builder{&b155, &b63} b186.options = []builder{&b185} var b187 = sequenceBuilder{id: 187, commit: 66, ranges: [][]int{{0, 1}, {0, -1}, {0, 1}, {0, 1}}} - var b164 = sequenceBuilder{id: 164, commit: 2, ranges: [][]int{{1, 1}, {0, -1}}} - var b181 = sequenceBuilder{id: 181, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var b154 = charBuilder{} - b181.items = []builder{&b154} - var b163 = sequenceBuilder{id: 163, commit: 2, ranges: [][]int{{0, -1}, {1, 1}}} - b163.items = []builder{&b186, &b181} - b164.items = []builder{&b181, &b163} - var b117 = sequenceBuilder{id: 117, commit: 66, ranges: [][]int{{1, 1}, {0, 1}}} - var b18 = sequenceBuilder{id: 18, commit: 64, name: "definition", ranges: [][]int{{1, 1}, {0, -1}, {1, 1}, {0, -1}, {1, 1}}} - var b114 = sequenceBuilder{id: 114, commit: 74, ranges: [][]int{{1, 1}, {0, -1}, {1, 1}, {0, -1}}} - var b93 = sequenceBuilder{id: 93, commit: 72, name: "symbol", ranges: [][]int{{1, -1}, {1, -1}}} - var b80 = sequenceBuilder{id: 80, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var b107 = charBuilder{} - b80.items = []builder{&b107} - b93.items = []builder{&b80} - var b83 = sequenceBuilder{id: 83, commit: 10, ranges: [][]int{{1, 1}, {1, 1}, {1, 1}, {1, 1}}} - var b71 = sequenceBuilder{id: 71, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var b70 = charBuilder{} - b71.items = []builder{&b70} - var b4 = choiceBuilder{id: 4, commit: 66} - var b56 = sequenceBuilder{id: 56, commit: 72, name: "alias", allChars: true, ranges: [][]int{{1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}}} - var b134 = charBuilder{} - var b64 = charBuilder{} - var b170 = charBuilder{} - var b99 = charBuilder{} - var b123 = charBuilder{} - b56.items = []builder{&b134, &b64, &b170, &b99, &b123} - var b22 = sequenceBuilder{id: 22, commit: 72, name: "ws", allChars: true, ranges: [][]int{{1, 1}, {1, 1}, {1, 1}, {1, 1}}} - var b184 = charBuilder{} - var b174 = charBuilder{} - b22.items = []builder{&b184, &b174} - var b57 = sequenceBuilder{id: 57, commit: 72, name: "nows", allChars: true, ranges: [][]int{{1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}}} - var b23 = charBuilder{} - var b135 = charBuilder{} - var b159 = charBuilder{} - var b54 = charBuilder{} - b57.items = []builder{&b23, &b135, &b159, &b54} - var b51 = sequenceBuilder{id: 51, commit: 72, name: "failpass", allChars: true, ranges: [][]int{{1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}}} - var b50 = charBuilder{} - var b60 = charBuilder{} - var b178 = charBuilder{} - var b89 = charBuilder{} - var b69 = charBuilder{} - var b175 = charBuilder{} - var b138 = charBuilder{} - var b113 = charBuilder{} - b51.items = []builder{&b50, &b60, &b178, &b89, &b69, &b175, &b138, &b113} - var b28 = sequenceBuilder{id: 28, commit: 72, name: "root", allChars: true, ranges: [][]int{{1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}}} - var b9 = charBuilder{} - var b100 = charBuilder{} - var b160 = charBuilder{} - var b76 = charBuilder{} - b28.items = []builder{&b9, &b100, &b160, &b76} - b4.options = []builder{&b56, &b22, &b57, &b51, &b28} - b83.items = []builder{&b71, &b4} - b114.items = []builder{&b93, &b83} - var b49 = sequenceBuilder{id: 49, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var b132 = charBuilder{} - b49.items = []builder{&b132} - var b59 = choiceBuilder{id: 59, commit: 66} - var b136 = choiceBuilder{id: 136, commit: 66} - var b6 = sequenceBuilder{id: 6, commit: 72, name: "any-char", allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var b104 = charBuilder{} - b6.items = []builder{&b104} - var b75 = sequenceBuilder{id: 75, commit: 72, name: "char-class", ranges: [][]int{{1, 1}, {0, 1}, {0, -1}, {1, 1}, {1, 1}, {0, 1}, {0, -1}, {1, 1}}} - var b86 = sequenceBuilder{id: 86, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var b105 = charBuilder{} - b86.items = []builder{&b105} - var b79 = sequenceBuilder{id: 79, commit: 72, name: "class-not", allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var b171 = charBuilder{} - b79.items = []builder{&b171} - var b125 = choiceBuilder{id: 125, commit: 10} - var b157 = choiceBuilder{id: 157, commit: 72, name: "class-char"} - var b7 = sequenceBuilder{id: 7, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var b90 = charBuilder{} - b7.items = []builder{&b90} - var b173 = sequenceBuilder{id: 173, commit: 10, ranges: [][]int{{1, 1}, {1, 1}, {1, 1}, {1, 1}}} - var b172 = sequenceBuilder{id: 172, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var b155 = charBuilder{} - b172.items = []builder{&b155} - var b183 = sequenceBuilder{id: 183, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var b156 = charBuilder{} - b183.items = []builder{&b156} - b173.items = []builder{&b172, &b183} - b157.options = []builder{&b7, &b173} - var b91 = sequenceBuilder{id: 91, commit: 72, name: "char-range", ranges: [][]int{{1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}}} - var b120 = sequenceBuilder{id: 120, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var b74 = charBuilder{} - b120.items = []builder{&b74} - b91.items = []builder{&b157, &b120, &b157} - b125.options = []builder{&b157, &b91} - var b1 = sequenceBuilder{id: 1, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var b112 = charBuilder{} - b1.items = []builder{&b112} - b75.items = []builder{&b86, &b79, &b125, &b1} - var b2 = sequenceBuilder{id: 2, commit: 72, name: "char-sequence", ranges: [][]int{{1, 1}, {0, -1}, {1, 1}, {1, 1}, {0, -1}, {1, 1}}} - var b127 = sequenceBuilder{id: 127, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var b97 = charBuilder{} - b127.items = []builder{&b97} - var b43 = choiceBuilder{id: 43, commit: 72, name: "sequence-char"} - var b142 = sequenceBuilder{id: 142, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var b92 = charBuilder{} - b142.items = []builder{&b92} - var b19 = sequenceBuilder{id: 19, commit: 10, ranges: [][]int{{1, 1}, {1, 1}, {1, 1}, {1, 1}}} - var b42 = sequenceBuilder{id: 42, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var b38 = charBuilder{} - b42.items = []builder{&b38} - var b87 = sequenceBuilder{id: 87, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var b106 = charBuilder{} - b87.items = []builder{&b106} - b19.items = []builder{&b42, &b87} - b43.options = []builder{&b142, &b19} - var b11 = sequenceBuilder{id: 11, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var b20 = charBuilder{} - b11.items = []builder{&b20} - b2.items = []builder{&b127, &b43, &b11} - b136.options = []builder{&b6, &b75, &b2} - var b167 = sequenceBuilder{id: 167, commit: 66, ranges: [][]int{{1, 1}, {0, -1}, {1, 1}, {0, -1}, {1, 1}}} - var b126 = sequenceBuilder{id: 126, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var b151 = charBuilder{} - b126.items = []builder{&b151} - var b12 = sequenceBuilder{id: 12, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var b176 = charBuilder{} - b12.items = []builder{&b176} - b167.items = []builder{&b126, &b186, &b59, &b186, &b12} - var b146 = sequenceBuilder{id: 146, commit: 64, name: "sequence", ranges: [][]int{{1, 1}, {0, -1}}} - var b68 = sequenceBuilder{id: 68, commit: 72, name: "item", ranges: [][]int{{1, 1}, {0, 1}, {1, 1}, {0, 1}}} - var b88 = choiceBuilder{id: 88, commit: 10} - b88.options = []builder{&b136, &b93, &b167} - var b122 = choiceBuilder{id: 122, commit: 66} - var b108 = sequenceBuilder{id: 108, commit: 64, name: "count-quantifier", ranges: [][]int{{1, 1}, {0, -1}, {1, 1}, {0, -1}, {1, 1}}} - var b44 = sequenceBuilder{id: 44, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var b128 = charBuilder{} - b44.items = []builder{&b128} - var b27 = sequenceBuilder{id: 27, commit: 64, name: "count", ranges: [][]int{{1, 1}}} - var b98 = sequenceBuilder{id: 98, commit: 74, ranges: [][]int{{1, -1}, {1, -1}}} - var b121 = sequenceBuilder{id: 121, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var b143 = charBuilder{} - b121.items = []builder{&b143} - b98.items = []builder{&b121} - b27.items = []builder{&b98} - var b63 = sequenceBuilder{id: 63, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var b55 = charBuilder{} - b63.items = []builder{&b55} - b108.items = []builder{&b44, &b186, &b27, &b186, &b63} - var b81 = sequenceBuilder{id: 81, commit: 64, name: "range-quantifier", ranges: [][]int{{1, 1}, {0, -1}, {0, 1}, {0, -1}, {1, 1}, {0, -1}, {0, 1}, {0, -1}, {1, 1}}} - var b21 = sequenceBuilder{id: 21, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var b8 = charBuilder{} - b21.items = []builder{&b8} - var b65 = sequenceBuilder{id: 65, commit: 64, name: "range-from", ranges: [][]int{{1, 1}}} - b65.items = []builder{&b98} - var b58 = sequenceBuilder{id: 58, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var b153 = charBuilder{} - b58.items = []builder{&b153} - var b152 = sequenceBuilder{id: 152, commit: 64, name: "range-to", ranges: [][]int{{1, 1}}} - b152.items = []builder{&b98} - var b48 = sequenceBuilder{id: 48, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var b158 = charBuilder{} - b48.items = []builder{&b158} - b81.items = []builder{&b21, &b186, &b65, &b186, &b58, &b186, &b152, &b186, &b48} - var b82 = sequenceBuilder{id: 82, commit: 72, name: "one-or-more", allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var b144 = charBuilder{} - b82.items = []builder{&b144} - var b13 = sequenceBuilder{id: 13, commit: 72, name: "zero-or-more", allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var b137 = charBuilder{} - b13.items = []builder{&b137} - var b3 = sequenceBuilder{id: 3, commit: 72, name: "zero-or-one", allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var b14 = charBuilder{} - b3.items = []builder{&b14} - b122.options = []builder{&b108, &b81, &b82, &b13, &b3} - b68.items = []builder{&b88, &b122} - var b145 = sequenceBuilder{id: 145, commit: 2, ranges: [][]int{{0, -1}, {1, 1}}} - b145.items = []builder{&b186, &b68} - b146.items = []builder{&b68, &b145} - var b169 = sequenceBuilder{id: 169, commit: 64, name: "choice", ranges: [][]int{{1, 1}, {0, -1}, {1, 1}, {0, -1}}} + var b85 = sequenceBuilder{id: 85, commit: 2, ranges: [][]int{{1, 1}, {0, -1}}} + var b145 = sequenceBuilder{id: 145, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b58 = charBuilder{} + b145.items = []builder{&b58} + var b84 = sequenceBuilder{id: 84, commit: 2, ranges: [][]int{{0, -1}, {1, 1}}} + b84.items = []builder{&b186, &b145} + b85.items = []builder{&b145, &b84} + var b42 = sequenceBuilder{id: 42, commit: 66, ranges: [][]int{{1, 1}, {0, 1}}} + var b4 = sequenceBuilder{id: 4, commit: 64, name: "definition", ranges: [][]int{{1, 1}, {0, -1}, {1, 1}, {0, -1}, {1, 1}}} + var b138 = sequenceBuilder{id: 138, commit: 74, ranges: [][]int{{1, 1}, {0, -1}, {1, 1}, {0, -1}}} + var b11 = sequenceBuilder{id: 11, commit: 72, name: "symbol", ranges: [][]int{{1, -1}, {1, -1}}} + var b47 = sequenceBuilder{id: 47, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b46 = charBuilder{} + b47.items = []builder{&b46} + b11.items = []builder{&b47} + var b103 = sequenceBuilder{id: 103, commit: 10, ranges: [][]int{{1, 1}, {1, 1}, {1, 1}, {1, 1}}} + var b26 = sequenceBuilder{id: 26, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b19 = charBuilder{} + b26.items = []builder{&b19} var b39 = choiceBuilder{id: 39, commit: 66} - b39.options = []builder{&b136, &b93, &b167, &b146} - var b177 = sequenceBuilder{id: 177, commit: 2, ranges: [][]int{{1, 1}, {0, -1}, {1, 1}}} - var b67 = sequenceBuilder{id: 67, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var b66 = charBuilder{} - b67.items = []builder{&b66} - b177.items = []builder{&b67, &b186, &b39} - var b168 = sequenceBuilder{id: 168, commit: 2, ranges: [][]int{{0, -1}, {1, 1}}} - b168.items = []builder{&b186, &b177} - b169.items = []builder{&b39, &b186, &b177, &b168} - b59.options = []builder{&b136, &b93, &b167, &b146, &b169} - b18.items = []builder{&b114, &b186, &b49, &b186, &b59} - var b116 = sequenceBuilder{id: 116, commit: 2, ranges: [][]int{{0, -1}, {1, 1}, {0, -1}}} - var b180 = sequenceBuilder{id: 180, commit: 2, ranges: [][]int{{1, 1}, {0, -1}, {0, -1}, {1, 1}}} - var b36 = sequenceBuilder{id: 36, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b96 = sequenceBuilder{id: 96, commit: 72, name: "alias", allChars: true, ranges: [][]int{{1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}}} + var b69 = charBuilder{} + var b114 = charBuilder{} + var b162 = charBuilder{} + var b161 = charBuilder{} + var b137 = charBuilder{} + b96.items = []builder{&b69, &b114, &b162, &b161, &b137} + var b31 = sequenceBuilder{id: 31, commit: 72, name: "ws", allChars: true, ranges: [][]int{{1, 1}, {1, 1}, {1, 1}, {1, 1}}} + var b184 = charBuilder{} + var b115 = charBuilder{} + b31.items = []builder{&b184, &b115} + var b83 = sequenceBuilder{id: 83, commit: 72, name: "nows", allChars: true, ranges: [][]int{{1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}}} + var b148 = charBuilder{} + var b38 = charBuilder{} + var b109 = charBuilder{} + var b178 = charBuilder{} + b83.items = []builder{&b148, &b38, &b109, &b178} + var b163 = sequenceBuilder{id: 163, commit: 72, name: "failpass", allChars: true, ranges: [][]int{{1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}}} var b32 = charBuilder{} - b36.items = []builder{&b32} - var b179 = sequenceBuilder{id: 179, commit: 2, ranges: [][]int{{0, -1}, {1, 1}}} - b179.items = []builder{&b186, &b36} - b180.items = []builder{&b36, &b179, &b186, &b18} - var b115 = sequenceBuilder{id: 115, commit: 2, ranges: [][]int{{0, -1}, {1, 1}}} - b115.items = []builder{&b186, &b180} - b116.items = []builder{&b186, &b180, &b115} - b117.items = []builder{&b18, &b116} - var b166 = sequenceBuilder{id: 166, commit: 2, ranges: [][]int{{0, -1}, {1, 1}, {0, -1}}} - var b139 = sequenceBuilder{id: 139, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var b94 = charBuilder{} - b139.items = []builder{&b94} - var b165 = sequenceBuilder{id: 165, commit: 2, ranges: [][]int{{0, -1}, {1, 1}}} - b165.items = []builder{&b186, &b139} - b166.items = []builder{&b186, &b139, &b165} - b187.items = []builder{&b164, &b186, &b117, &b166} + var b74 = charBuilder{} + var b126 = charBuilder{} + var b52 = charBuilder{} + var b5 = charBuilder{} + var b147 = charBuilder{} + var b75 = charBuilder{} + var b6 = charBuilder{} + b163.items = []builder{&b32, &b74, &b126, &b52, &b5, &b147, &b75, &b6} + var b70 = sequenceBuilder{id: 70, commit: 72, name: "root", allChars: true, ranges: [][]int{{1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}}} + var b177 = charBuilder{} + var b16 = charBuilder{} + var b170 = charBuilder{} + var b79 = charBuilder{} + b70.items = []builder{&b177, &b16, &b170, &b79} + b39.options = []builder{&b96, &b31, &b83, &b163, &b70} + b103.items = []builder{&b26, &b39} + b138.items = []builder{&b11, &b103} + var b171 = sequenceBuilder{id: 171, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b132 = charBuilder{} + b171.items = []builder{&b132} + var b154 = choiceBuilder{id: 154, commit: 66} + var b29 = choiceBuilder{id: 29, commit: 66} + var b44 = sequenceBuilder{id: 44, commit: 72, name: "any-char", allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b13 = charBuilder{} + b44.items = []builder{&b13} + var b153 = sequenceBuilder{id: 153, commit: 72, name: "char-class", ranges: [][]int{{1, 1}, {0, 1}, {0, -1}, {1, 1}, {1, 1}, {0, 1}, {0, -1}, {1, 1}}} + var b45 = sequenceBuilder{id: 45, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b112 = charBuilder{} + b45.items = []builder{&b112} + var b107 = sequenceBuilder{id: 107, commit: 72, name: "class-not", allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b106 = charBuilder{} + b107.items = []builder{&b106} + var b77 = choiceBuilder{id: 77, commit: 10} + var b165 = choiceBuilder{id: 165, commit: 72, name: "class-char"} + var b173 = sequenceBuilder{id: 173, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b24 = charBuilder{} + b173.items = []builder{&b24} + var b143 = sequenceBuilder{id: 143, commit: 10, ranges: [][]int{{1, 1}, {1, 1}, {1, 1}, {1, 1}}} + var b111 = sequenceBuilder{id: 111, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b180 = charBuilder{} + b111.items = []builder{&b180} + var b25 = sequenceBuilder{id: 25, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b146 = charBuilder{} + b25.items = []builder{&b146} + b143.items = []builder{&b111, &b25} + b165.options = []builder{&b173, &b143} + var b181 = sequenceBuilder{id: 181, commit: 72, name: "char-range", ranges: [][]int{{1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}}} + var b80 = sequenceBuilder{id: 80, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b156 = charBuilder{} + b80.items = []builder{&b156} + b181.items = []builder{&b165, &b80, &b165} + b77.options = []builder{&b165, &b181} + var b174 = sequenceBuilder{id: 174, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b14 = charBuilder{} + b174.items = []builder{&b14} + b153.items = []builder{&b45, &b107, &b77, &b174} + var b59 = sequenceBuilder{id: 59, commit: 72, name: "char-sequence", ranges: [][]int{{1, 1}, {0, -1}, {1, 1}, {1, 1}, {0, -1}, {1, 1}}} + var b65 = sequenceBuilder{id: 65, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b91 = charBuilder{} + b65.items = []builder{&b91} + var b90 = choiceBuilder{id: 90, commit: 72, name: "sequence-char"} + var b166 = sequenceBuilder{id: 166, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b51 = charBuilder{} + b166.items = []builder{&b51} + var b54 = sequenceBuilder{id: 54, commit: 10, ranges: [][]int{{1, 1}, {1, 1}, {1, 1}, {1, 1}}} + var b182 = sequenceBuilder{id: 182, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b64 = charBuilder{} + b182.items = []builder{&b64} + var b124 = sequenceBuilder{id: 124, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b121 = charBuilder{} + b124.items = []builder{&b121} + b54.items = []builder{&b182, &b124} + b90.options = []builder{&b166, &b54} + var b175 = sequenceBuilder{id: 175, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b66 = charBuilder{} + b175.items = []builder{&b66} + b59.items = []builder{&b65, &b90, &b175} + b29.options = []builder{&b44, &b153, &b59} + var b55 = sequenceBuilder{id: 55, commit: 66, ranges: [][]int{{1, 1}, {0, -1}, {1, 1}, {0, -1}, {1, 1}}} + var b92 = sequenceBuilder{id: 92, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b167 = charBuilder{} + b92.items = []builder{&b167} + var b12 = sequenceBuilder{id: 12, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b168 = charBuilder{} + b12.items = []builder{&b168} + b55.items = []builder{&b92, &b186, &b154, &b186, &b12} + var b131 = sequenceBuilder{id: 131, commit: 64, name: "sequence", ranges: [][]int{{1, 1}, {0, -1}}} + var b176 = sequenceBuilder{id: 176, commit: 72, name: "item", ranges: [][]int{{1, 1}, {0, 1}, {1, 1}, {0, 1}}} + var b160 = choiceBuilder{id: 160, commit: 10} + b160.options = []builder{&b29, &b11, &b55} + var b48 = choiceBuilder{id: 48, commit: 66} + var b36 = sequenceBuilder{id: 36, commit: 64, name: "count-quantifier", ranges: [][]int{{1, 1}, {0, -1}, {1, 1}, {0, -1}, {1, 1}}} + var b81 = sequenceBuilder{id: 81, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b169 = charBuilder{} + b81.items = []builder{&b169} + var b129 = sequenceBuilder{id: 129, commit: 64, name: "count", ranges: [][]int{{1, 1}}} + var b60 = sequenceBuilder{id: 60, commit: 74, ranges: [][]int{{1, -1}, {1, -1}}} + var b113 = sequenceBuilder{id: 113, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b128 = charBuilder{} + b113.items = []builder{&b128} + b60.items = []builder{&b113} + b129.items = []builder{&b60} + var b15 = sequenceBuilder{id: 15, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b144 = charBuilder{} + b15.items = []builder{&b144} + b36.items = []builder{&b81, &b186, &b129, &b186, &b15} + var b56 = sequenceBuilder{id: 56, commit: 64, name: "range-quantifier", ranges: [][]int{{1, 1}, {0, -1}, {0, 1}, {0, -1}, {1, 1}, {0, -1}, {0, 1}, {0, -1}, {1, 1}}} + var b122 = sequenceBuilder{id: 122, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b82 = charBuilder{} + b122.items = []builder{&b82} + var b67 = sequenceBuilder{id: 67, commit: 64, name: "range-from", ranges: [][]int{{1, 1}}} + b67.items = []builder{&b60} + var b68 = sequenceBuilder{id: 68, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b125 = charBuilder{} + b68.items = []builder{&b125} + var b157 = sequenceBuilder{id: 157, commit: 64, name: "range-to", ranges: [][]int{{1, 1}}} + b157.items = []builder{&b60} + var b135 = sequenceBuilder{id: 135, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b134 = charBuilder{} + b135.items = []builder{&b134} + b56.items = []builder{&b122, &b186, &b67, &b186, &b68, &b186, &b157, &b186, &b135} + var b78 = sequenceBuilder{id: 78, commit: 72, name: "one-or-more", allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b73 = charBuilder{} + b78.items = []builder{&b73} + var b57 = sequenceBuilder{id: 57, commit: 72, name: "zero-or-more", allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b30 = charBuilder{} + b57.items = []builder{&b30} + var b136 = sequenceBuilder{id: 136, commit: 72, name: "zero-or-one", allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b108 = charBuilder{} + b136.items = []builder{&b108} + b48.options = []builder{&b36, &b56, &b78, &b57, &b136} + b176.items = []builder{&b160, &b48} + var b130 = sequenceBuilder{id: 130, commit: 2, ranges: [][]int{{0, -1}, {1, 1}}} + b130.items = []builder{&b186, &b176} + b131.items = []builder{&b176, &b130} + var b94 = sequenceBuilder{id: 94, commit: 64, name: "choice", ranges: [][]int{{1, 1}, {0, -1}, {1, 1}, {0, -1}}} + var b158 = choiceBuilder{id: 158, commit: 66} + b158.options = []builder{&b29, &b11, &b55, &b131} + var b183 = sequenceBuilder{id: 183, commit: 2, ranges: [][]int{{1, 1}, {0, -1}, {1, 1}}} + var b18 = sequenceBuilder{id: 18, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b37 = charBuilder{} + b18.items = []builder{&b37} + b183.items = []builder{&b18, &b186, &b158} + var b93 = sequenceBuilder{id: 93, commit: 2, ranges: [][]int{{0, -1}, {1, 1}}} + b93.items = []builder{&b186, &b183} + b94.items = []builder{&b158, &b186, &b183, &b93} + b154.options = []builder{&b29, &b11, &b55, &b131, &b94} + b4.items = []builder{&b138, &b186, &b171, &b186, &b154} + var b41 = sequenceBuilder{id: 41, commit: 2, ranges: [][]int{{0, -1}, {1, 1}, {0, -1}}} + var b118 = sequenceBuilder{id: 118, commit: 2, ranges: [][]int{{1, 1}, {0, -1}, {0, -1}, {1, 1}}} + var b17 = sequenceBuilder{id: 17, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b116 = charBuilder{} + b17.items = []builder{&b116} + var b117 = sequenceBuilder{id: 117, commit: 2, ranges: [][]int{{0, -1}, {1, 1}}} + b117.items = []builder{&b186, &b17} + b118.items = []builder{&b17, &b117, &b186, &b4} + var b40 = sequenceBuilder{id: 40, commit: 2, ranges: [][]int{{0, -1}, {1, 1}}} + b40.items = []builder{&b186, &b118} + b41.items = []builder{&b186, &b118, &b40} + b42.items = []builder{&b4, &b41} + var b87 = sequenceBuilder{id: 87, commit: 2, ranges: [][]int{{0, -1}, {1, 1}, {0, -1}}} + var b104 = sequenceBuilder{id: 104, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b123 = charBuilder{} + b104.items = []builder{&b123} + var b86 = sequenceBuilder{id: 86, commit: 2, ranges: [][]int{{0, -1}, {1, 1}}} + b86.items = []builder{&b186, &b104} + b87.items = []builder{&b186, &b104, &b86} + b187.items = []builder{&b85, &b186, &b42, &b87} b188.items = []builder{&b186, &b187, &b186} return parseInput(r, &p188, &b188)