diff --git a/cmd/treerack/check.go b/cmd/treerack/check.go index 475ae0d..a172a1c 100644 --- a/cmd/treerack/check.go +++ b/cmd/treerack/check.go @@ -8,15 +8,15 @@ type checkOptions struct { func check(args []string) int { var o checkOptions - o.command = initOptions(checkUsage, checkExample, args) - o.syntax = &fileOptions{typ: "syntax", flagSet: o.command.flagSet} - o.input = &fileOptions{typ: "input", flagSet: o.command.flagSet} + o.command = initOptions(checkUsage, checkExample, positionalInputUsage, args) + o.syntax = &fileOptions{typ: "syntax", flagSet: o.command.flagSet, positionalDoc: positionalInputUsage} + o.input = &fileOptions{typ: "input", flagSet: o.command.flagSet, positionalDoc: positionalInputUsage} - o.command.flagSet.StringVar(&o.syntax.inline, "syntax-string", "", syntaxStringUsage) - o.command.flagSet.StringVar(&o.syntax.fileName, "syntax", "", syntaxFileUsage) + o.command.stringFlag(&o.syntax.inline, "syntax-string", syntaxStringUsage) + o.command.stringFlag(&o.syntax.fileName, "syntax", syntaxFileUsage) - o.command.flagSet.StringVar(&o.input.inline, "input-string", "", inputStringUsage) - o.command.flagSet.StringVar(&o.input.fileName, "input", "", inputFileUsage) + o.command.stringFlag(&o.input.inline, "input-string", inputStringUsage) + o.command.stringFlag(&o.input.fileName, "input", inputFileUsage) if o.command.help() { return 0 diff --git a/cmd/treerack/check_test.go b/cmd/treerack/check_test.go index 9458f22..ba33f23 100644 --- a/cmd/treerack/check_test.go +++ b/cmd/treerack/check_test.go @@ -14,6 +14,7 @@ var checkFailureTests = []mainTest{ "-syntax-string", "-input", "-input-string", + joinLines(positionalInputUsage), }, }, @@ -29,6 +30,7 @@ var checkFailureTests = []mainTest{ "-syntax-string", "-input", "-input-string", + joinLines(positionalInputUsage), }, }, @@ -44,6 +46,7 @@ var checkFailureTests = []mainTest{ "-syntax-string", "-input", "-input-string", + joinLines(positionalInputUsage), }, }, @@ -59,6 +62,7 @@ var checkFailureTests = []mainTest{ "-syntax-string", "-input", "-input-string", + joinLines(positionalInputUsage), }, }, @@ -74,6 +78,7 @@ var checkFailureTests = []mainTest{ "-syntax-string", "-input", "-input-string", + joinLines(positionalInputUsage), }, }, @@ -89,6 +94,7 @@ var checkFailureTests = []mainTest{ "-syntax-string", "-input", "-input-string", + joinLines(positionalInputUsage), }, }, @@ -104,6 +110,7 @@ var checkFailureTests = []mainTest{ "-syntax-string", "-input", "-input-string", + joinLines(positionalInputUsage), }, }, @@ -205,13 +212,14 @@ func TestCheck(t *testing.T) { "treerack", "check", "-help", }, stdout: []string{ - checkUsage, + joinLines(checkUsage), "-syntax", "-syntax-string", "-input", "-input-string", - checkExample, - docRef, + joinLines(positionalInputUsage), + joinLines(checkExample), + joinLines(docRef), }, }) diff --git a/cmd/treerack/checksyntax.go b/cmd/treerack/checksyntax.go index 8426584..67386e7 100644 --- a/cmd/treerack/checksyntax.go +++ b/cmd/treerack/checksyntax.go @@ -7,11 +7,11 @@ type checkSyntaxOptions struct { func checkSyntax(args []string) int { var o checkSyntaxOptions - o.command = initOptions(checkSyntaxUsage, checkSyntaxExample, args) - o.syntax = &fileOptions{typ: "syntax", flagSet: o.command.flagSet} + o.command = initOptions(checkSyntaxUsage, checkSyntaxExample, positionalSyntaxUsage, args) + o.syntax = &fileOptions{typ: "syntax", flagSet: o.command.flagSet, positionalDoc: positionalSyntaxUsage} - o.command.flagSet.StringVar(&o.syntax.inline, "syntax-string", "", syntaxStringUsage) - o.command.flagSet.StringVar(&o.syntax.fileName, "syntax", "", syntaxFileUsage) + o.command.stringFlag(&o.syntax.inline, "syntax-string", syntaxStringUsage) + o.command.stringFlag(&o.syntax.fileName, "syntax", syntaxFileUsage) if o.command.help() { return 0 diff --git a/cmd/treerack/checksyntax_test.go b/cmd/treerack/checksyntax_test.go index 852dbdf..8d8b325 100644 --- a/cmd/treerack/checksyntax_test.go +++ b/cmd/treerack/checksyntax_test.go @@ -12,6 +12,7 @@ var checkSyntaxFailureTests = []mainTest{ stderr: []string{ "-syntax", "-syntax-string", + joinLines(positionalSyntaxUsage), }, }, @@ -25,6 +26,7 @@ var checkSyntaxFailureTests = []mainTest{ "only one syntax", "-syntax", "-syntax-string", + joinLines(positionalSyntaxUsage), }, }, @@ -38,6 +40,7 @@ var checkSyntaxFailureTests = []mainTest{ "only one syntax", "-syntax", "-syntax-string", + joinLines(positionalSyntaxUsage), }, }, @@ -51,6 +54,7 @@ var checkSyntaxFailureTests = []mainTest{ "only one syntax", "-syntax", "-syntax-string", + joinLines(positionalSyntaxUsage), }, }, @@ -64,6 +68,7 @@ var checkSyntaxFailureTests = []mainTest{ "missing syntax", "-syntax", "-syntax-string", + joinLines(positionalSyntaxUsage), }, }, @@ -129,11 +134,12 @@ func TestCheckSyntax(t *testing.T) { "treerack", "check-syntax", "-help", }, stdout: []string{ - checkSyntaxUsage, + joinLines(checkSyntaxUsage), "-syntax", "-syntax-string", - checkSyntaxExample, - docRef, + joinLines(positionalSyntaxUsage), + joinLines(checkSyntaxExample), + joinLines(docRef), }, }) diff --git a/cmd/treerack/doc.go b/cmd/treerack/doc.go index b516fd1..c92f956 100644 --- a/cmd/treerack/doc.go +++ b/cmd/treerack/doc.go @@ -1,5 +1,7 @@ package main +import "strings" + const summary = `treerack - parser generator - https://github.com/aryszka/treerack` const commandsHelp = `Available commands: @@ -15,6 +17,10 @@ treerack -help` const docRef = `See more documentation about the definition syntax and the parser output at https://github.com/aryszka/treerack.` +const positionalSyntaxUsage = "The path to the syntax file is accepted as a positional argument." + +const positionalInputUsage = "The path to the input file is accepted as a positional argument." + const syntaxFileUsage = "path to the syntax file in treerack format" const syntaxStringUsage = "inline syntax in treerack format" @@ -60,3 +66,7 @@ standard output.` const generateExample = `Example: treerack generate example.treerack > parser.go` + +func joinLines(s string) string { + return strings.Replace(s, "\n", " ", -1) +} diff --git a/cmd/treerack/generate.go b/cmd/treerack/generate.go index cf8b308..dea26f8 100644 --- a/cmd/treerack/generate.go +++ b/cmd/treerack/generate.go @@ -11,13 +11,13 @@ type generateOptions struct { func generate(args []string) int { var o generateOptions - o.command = initOptions(generateUsage, generateExample, args) - o.syntax = &fileOptions{typ: "syntax", flagSet: o.command.flagSet} + o.command = initOptions(generateUsage, generateExample, positionalSyntaxUsage, args) + o.syntax = &fileOptions{typ: "syntax", flagSet: o.command.flagSet, positionalDoc: positionalSyntaxUsage} - 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) + o.command.boolFlag(&o.export, "export", exportUsage) + o.command.stringFlag(&o.packageName, "package-name", packageNameUsage) + o.command.stringFlag(&o.syntax.inline, "syntax-string", syntaxStringUsage) + o.command.stringFlag(&o.syntax.fileName, "syntax", syntaxFileUsage) if o.command.help() { return 0 diff --git a/cmd/treerack/generate_test.go b/cmd/treerack/generate_test.go index c308f8a..570ed31 100644 --- a/cmd/treerack/generate_test.go +++ b/cmd/treerack/generate_test.go @@ -90,13 +90,14 @@ func TestGenerate(t *testing.T) { "treerack", "generate", "-help", }, stdout: []string{ - generateUsage, + joinLines(generateUsage), "-syntax", "-syntax-string", "-export", "-package-name", - generateExample, - docRef, + joinLines(positionalSyntaxUsage), + joinLines(generateExample), + joinLines(docRef), }, }) diff --git a/cmd/treerack/open.go b/cmd/treerack/open.go index 419c3f2..97f0f96 100644 --- a/cmd/treerack/open.go +++ b/cmd/treerack/open.go @@ -12,11 +12,12 @@ import ( ) type fileOptions struct { - typ string - inline string - fileName string - positional []string - flagSet *flag.FlagSet + typ string + inline string + fileName string + positional []string + flagSet *flag.FlagSet + positionalDoc string } func (o *fileOptions) multipleInputsError() { @@ -24,6 +25,8 @@ func (o *fileOptions) multipleInputsError() { stderr() stderr("Options:") o.flagSet.PrintDefaults() + stderr() + stderr(joinLines(o.positionalDoc)) } func (o *fileOptions) missingInputError() { @@ -31,6 +34,8 @@ func (o *fileOptions) missingInputError() { stderr() stderr("Options:") o.flagSet.PrintDefaults() + stderr() + stderr(joinLines(o.positionalDoc)) } func (o *fileOptions) getSource() (hasInput bool, fileName string, inline string, code int) { diff --git a/cmd/treerack/options.go b/cmd/treerack/options.go index 9c51d75..3a896bc 100644 --- a/cmd/treerack/options.go +++ b/cmd/treerack/options.go @@ -3,17 +3,19 @@ package main import "flag" type commandOptions struct { - usage string - example string - args []string - flagSet *flag.FlagSet + usage string + example string + args []string + flagSet *flag.FlagSet + positionalDoc string } -func initOptions(usage, example string, args []string) *commandOptions { +func initOptions(usage, example, positionalDoc string, args []string) *commandOptions { var o commandOptions - o.usage = usage - o.example = example + o.usage = joinLines(usage) + o.example = joinLines(example) + o.positionalDoc = joinLines(positionalDoc) o.args = args o.flagSet = flag.NewFlagSet("", flag.ContinueOnError) @@ -23,10 +25,22 @@ func initOptions(usage, example string, args []string) *commandOptions { return &o } +func (o *commandOptions) boolFlag(v *bool, name, usage string) { + usage = joinLines(usage) + o.flagSet.BoolVar(v, name, *v, usage) +} + +func (o *commandOptions) stringFlag(v *string, name, usage string) { + usage = joinLines(usage) + o.flagSet.StringVar(v, name, *v, usage) +} + func (o *commandOptions) flagError() { stderr() stderr("Options:") o.flagSet.PrintDefaults() + stderr() + stderr(o.positionalDoc) } func (o *commandOptions) parseArgs() (exit int) { @@ -45,11 +59,13 @@ func (o *commandOptions) printHelp() { stdout("Options:") o.flagSet.SetOutput(wout) o.flagSet.PrintDefaults() + stdout() + stdout(o.positionalDoc) stdout() stdout(o.example) stdout() - stdout(docRef) + stdout(joinLines(docRef)) } func (o *commandOptions) help() bool { diff --git a/cmd/treerack/parse.go b/cmd/treerack/parse.go index ddd9e8c..9ee742c 100644 --- a/cmd/treerack/parse.go +++ b/cmd/treerack/parse.go @@ -42,18 +42,18 @@ func mapNode(n *treerack.Node) *node { func parse(args []string) int { var o parseOptions - o.command = initOptions(parseUsage, parseExample, args) - o.syntax = &fileOptions{typ: "syntax", flagSet: o.command.flagSet} - o.input = &fileOptions{typ: "input", flagSet: o.command.flagSet} + o.command = initOptions(parseUsage, parseExample, positionalInputUsage, args) + o.syntax = &fileOptions{typ: "syntax", flagSet: o.command.flagSet, positionalDoc: positionalInputUsage} + o.input = &fileOptions{typ: "input", flagSet: o.command.flagSet, positionalDoc: positionalInputUsage} - o.command.flagSet.StringVar(&o.syntax.inline, "syntax-string", "", syntaxStringUsage) - o.command.flagSet.StringVar(&o.syntax.fileName, "syntax", "", syntaxFileUsage) + o.command.stringFlag(&o.syntax.inline, "syntax-string", syntaxStringUsage) + o.command.stringFlag(&o.syntax.fileName, "syntax", syntaxFileUsage) - o.command.flagSet.StringVar(&o.input.inline, "input-string", "", inputStringUsage) - o.command.flagSet.StringVar(&o.input.fileName, "input", "", inputFileUsage) + o.command.stringFlag(&o.input.inline, "input-string", inputStringUsage) + o.command.stringFlag(&o.input.fileName, "input", inputFileUsage) - o.command.flagSet.BoolVar(&o.pretty, "pretty", false, prettyUsage) - o.command.flagSet.StringVar(&o.indent, "indent", "", indentUsage) + o.command.boolFlag(&o.pretty, "pretty", prettyUsage) + o.command.stringFlag(&o.indent, "indent", indentUsage) if o.command.help() { return 0 diff --git a/cmd/treerack/parse_test.go b/cmd/treerack/parse_test.go index 9077ef5..3ae0d7a 100644 --- a/cmd/treerack/parse_test.go +++ b/cmd/treerack/parse_test.go @@ -116,15 +116,16 @@ func TestParse(t *testing.T) { "treerack", "parse", "-help", }, stdout: []string{ - parseUsage, + joinLines(parseUsage), "-syntax", "-syntax-string", "-input", "-input-string", "-pretty", "-indent", - parseExample, - docRef, + joinLines(positionalInputUsage), + joinLines(parseExample), + joinLines(docRef), }, }) diff --git a/notes.txt b/notes.txt index a35ce44..e40132b 100644 --- a/notes.txt +++ b/notes.txt @@ -1,4 +1,5 @@ [next] +no random generator output and generator output check errors formatter report unused parsers diff --git a/self/self.go b/self/self.go index 85a58cc..c0627f0 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 p142 = choiceParser{id: 142, commit: 66, name: "wschar", generalizations: []int{185, 186}} - var p180 = sequenceParser{id: 180, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{142, 185, 186}} - var p13 = charParser{id: 13, chars: []rune{32}} - p180.items = []parser{&p13} - var p3 = sequenceParser{id: 3, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{142, 185, 186}} - var p48 = charParser{id: 48, chars: []rune{9}} - p3.items = []parser{&p48} - var p112 = sequenceParser{id: 112, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{142, 185, 186}} - var p64 = charParser{id: 64, chars: []rune{10}} - p112.items = []parser{&p64} - var p170 = sequenceParser{id: 170, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{142, 185, 186}} - var p169 = charParser{id: 169, chars: []rune{8}} - p170.items = []parser{&p169} - var p76 = sequenceParser{id: 76, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{142, 185, 186}} - var p104 = charParser{id: 104, chars: []rune{12}} - p76.items = []parser{&p104} - var p33 = sequenceParser{id: 33, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{142, 185, 186}} - var p91 = charParser{id: 91, chars: []rune{13}} - p33.items = []parser{&p91} - var p41 = sequenceParser{id: 41, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{142, 185, 186}} - var p77 = charParser{id: 77, chars: []rune{11}} - p41.items = []parser{&p77} - p142.options = []parser{&p180, &p3, &p112, &p170, &p76, &p33, &p41} - var p143 = sequenceParser{id: 143, commit: 72, name: "comment", ranges: [][]int{{1, 1}, {0, -1}, {1, 1}, {0, -1}}, generalizations: []int{185, 186}} - var p54 = choiceParser{id: 54, commit: 74, name: "comment-segment"} - var p159 = sequenceParser{id: 159, commit: 74, name: "line-comment", ranges: [][]int{{1, 1}, {0, -1}, {1, 1}, {0, -1}}, generalizations: []int{54}} - var p8 = sequenceParser{id: 8, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}, {1, 1}, {1, 1}}} - var p35 = charParser{id: 35, chars: []rune{47}} - var p53 = charParser{id: 53, chars: []rune{47}} - p8.items = []parser{&p35, &p53} - var p9 = sequenceParser{id: 9, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var p43 = charParser{id: 43, not: true, chars: []rune{10}} - p9.items = []parser{&p43} - p159.items = []parser{&p8, &p9} - var p93 = sequenceParser{id: 93, commit: 74, name: "block-comment", ranges: [][]int{{1, 1}, {0, -1}, {1, 1}, {1, 1}, {0, -1}, {1, 1}}, generalizations: []int{54}} - var p131 = sequenceParser{id: 131, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}, {1, 1}, {1, 1}}} - var p92 = charParser{id: 92, chars: []rune{47}} - var p99 = charParser{id: 99, chars: []rune{42}} - p131.items = []parser{&p92, &p99} - var p34 = choiceParser{id: 34, commit: 10} - var p164 = sequenceParser{id: 164, commit: 10, ranges: [][]int{{1, 1}, {1, 1}, {1, 1}, {1, 1}}, generalizations: []int{34}} - var p171 = sequenceParser{id: 171, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var p59 = charParser{id: 59, chars: []rune{42}} - p171.items = []parser{&p59} - var p120 = sequenceParser{id: 120, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var p116 = charParser{id: 116, not: true, chars: []rune{47}} - p120.items = []parser{&p116} - p164.items = []parser{&p171, &p120} - var p28 = sequenceParser{id: 28, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{34}} - var p155 = charParser{id: 155, not: true, chars: []rune{42}} - p28.items = []parser{&p155} - p34.options = []parser{&p164, &p28} - var p42 = sequenceParser{id: 42, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}, {1, 1}, {1, 1}}} - var p60 = charParser{id: 60, chars: []rune{42}} - var p83 = charParser{id: 83, chars: []rune{47}} - p42.items = []parser{&p60, &p83} - p93.items = []parser{&p131, &p34, &p42} - p54.options = []parser{&p159, &p93} - var p7 = sequenceParser{id: 7, commit: 10, ranges: [][]int{{0, -1}, {0, 1}, {0, -1}, {1, 1}, {0, -1}, {0, 1}, {0, -1}, {1, 1}}} - var p44 = choiceParser{id: 44, commit: 74, name: "ws-no-nl"} - var p65 = sequenceParser{id: 65, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{44}} - var p49 = charParser{id: 49, chars: []rune{32}} - p65.items = []parser{&p49} - var p136 = sequenceParser{id: 136, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{44}} - var p78 = charParser{id: 78, chars: []rune{9}} - p136.items = []parser{&p78} - var p23 = sequenceParser{id: 23, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{44}} - var p4 = charParser{id: 4, chars: []rune{8}} - p23.items = []parser{&p4} - var p137 = sequenceParser{id: 137, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{44}} - var p69 = charParser{id: 69, chars: []rune{12}} - p137.items = []parser{&p69} - var p5 = sequenceParser{id: 5, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{44}} - var p24 = charParser{id: 24, chars: []rune{13}} - p5.items = []parser{&p24} - var p29 = sequenceParser{id: 29, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{44}} - var p79 = charParser{id: 79, chars: []rune{11}} - p29.items = []parser{&p79} - p44.options = []parser{&p65, &p136, &p23, &p137, &p5, &p29} - var p45 = sequenceParser{id: 45, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var p6 = charParser{id: 6, chars: []rune{10}} - p45.items = []parser{&p6} - p7.items = []parser{&p44, &p45, &p44, &p54} - p143.items = []parser{&p54, &p7} - p185.options = []parser{&p142, &p143} + var p21 = choiceParser{id: 21, commit: 66, name: "wschar", generalizations: []int{185, 186}} + var p135 = sequenceParser{id: 135, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{21, 185, 186}} + var p36 = charParser{id: 36, chars: []rune{32}} + p135.items = []parser{&p36} + var p170 = sequenceParser{id: 170, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{21, 185, 186}} + var p98 = charParser{id: 98, chars: []rune{9}} + p170.items = []parser{&p98} + var p117 = sequenceParser{id: 117, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{21, 185, 186}} + var p111 = charParser{id: 111, chars: []rune{10}} + p117.items = []parser{&p111} + var p149 = sequenceParser{id: 149, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{21, 185, 186}} + var p118 = charParser{id: 118, chars: []rune{8}} + p149.items = []parser{&p118} + var p71 = sequenceParser{id: 71, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{21, 185, 186}} + var p130 = charParser{id: 130, chars: []rune{12}} + p71.items = []parser{&p130} + var p64 = sequenceParser{id: 64, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{21, 185, 186}} + var p99 = charParser{id: 99, chars: []rune{13}} + p64.items = []parser{&p99} + var p112 = sequenceParser{id: 112, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{21, 185, 186}} + var p37 = charParser{id: 37, chars: []rune{11}} + p112.items = []parser{&p37} + p21.options = []parser{&p135, &p170, &p117, &p149, &p71, &p64, &p112} + var p35 = sequenceParser{id: 35, commit: 72, name: "comment", ranges: [][]int{{1, 1}, {0, -1}, {1, 1}, {0, -1}}, generalizations: []int{185, 186}} + var p113 = choiceParser{id: 113, commit: 74, name: "comment-segment"} + var p136 = sequenceParser{id: 136, commit: 74, name: "line-comment", ranges: [][]int{{1, 1}, {0, -1}, {1, 1}, {0, -1}}, generalizations: []int{113}} + var p22 = sequenceParser{id: 22, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}, {1, 1}, {1, 1}}} + var p159 = charParser{id: 159, chars: []rune{47}} + var p144 = charParser{id: 144, chars: []rune{47}} + p22.items = []parser{&p159, &p144} + var p40 = sequenceParser{id: 40, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var p39 = charParser{id: 39, not: true, chars: []rune{10}} + p40.items = []parser{&p39} + p136.items = []parser{&p22, &p40} + var p10 = sequenceParser{id: 10, commit: 74, name: "block-comment", ranges: [][]int{{1, 1}, {0, -1}, {1, 1}, {1, 1}, {0, -1}, {1, 1}}, generalizations: []int{113}} + var p119 = sequenceParser{id: 119, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}, {1, 1}, {1, 1}}} + var p13 = charParser{id: 13, chars: []rune{47}} + var p91 = charParser{id: 91, chars: []rune{42}} + p119.items = []parser{&p13, &p91} + var p163 = choiceParser{id: 163, commit: 10} + var p53 = sequenceParser{id: 53, commit: 10, ranges: [][]int{{1, 1}, {1, 1}, {1, 1}, {1, 1}}, generalizations: []int{163}} + var p143 = sequenceParser{id: 143, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var p65 = charParser{id: 65, chars: []rune{42}} + p143.items = []parser{&p65} + var p8 = sequenceParser{id: 8, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var p92 = charParser{id: 92, not: true, chars: []rune{47}} + p8.items = []parser{&p92} + p53.items = []parser{&p143, &p8} + var p9 = sequenceParser{id: 9, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{163}} + var p38 = charParser{id: 38, not: true, chars: []rune{42}} + p9.items = []parser{&p38} + p163.options = []parser{&p53, &p9} + var p2 = sequenceParser{id: 2, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}, {1, 1}, {1, 1}}} + var p150 = charParser{id: 150, chars: []rune{42}} + var p181 = charParser{id: 181, chars: []rune{47}} + p2.items = []parser{&p150, &p181} + p10.items = []parser{&p119, &p163, &p2} + p113.options = []parser{&p136, &p10} + var p79 = sequenceParser{id: 79, commit: 10, ranges: [][]int{{0, -1}, {0, 1}, {0, -1}, {1, 1}, {0, -1}, {0, 1}, {0, -1}, {1, 1}}} + var p125 = choiceParser{id: 125, commit: 74, name: "ws-no-nl"} + var p123 = sequenceParser{id: 123, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{125}} + var p23 = charParser{id: 23, chars: []rune{32}} + p123.items = []parser{&p23} + var p48 = sequenceParser{id: 48, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{125}} + var p47 = charParser{id: 47, chars: []rune{9}} + p48.items = []parser{&p47} + var p41 = sequenceParser{id: 41, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{125}} + var p93 = charParser{id: 93, chars: []rune{8}} + p41.items = []parser{&p93} + var p124 = sequenceParser{id: 124, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{125}} + var p114 = charParser{id: 114, chars: []rune{12}} + p124.items = []parser{&p114} + var p151 = sequenceParser{id: 151, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{125}} + var p54 = charParser{id: 54, chars: []rune{13}} + p151.items = []parser{&p54} + var p104 = sequenceParser{id: 104, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{125}} + var p84 = charParser{id: 84, chars: []rune{11}} + p104.items = []parser{&p84} + p125.options = []parser{&p123, &p48, &p41, &p124, &p151, &p104} + var p34 = sequenceParser{id: 34, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var p61 = charParser{id: 61, chars: []rune{10}} + p34.items = []parser{&p61} + p79.items = []parser{&p125, &p34, &p125, &p113} + p35.items = []parser{&p113, &p79} + p185.options = []parser{&p21, &p35} 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 p177 = sequenceParser{id: 177, commit: 2, ranges: [][]int{{1, 1}, {0, -1}}} - var p58 = sequenceParser{id: 58, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var p174 = charParser{id: 174, chars: []rune{59}} - p58.items = []parser{&p174} - var p176 = sequenceParser{id: 176, commit: 2, ranges: [][]int{{0, -1}, {1, 1}}} - p176.items = []parser{&p186, &p58} - p177.items = []parser{&p58, &p176} - var p126 = sequenceParser{id: 126, commit: 66, name: "definitions", ranges: [][]int{{1, 1}, {0, 1}}} - var p96 = sequenceParser{id: 96, commit: 64, name: "definition", ranges: [][]int{{1, 1}, {0, -1}, {1, 1}, {0, -1}, {1, 1}}} - var p158 = sequenceParser{id: 158, commit: 74, name: "definition-name", ranges: [][]int{{1, 1}, {0, -1}, {1, 1}, {0, -1}}} - var p10 = sequenceParser{id: 10, commit: 72, name: "symbol", ranges: [][]int{{1, -1}, {1, -1}}, generalizations: []int{88, 56, 57}} - var p86 = sequenceParser{id: 86, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var p134 = charParser{id: 134, 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}} - p86.items = []parser{&p134} - p10.items = []parser{&p86} - var p138 = sequenceParser{id: 138, commit: 10, ranges: [][]int{{1, 1}, {1, 1}, {1, 1}, {1, 1}}} - var p82 = sequenceParser{id: 82, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var p17 = charParser{id: 17, chars: []rune{58}} - p82.items = []parser{&p17} - var p184 = choiceParser{id: 184, commit: 66, name: "flag"} - var p81 = sequenceParser{id: 81, 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{184}} - var p162 = charParser{id: 162, chars: []rune{97}} - var p51 = charParser{id: 51, chars: []rune{108}} - var p73 = charParser{id: 73, chars: []rune{105}} - var p182 = charParser{id: 182, chars: []rune{97}} - var p12 = charParser{id: 12, chars: []rune{115}} - p81.items = []parser{&p162, &p51, &p73, &p182, &p12} - var p30 = sequenceParser{id: 30, commit: 72, name: "ws", allChars: true, ranges: [][]int{{1, 1}, {1, 1}, {1, 1}, {1, 1}}, generalizations: []int{184}} - var p89 = charParser{id: 89, chars: []rune{119}} - var p154 = charParser{id: 154, chars: []rune{115}} - p30.items = []parser{&p89, &p154} - var p123 = sequenceParser{id: 123, 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{184}} - var p118 = charParser{id: 118, chars: []rune{110}} - var p111 = charParser{id: 111, chars: []rune{111}} - var p21 = charParser{id: 21, chars: []rune{119}} - var p146 = charParser{id: 146, chars: []rune{115}} - p123.items = []parser{&p118, &p111, &p21, &p146} - var p63 = sequenceParser{id: 63, 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{184}} - var p141 = charParser{id: 141, chars: []rune{102}} - var p47 = charParser{id: 47, chars: []rune{97}} - var p103 = charParser{id: 103, chars: []rune{105}} - var p90 = charParser{id: 90, chars: []rune{108}} - var p68 = charParser{id: 68, chars: []rune{112}} - var p173 = charParser{id: 173, chars: []rune{97}} - var p107 = charParser{id: 107, chars: []rune{115}} - var p108 = charParser{id: 108, chars: []rune{115}} - p63.items = []parser{&p141, &p47, &p103, &p90, &p68, &p173, &p107, &p108} - var p183 = sequenceParser{id: 183, 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{184}} - var p119 = charParser{id: 119, chars: []rune{114}} - var p52 = charParser{id: 52, chars: []rune{111}} - var p97 = charParser{id: 97, chars: []rune{111}} + var p176 = sequenceParser{id: 176, commit: 2, ranges: [][]int{{1, 1}, {0, -1}}} + var p108 = sequenceParser{id: 108, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var p60 = charParser{id: 60, chars: []rune{59}} + p108.items = []parser{&p60} + var p175 = sequenceParser{id: 175, commit: 2, ranges: [][]int{{0, -1}, {1, 1}}} + p175.items = []parser{&p186, &p108} + p176.items = []parser{&p108, &p175} + var p169 = sequenceParser{id: 169, commit: 66, name: "definitions", ranges: [][]int{{1, 1}, {0, 1}}} + var p174 = sequenceParser{id: 174, commit: 64, name: "definition", ranges: [][]int{{1, 1}, {0, -1}, {1, 1}, {0, -1}, {1, 1}}} + var p83 = sequenceParser{id: 83, commit: 74, name: "definition-name", ranges: [][]int{{1, 1}, {0, -1}, {1, 1}, {0, -1}}} + var p156 = sequenceParser{id: 156, commit: 72, name: "symbol", ranges: [][]int{{1, -1}, {1, -1}}, generalizations: []int{6, 57, 102}} + var p100 = sequenceParser{id: 100, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var p183 = charParser{id: 183, 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}} + p100.items = []parser{&p183} + p156.items = []parser{&p100} + var p20 = sequenceParser{id: 20, commit: 10, ranges: [][]int{{1, 1}, {1, 1}, {1, 1}, {1, 1}}} + var p162 = sequenceParser{id: 162, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var p154 = charParser{id: 154, chars: []rune{58}} + p162.items = []parser{&p154} + var p107 = choiceParser{id: 107, commit: 66, name: "flag"} + var p158 = sequenceParser{id: 158, 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{107}} + var p58 = charParser{id: 58, chars: []rune{97}} + var p68 = charParser{id: 68, chars: []rune{108}} + var p45 = charParser{id: 45, chars: []rune{105}} + var p160 = charParser{id: 160, chars: []rune{97}} + var p51 = charParser{id: 51, chars: []rune{115}} + p158.items = []parser{&p58, &p68, &p45, &p160, &p51} + var p11 = sequenceParser{id: 11, commit: 72, name: "ws", allChars: true, ranges: [][]int{{1, 1}, {1, 1}, {1, 1}, {1, 1}}, generalizations: []int{107}} + var p116 = charParser{id: 116, chars: []rune{119}} + var p161 = charParser{id: 161, chars: []rune{115}} + p11.items = []parser{&p116, &p161} + var p141 = sequenceParser{id: 141, 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{107}} + var p106 = charParser{id: 106, chars: []rune{110}} + var p77 = charParser{id: 77, chars: []rune{111}} + var p173 = charParser{id: 173, chars: []rune{119}} + var p129 = charParser{id: 129, chars: []rune{115}} + p141.items = []parser{&p106, &p77, &p173, &p129} + var p142 = sequenceParser{id: 142, 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{107}} + var p7 = charParser{id: 7, chars: []rune{102}} + var p32 = charParser{id: 32, chars: []rune{97}} + var p52 = charParser{id: 52, chars: []rune{105}} + var p134 = charParser{id: 134, chars: []rune{108}} + var p78 = charParser{id: 78, chars: []rune{112}} + var p46 = charParser{id: 46, chars: []rune{97}} + var p82 = charParser{id: 82, chars: []rune{115}} + var p110 = charParser{id: 110, chars: []rune{115}} + p142.items = []parser{&p7, &p32, &p52, &p134, &p78, &p46, &p82, &p110} + var p103 = sequenceParser{id: 103, 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{107}} + var p1 = charParser{id: 1, chars: []rune{114}} + var p18 = charParser{id: 18, chars: []rune{111}} + var p33 = charParser{id: 33, chars: []rune{111}} var p50 = charParser{id: 50, chars: []rune{116}} - p183.items = []parser{&p119, &p52, &p97, &p50} - p184.options = []parser{&p81, &p30, &p123, &p63, &p183} - p138.items = []parser{&p82, &p184} - p158.items = []parser{&p10, &p138} - var p98 = sequenceParser{id: 98, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var p31 = charParser{id: 31, chars: []rune{61}} - p98.items = []parser{&p31} - var p88 = choiceParser{id: 88, commit: 66, name: "expression"} - var p160 = choiceParser{id: 160, commit: 66, name: "terminal", generalizations: []int{88, 56, 57}} - var p165 = sequenceParser{id: 165, commit: 72, name: "any-char", allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{160, 88, 56, 57}} - var p36 = charParser{id: 36, chars: []rune{46}} - p165.items = []parser{&p36} - var p156 = sequenceParser{id: 156, 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{160, 88, 56, 57}} - var p18 = sequenceParser{id: 18, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var p144 = charParser{id: 144, chars: []rune{91}} - p18.items = []parser{&p144} - var p38 = sequenceParser{id: 38, commit: 72, name: "class-not", allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var p14 = charParser{id: 14, chars: []rune{94}} - p38.items = []parser{&p14} - var p132 = choiceParser{id: 132, commit: 10} - var p172 = choiceParser{id: 172, commit: 72, name: "class-char", generalizations: []int{132}} - var p84 = sequenceParser{id: 84, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{172, 132}} - var p147 = charParser{id: 147, not: true, chars: []rune{92, 91, 93, 94, 45}} - p84.items = []parser{&p147} - var p148 = sequenceParser{id: 148, commit: 10, ranges: [][]int{{1, 1}, {1, 1}, {1, 1}, {1, 1}}, generalizations: []int{172, 132}} - var p85 = sequenceParser{id: 85, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var p105 = charParser{id: 105, chars: []rune{92}} - p85.items = []parser{&p105} - var p39 = sequenceParser{id: 39, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var p94 = charParser{id: 94, not: true} - p39.items = []parser{&p94} - p148.items = []parser{&p85, &p39} - p172.options = []parser{&p84, &p148} - var p113 = sequenceParser{id: 113, commit: 72, name: "char-range", ranges: [][]int{{1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}}, generalizations: []int{132}} - var p166 = sequenceParser{id: 166, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var p70 = charParser{id: 70, chars: []rune{45}} - p166.items = []parser{&p70} - p113.items = []parser{&p172, &p166, &p172} - p132.options = []parser{&p172, &p113} - var p80 = sequenceParser{id: 80, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var p100 = charParser{id: 100, chars: []rune{93}} - p80.items = []parser{&p100} - p156.items = []parser{&p18, &p38, &p132, &p80} - var p72 = sequenceParser{id: 72, commit: 72, name: "char-sequence", ranges: [][]int{{1, 1}, {0, -1}, {1, 1}, {1, 1}, {0, -1}, {1, 1}}, generalizations: []int{160, 88, 56, 57}} - var p26 = sequenceParser{id: 26, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var p19 = charParser{id: 19, chars: []rune{34}} - p26.items = []parser{&p19} - var p114 = choiceParser{id: 114, commit: 72, name: "sequence-char"} - var p25 = sequenceParser{id: 25, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{114}} - var p71 = charParser{id: 71, not: true, chars: []rune{92, 34}} - p25.items = []parser{&p71} - var p109 = sequenceParser{id: 109, commit: 10, ranges: [][]int{{1, 1}, {1, 1}, {1, 1}, {1, 1}}, generalizations: []int{114}} - var p181 = sequenceParser{id: 181, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var p101 = charParser{id: 101, chars: []rune{92}} - p181.items = []parser{&p101} + p103.items = []parser{&p1, &p18, &p33, &p50} + p107.options = []parser{&p158, &p11, &p141, &p142, &p103} + p20.items = []parser{&p162, &p107} + p83.items = []parser{&p156, &p20} + var p59 = sequenceParser{id: 59, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var p12 = charParser{id: 12, chars: []rune{61}} + p59.items = []parser{&p12} + var p6 = choiceParser{id: 6, commit: 66, name: "expression"} + var p42 = choiceParser{id: 42, commit: 66, name: "terminal", generalizations: []int{6, 57, 102}} + var p73 = sequenceParser{id: 73, commit: 72, name: "any-char", allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{42, 6, 57, 102}} + var p145 = charParser{id: 145, chars: []rune{46}} + p73.items = []parser{&p145} + var p16 = sequenceParser{id: 16, 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{42, 6, 57, 102}} + var p165 = sequenceParser{id: 165, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var p74 = charParser{id: 74, chars: []rune{91}} + p165.items = []parser{&p74} + var p137 = sequenceParser{id: 137, commit: 72, name: "class-not", allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var p164 = charParser{id: 164, chars: []rune{94}} + p137.items = []parser{&p164} + var p179 = choiceParser{id: 179, commit: 10} + var p24 = choiceParser{id: 24, commit: 72, name: "class-char", generalizations: []int{179}} + var p146 = sequenceParser{id: 146, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{24, 179}} + var p109 = charParser{id: 109, not: true, chars: []rune{92, 91, 93, 94, 45}} + p146.items = []parser{&p109} + var p14 = sequenceParser{id: 14, commit: 10, ranges: [][]int{{1, 1}, {1, 1}, {1, 1}, {1, 1}}, generalizations: []int{24, 179}} var p66 = sequenceParser{id: 66, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var p133 = charParser{id: 133, not: true} - p66.items = []parser{&p133} - p109.items = []parser{&p181, &p66} - p114.options = []parser{&p25, &p109} - var p40 = sequenceParser{id: 40, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var p55 = charParser{id: 55, chars: []rune{34}} - p40.items = []parser{&p55} - p72.items = []parser{&p26, &p114, &p40} - p160.options = []parser{&p165, &p156, &p72} - var p27 = sequenceParser{id: 27, commit: 66, name: "group", ranges: [][]int{{1, 1}, {0, -1}, {1, 1}, {0, -1}, {1, 1}}, generalizations: []int{88, 56, 57}} - var p20 = sequenceParser{id: 20, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var p61 = charParser{id: 61, chars: []rune{40}} - p20.items = []parser{&p61} - var p62 = sequenceParser{id: 62, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var p145 = charParser{id: 145, chars: []rune{41}} - p62.items = []parser{&p145} - p27.items = []parser{&p20, &p186, &p88, &p186, &p62} - var p153 = sequenceParser{id: 153, commit: 64, name: "sequence", ranges: [][]int{{1, 1}, {0, -1}}, generalizations: []int{88, 57}} - var p106 = sequenceParser{id: 106, commit: 72, name: "item", ranges: [][]int{{1, 1}, {0, 1}, {1, 1}, {0, 1}}} - var p56 = choiceParser{id: 56, commit: 10} - p56.options = []parser{&p160, &p10, &p27} - var p163 = choiceParser{id: 163, commit: 66, name: "quantity"} - var p149 = sequenceParser{id: 149, commit: 64, name: "count-quantifier", ranges: [][]int{{1, 1}, {0, -1}, {1, 1}, {0, -1}, {1, 1}}, generalizations: []int{163}} - var p121 = sequenceParser{id: 121, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var p127 = charParser{id: 127, chars: []rune{123}} - p121.items = []parser{&p127} - var p135 = sequenceParser{id: 135, commit: 64, name: "count", ranges: [][]int{{1, 1}}} - var p15 = sequenceParser{id: 15, commit: 74, name: "number", ranges: [][]int{{1, -1}, {1, -1}}} - var p110 = sequenceParser{id: 110, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var p117 = charParser{id: 117, ranges: [][]rune{{48, 57}}} - p110.items = []parser{&p117} - p15.items = []parser{&p110} - p135.items = []parser{&p15} - var p102 = sequenceParser{id: 102, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var p157 = charParser{id: 157, chars: []rune{125}} - p102.items = []parser{&p157} - p149.items = []parser{&p121, &p186, &p135, &p186, &p102} - var p67 = sequenceParser{id: 67, 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{163}} - var p46 = sequenceParser{id: 46, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var p168 = charParser{id: 168, chars: []rune{123}} - p46.items = []parser{&p168} - var p115 = sequenceParser{id: 115, commit: 64, name: "range-from", ranges: [][]int{{1, 1}}} - p115.items = []parser{&p15} - var p1 = sequenceParser{id: 1, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var p11 = charParser{id: 11, chars: []rune{44}} - p1.items = []parser{&p11} - var p167 = sequenceParser{id: 167, commit: 64, name: "range-to", ranges: [][]int{{1, 1}}} - p167.items = []parser{&p15} - var p37 = sequenceParser{id: 37, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var p161 = charParser{id: 161, chars: []rune{125}} - p37.items = []parser{&p161} - p67.items = []parser{&p46, &p186, &p115, &p186, &p1, &p186, &p167, &p186, &p37} - var p150 = sequenceParser{id: 150, commit: 72, name: "one-or-more", allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{163}} - var p122 = charParser{id: 122, chars: []rune{43}} - p150.items = []parser{&p122} - var p87 = sequenceParser{id: 87, commit: 72, name: "zero-or-more", allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{163}} - var p74 = charParser{id: 74, chars: []rune{42}} - p87.items = []parser{&p74} - var p151 = sequenceParser{id: 151, commit: 72, name: "zero-or-one", allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{163}} - var p128 = charParser{id: 128, chars: []rune{63}} - p151.items = []parser{&p128} - p163.options = []parser{&p149, &p67, &p150, &p87, &p151} - p106.items = []parser{&p56, &p163} - var p152 = sequenceParser{id: 152, commit: 2, ranges: [][]int{{0, -1}, {1, 1}}} - p152.items = []parser{&p186, &p106} - p153.items = []parser{&p106, &p152} - var p130 = sequenceParser{id: 130, commit: 64, name: "choice", ranges: [][]int{{1, 1}, {0, -1}, {1, 1}, {0, -1}}, generalizations: []int{88}} - var p57 = choiceParser{id: 57, commit: 66, name: "option"} - p57.options = []parser{&p160, &p10, &p27, &p153} - var p95 = sequenceParser{id: 95, commit: 2, ranges: [][]int{{1, 1}, {0, -1}, {1, 1}}} - var p16 = sequenceParser{id: 16, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var p75 = charParser{id: 75, chars: []rune{124}} - p16.items = []parser{&p75} - p95.items = []parser{&p16, &p186, &p57} - var p129 = sequenceParser{id: 129, commit: 2, ranges: [][]int{{0, -1}, {1, 1}}} - p129.items = []parser{&p186, &p95} - p130.items = []parser{&p57, &p186, &p95, &p129} - p88.options = []parser{&p160, &p10, &p27, &p153, &p130} - p96.items = []parser{&p158, &p186, &p98, &p186, &p88} - var p125 = sequenceParser{id: 125, commit: 2, ranges: [][]int{{0, -1}, {1, 1}, {0, -1}}} - var p140 = sequenceParser{id: 140, commit: 2, ranges: [][]int{{1, 1}, {0, -1}, {0, -1}, {1, 1}}} - var p22 = sequenceParser{id: 22, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var p2 = charParser{id: 2, chars: []rune{59}} - p22.items = []parser{&p2} - var p139 = sequenceParser{id: 139, commit: 2, ranges: [][]int{{0, -1}, {1, 1}}} - p139.items = []parser{&p186, &p22} - p140.items = []parser{&p22, &p139, &p186, &p96} - var p124 = sequenceParser{id: 124, commit: 2, ranges: [][]int{{0, -1}, {1, 1}}} - p124.items = []parser{&p186, &p140} - p125.items = []parser{&p186, &p140, &p124} - p126.items = []parser{&p96, &p125} - var p179 = sequenceParser{id: 179, commit: 2, ranges: [][]int{{0, -1}, {1, 1}, {0, -1}}} - var p32 = sequenceParser{id: 32, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var p175 = charParser{id: 175, chars: []rune{59}} - p32.items = []parser{&p175} - var p178 = sequenceParser{id: 178, commit: 2, ranges: [][]int{{0, -1}, {1, 1}}} - p178.items = []parser{&p186, &p32} - p179.items = []parser{&p186, &p32, &p178} - p187.items = []parser{&p177, &p186, &p126, &p179} + var p94 = charParser{id: 94, chars: []rune{92}} + p66.items = []parser{&p94} + var p155 = sequenceParser{id: 155, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var p85 = charParser{id: 85, not: true} + p155.items = []parser{&p85} + p14.items = []parser{&p66, &p155} + p24.options = []parser{&p146, &p14} + var p86 = sequenceParser{id: 86, commit: 72, name: "char-range", ranges: [][]int{{1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}}, generalizations: []int{179}} + var p131 = sequenceParser{id: 131, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var p95 = charParser{id: 95, chars: []rune{45}} + p131.items = []parser{&p95} + p86.items = []parser{&p24, &p131, &p24} + p179.options = []parser{&p24, &p86} + var p15 = sequenceParser{id: 15, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var p27 = charParser{id: 27, chars: []rune{93}} + p15.items = []parser{&p27} + p16.items = []parser{&p165, &p137, &p179, &p15} + var p180 = sequenceParser{id: 180, commit: 72, name: "char-sequence", ranges: [][]int{{1, 1}, {0, -1}, {1, 1}, {1, 1}, {0, -1}, {1, 1}}, generalizations: []int{42, 6, 57, 102}} + var p49 = sequenceParser{id: 49, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var p26 = charParser{id: 26, chars: []rune{34}} + p49.items = []parser{&p26} + var p25 = choiceParser{id: 25, commit: 72, name: "sequence-char"} + var p96 = sequenceParser{id: 96, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{25}} + var p182 = charParser{id: 182, not: true, chars: []rune{92, 34}} + p96.items = []parser{&p182} + var p147 = sequenceParser{id: 147, commit: 10, ranges: [][]int{{1, 1}, {1, 1}, {1, 1}, {1, 1}}, generalizations: []int{25}} + var p87 = sequenceParser{id: 87, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var p62 = charParser{id: 62, chars: []rune{92}} + p87.items = []parser{&p62} + var p90 = sequenceParser{id: 90, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var p75 = charParser{id: 75, not: true} + p90.items = []parser{&p75} + p147.items = []parser{&p87, &p90} + p25.options = []parser{&p96, &p147} + var p88 = sequenceParser{id: 88, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var p19 = charParser{id: 19, chars: []rune{34}} + p88.items = []parser{&p19} + p180.items = []parser{&p49, &p25, &p88} + p42.options = []parser{&p73, &p16, &p180} + var p43 = sequenceParser{id: 43, commit: 66, name: "group", ranges: [][]int{{1, 1}, {0, -1}, {1, 1}, {0, -1}, {1, 1}}, generalizations: []int{6, 57, 102}} + var p70 = sequenceParser{id: 70, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var p28 = charParser{id: 28, chars: []rune{40}} + p70.items = []parser{&p28} + var p138 = sequenceParser{id: 138, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var p171 = charParser{id: 171, chars: []rune{41}} + p138.items = []parser{&p171} + p43.items = []parser{&p70, &p186, &p6, &p186, &p138} + var p30 = sequenceParser{id: 30, commit: 64, name: "sequence", ranges: [][]int{{1, 1}, {0, -1}}, generalizations: []int{6, 102}} + var p132 = sequenceParser{id: 132, commit: 72, name: "item", ranges: [][]int{{1, 1}, {0, 1}, {1, 1}, {0, 1}}} + var p57 = choiceParser{id: 57, commit: 10} + p57.options = []parser{&p42, &p156, &p43} + var p126 = choiceParser{id: 126, commit: 66, name: "quantity"} + var p56 = sequenceParser{id: 56, commit: 64, name: "count-quantifier", ranges: [][]int{{1, 1}, {0, -1}, {1, 1}, {0, -1}, {1, 1}}, generalizations: []int{126}} + var p17 = sequenceParser{id: 17, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var p120 = charParser{id: 120, chars: []rune{123}} + p17.items = []parser{&p120} + var p4 = sequenceParser{id: 4, commit: 64, name: "count", ranges: [][]int{{1, 1}}} + var p3 = sequenceParser{id: 3, commit: 74, name: "number", ranges: [][]int{{1, -1}, {1, -1}}} + var p76 = sequenceParser{id: 76, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var p157 = charParser{id: 157, ranges: [][]rune{{48, 57}}} + p76.items = []parser{&p157} + p3.items = []parser{&p76} + p4.items = []parser{&p3} + var p67 = sequenceParser{id: 67, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var p55 = charParser{id: 55, chars: []rune{125}} + p67.items = []parser{&p55} + p56.items = []parser{&p17, &p186, &p4, &p186, &p67} + var p44 = sequenceParser{id: 44, 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{126}} + var p139 = sequenceParser{id: 139, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var p166 = charParser{id: 166, chars: []rune{123}} + p139.items = []parser{&p166} + var p148 = sequenceParser{id: 148, commit: 64, name: "range-from", ranges: [][]int{{1, 1}}} + p148.items = []parser{&p3} + var p101 = sequenceParser{id: 101, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var p80 = charParser{id: 80, chars: []rune{44}} + p101.items = []parser{&p80} + var p105 = sequenceParser{id: 105, commit: 64, name: "range-to", ranges: [][]int{{1, 1}}} + p105.items = []parser{&p3} + var p140 = sequenceParser{id: 140, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var p5 = charParser{id: 5, chars: []rune{125}} + p140.items = []parser{&p5} + p44.items = []parser{&p139, &p186, &p148, &p186, &p101, &p186, &p105, &p186, &p140} + var p89 = sequenceParser{id: 89, commit: 72, name: "one-or-more", allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{126}} + var p115 = charParser{id: 115, chars: []rune{43}} + p89.items = []parser{&p115} + var p152 = sequenceParser{id: 152, commit: 72, name: "zero-or-more", allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{126}} + var p81 = charParser{id: 81, chars: []rune{42}} + p152.items = []parser{&p81} + var p153 = sequenceParser{id: 153, commit: 72, name: "zero-or-one", allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{126}} + var p63 = charParser{id: 63, chars: []rune{63}} + p153.items = []parser{&p63} + p126.options = []parser{&p56, &p44, &p89, &p152, &p153} + p132.items = []parser{&p57, &p126} + var p29 = sequenceParser{id: 29, commit: 2, ranges: [][]int{{0, -1}, {1, 1}}} + p29.items = []parser{&p186, &p132} + p30.items = []parser{&p132, &p29} + var p128 = sequenceParser{id: 128, commit: 64, name: "choice", ranges: [][]int{{1, 1}, {0, -1}, {1, 1}, {0, -1}}, generalizations: []int{6}} + var p102 = choiceParser{id: 102, commit: 66, name: "option"} + p102.options = []parser{&p42, &p156, &p43, &p30} + var p184 = sequenceParser{id: 184, commit: 2, ranges: [][]int{{1, 1}, {0, -1}, {1, 1}}} + var p31 = sequenceParser{id: 31, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var p172 = charParser{id: 172, chars: []rune{124}} + p31.items = []parser{&p172} + p184.items = []parser{&p31, &p186, &p102} + var p127 = sequenceParser{id: 127, commit: 2, ranges: [][]int{{0, -1}, {1, 1}}} + p127.items = []parser{&p186, &p184} + p128.items = []parser{&p102, &p186, &p184, &p127} + p6.options = []parser{&p42, &p156, &p43, &p30, &p128} + p174.items = []parser{&p83, &p186, &p59, &p186, &p6} + var p168 = sequenceParser{id: 168, commit: 2, ranges: [][]int{{0, -1}, {1, 1}, {0, -1}}} + var p122 = sequenceParser{id: 122, commit: 2, ranges: [][]int{{1, 1}, {0, -1}, {0, -1}, {1, 1}}} + var p133 = sequenceParser{id: 133, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var p97 = charParser{id: 97, chars: []rune{59}} + p133.items = []parser{&p97} + var p121 = sequenceParser{id: 121, commit: 2, ranges: [][]int{{0, -1}, {1, 1}}} + p121.items = []parser{&p186, &p133} + p122.items = []parser{&p133, &p121, &p186, &p174} + var p167 = sequenceParser{id: 167, commit: 2, ranges: [][]int{{0, -1}, {1, 1}}} + p167.items = []parser{&p186, &p122} + p168.items = []parser{&p186, &p122, &p167} + p169.items = []parser{&p174, &p168} + var p178 = sequenceParser{id: 178, commit: 2, ranges: [][]int{{0, -1}, {1, 1}, {0, -1}}} + var p69 = sequenceParser{id: 69, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var p72 = charParser{id: 72, chars: []rune{59}} + p69.items = []parser{&p72} + var p177 = sequenceParser{id: 177, commit: 2, ranges: [][]int{{0, -1}, {1, 1}}} + p177.items = []parser{&p186, &p69} + p178.items = []parser{&p186, &p69, &p177} + p187.items = []parser{&p176, &p186, &p169, &p178} 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 b142 = choiceBuilder{id: 142, commit: 66} - var b180 = sequenceBuilder{id: 180, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var b13 = charBuilder{} - b180.items = []builder{&b13} - var b3 = sequenceBuilder{id: 3, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var b48 = charBuilder{} - b3.items = []builder{&b48} - var b112 = sequenceBuilder{id: 112, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var b64 = charBuilder{} - b112.items = []builder{&b64} + var b21 = choiceBuilder{id: 21, commit: 66} + var b135 = sequenceBuilder{id: 135, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b36 = charBuilder{} + b135.items = []builder{&b36} var b170 = sequenceBuilder{id: 170, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var b169 = charBuilder{} - b170.items = []builder{&b169} - var b76 = sequenceBuilder{id: 76, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var b104 = charBuilder{} - b76.items = []builder{&b104} - var b33 = sequenceBuilder{id: 33, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var b91 = charBuilder{} - b33.items = []builder{&b91} - var b41 = sequenceBuilder{id: 41, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var b77 = charBuilder{} - b41.items = []builder{&b77} - b142.options = []builder{&b180, &b3, &b112, &b170, &b76, &b33, &b41} - var b143 = sequenceBuilder{id: 143, commit: 72, name: "comment", ranges: [][]int{{1, 1}, {0, -1}, {1, 1}, {0, -1}}} - var b54 = choiceBuilder{id: 54, commit: 74} - var b159 = sequenceBuilder{id: 159, commit: 74, ranges: [][]int{{1, 1}, {0, -1}, {1, 1}, {0, -1}}} - var b8 = sequenceBuilder{id: 8, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}, {1, 1}, {1, 1}}} - var b35 = charBuilder{} - var b53 = charBuilder{} - b8.items = []builder{&b35, &b53} - var b9 = sequenceBuilder{id: 9, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var b43 = charBuilder{} - b9.items = []builder{&b43} - b159.items = []builder{&b8, &b9} - var b93 = sequenceBuilder{id: 93, commit: 74, ranges: [][]int{{1, 1}, {0, -1}, {1, 1}, {1, 1}, {0, -1}, {1, 1}}} - var b131 = sequenceBuilder{id: 131, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}, {1, 1}, {1, 1}}} - var b92 = charBuilder{} + var b98 = charBuilder{} + b170.items = []builder{&b98} + var b117 = sequenceBuilder{id: 117, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b111 = charBuilder{} + b117.items = []builder{&b111} + var b149 = sequenceBuilder{id: 149, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b118 = charBuilder{} + b149.items = []builder{&b118} + var b71 = sequenceBuilder{id: 71, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b130 = charBuilder{} + b71.items = []builder{&b130} + var b64 = sequenceBuilder{id: 64, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} var b99 = charBuilder{} - b131.items = []builder{&b92, &b99} - var b34 = choiceBuilder{id: 34, commit: 10} - var b164 = sequenceBuilder{id: 164, commit: 10, ranges: [][]int{{1, 1}, {1, 1}, {1, 1}, {1, 1}}} - var b171 = sequenceBuilder{id: 171, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var b59 = charBuilder{} - b171.items = []builder{&b59} - var b120 = sequenceBuilder{id: 120, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var b116 = charBuilder{} - b120.items = []builder{&b116} - b164.items = []builder{&b171, &b120} - var b28 = sequenceBuilder{id: 28, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var b155 = charBuilder{} - b28.items = []builder{&b155} - b34.options = []builder{&b164, &b28} - var b42 = sequenceBuilder{id: 42, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}, {1, 1}, {1, 1}}} - var b60 = charBuilder{} - var b83 = charBuilder{} - b42.items = []builder{&b60, &b83} - b93.items = []builder{&b131, &b34, &b42} - b54.options = []builder{&b159, &b93} - var b7 = sequenceBuilder{id: 7, commit: 10, ranges: [][]int{{0, -1}, {0, 1}, {0, -1}, {1, 1}, {0, -1}, {0, 1}, {0, -1}, {1, 1}}} - var b44 = choiceBuilder{id: 44, commit: 74} - var b65 = sequenceBuilder{id: 65, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var b49 = charBuilder{} - b65.items = []builder{&b49} - var b136 = sequenceBuilder{id: 136, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var b78 = charBuilder{} - b136.items = []builder{&b78} - var b23 = sequenceBuilder{id: 23, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var b4 = charBuilder{} - b23.items = []builder{&b4} - var b137 = sequenceBuilder{id: 137, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var b69 = charBuilder{} - b137.items = []builder{&b69} - var b5 = sequenceBuilder{id: 5, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var b24 = charBuilder{} - b5.items = []builder{&b24} - var b29 = sequenceBuilder{id: 29, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var b79 = charBuilder{} - b29.items = []builder{&b79} - b44.options = []builder{&b65, &b136, &b23, &b137, &b5, &b29} - var b45 = sequenceBuilder{id: 45, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var b6 = charBuilder{} - b45.items = []builder{&b6} - b7.items = []builder{&b44, &b45, &b44, &b54} - b143.items = []builder{&b54, &b7} - b185.options = []builder{&b142, &b143} + b64.items = []builder{&b99} + var b112 = sequenceBuilder{id: 112, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b37 = charBuilder{} + b112.items = []builder{&b37} + b21.options = []builder{&b135, &b170, &b117, &b149, &b71, &b64, &b112} + var b35 = sequenceBuilder{id: 35, commit: 72, name: "comment", ranges: [][]int{{1, 1}, {0, -1}, {1, 1}, {0, -1}}} + var b113 = choiceBuilder{id: 113, commit: 74} + var b136 = sequenceBuilder{id: 136, commit: 74, ranges: [][]int{{1, 1}, {0, -1}, {1, 1}, {0, -1}}} + var b22 = sequenceBuilder{id: 22, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}, {1, 1}, {1, 1}}} + var b159 = charBuilder{} + var b144 = charBuilder{} + b22.items = []builder{&b159, &b144} + var b40 = sequenceBuilder{id: 40, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b39 = charBuilder{} + b40.items = []builder{&b39} + b136.items = []builder{&b22, &b40} + var b10 = sequenceBuilder{id: 10, commit: 74, ranges: [][]int{{1, 1}, {0, -1}, {1, 1}, {1, 1}, {0, -1}, {1, 1}}} + var b119 = sequenceBuilder{id: 119, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}, {1, 1}, {1, 1}}} + var b13 = charBuilder{} + var b91 = charBuilder{} + b119.items = []builder{&b13, &b91} + var b163 = choiceBuilder{id: 163, commit: 10} + var b53 = sequenceBuilder{id: 53, commit: 10, ranges: [][]int{{1, 1}, {1, 1}, {1, 1}, {1, 1}}} + var b143 = sequenceBuilder{id: 143, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b65 = charBuilder{} + b143.items = []builder{&b65} + var b8 = sequenceBuilder{id: 8, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b92 = charBuilder{} + b8.items = []builder{&b92} + b53.items = []builder{&b143, &b8} + var b9 = sequenceBuilder{id: 9, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b38 = charBuilder{} + b9.items = []builder{&b38} + b163.options = []builder{&b53, &b9} + var b2 = sequenceBuilder{id: 2, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}, {1, 1}, {1, 1}}} + var b150 = charBuilder{} + var b181 = charBuilder{} + b2.items = []builder{&b150, &b181} + b10.items = []builder{&b119, &b163, &b2} + b113.options = []builder{&b136, &b10} + var b79 = sequenceBuilder{id: 79, commit: 10, ranges: [][]int{{0, -1}, {0, 1}, {0, -1}, {1, 1}, {0, -1}, {0, 1}, {0, -1}, {1, 1}}} + var b125 = choiceBuilder{id: 125, commit: 74} + var b123 = sequenceBuilder{id: 123, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b23 = charBuilder{} + b123.items = []builder{&b23} + var b48 = sequenceBuilder{id: 48, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b47 = charBuilder{} + b48.items = []builder{&b47} + var b41 = sequenceBuilder{id: 41, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b93 = charBuilder{} + b41.items = []builder{&b93} + var b124 = sequenceBuilder{id: 124, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b114 = charBuilder{} + b124.items = []builder{&b114} + var b151 = sequenceBuilder{id: 151, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b54 = charBuilder{} + b151.items = []builder{&b54} + var b104 = sequenceBuilder{id: 104, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b84 = charBuilder{} + b104.items = []builder{&b84} + b125.options = []builder{&b123, &b48, &b41, &b124, &b151, &b104} + var b34 = sequenceBuilder{id: 34, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b61 = charBuilder{} + b34.items = []builder{&b61} + b79.items = []builder{&b125, &b34, &b125, &b113} + b35.items = []builder{&b113, &b79} + b185.options = []builder{&b21, &b35} b186.options = []builder{&b185} var b187 = sequenceBuilder{id: 187, commit: 66, ranges: [][]int{{0, 1}, {0, -1}, {0, 1}, {0, 1}}} - var b177 = sequenceBuilder{id: 177, commit: 2, ranges: [][]int{{1, 1}, {0, -1}}} - var b58 = sequenceBuilder{id: 58, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var b174 = charBuilder{} - b58.items = []builder{&b174} - var b176 = sequenceBuilder{id: 176, commit: 2, ranges: [][]int{{0, -1}, {1, 1}}} - b176.items = []builder{&b186, &b58} - b177.items = []builder{&b58, &b176} - var b126 = sequenceBuilder{id: 126, commit: 66, ranges: [][]int{{1, 1}, {0, 1}}} - var b96 = sequenceBuilder{id: 96, commit: 64, name: "definition", ranges: [][]int{{1, 1}, {0, -1}, {1, 1}, {0, -1}, {1, 1}}} - var b158 = sequenceBuilder{id: 158, commit: 74, ranges: [][]int{{1, 1}, {0, -1}, {1, 1}, {0, -1}}} - var b10 = sequenceBuilder{id: 10, commit: 72, name: "symbol", ranges: [][]int{{1, -1}, {1, -1}}} - var b86 = sequenceBuilder{id: 86, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var b134 = charBuilder{} - b86.items = []builder{&b134} - b10.items = []builder{&b86} - var b138 = sequenceBuilder{id: 138, commit: 10, ranges: [][]int{{1, 1}, {1, 1}, {1, 1}, {1, 1}}} - var b82 = sequenceBuilder{id: 82, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var b17 = charBuilder{} - b82.items = []builder{&b17} - var b184 = choiceBuilder{id: 184, commit: 66} - var b81 = sequenceBuilder{id: 81, 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 b162 = charBuilder{} - var b51 = charBuilder{} - var b73 = charBuilder{} - var b182 = charBuilder{} - var b12 = charBuilder{} - b81.items = []builder{&b162, &b51, &b73, &b182, &b12} - var b30 = sequenceBuilder{id: 30, commit: 72, name: "ws", allChars: true, ranges: [][]int{{1, 1}, {1, 1}, {1, 1}, {1, 1}}} - var b89 = charBuilder{} + var b176 = sequenceBuilder{id: 176, commit: 2, ranges: [][]int{{1, 1}, {0, -1}}} + var b108 = sequenceBuilder{id: 108, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b60 = charBuilder{} + b108.items = []builder{&b60} + var b175 = sequenceBuilder{id: 175, commit: 2, ranges: [][]int{{0, -1}, {1, 1}}} + b175.items = []builder{&b186, &b108} + b176.items = []builder{&b108, &b175} + var b169 = sequenceBuilder{id: 169, commit: 66, ranges: [][]int{{1, 1}, {0, 1}}} + var b174 = sequenceBuilder{id: 174, commit: 64, name: "definition", ranges: [][]int{{1, 1}, {0, -1}, {1, 1}, {0, -1}, {1, 1}}} + var b83 = sequenceBuilder{id: 83, commit: 74, ranges: [][]int{{1, 1}, {0, -1}, {1, 1}, {0, -1}}} + var b156 = sequenceBuilder{id: 156, commit: 72, name: "symbol", ranges: [][]int{{1, -1}, {1, -1}}} + var b100 = sequenceBuilder{id: 100, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b183 = charBuilder{} + b100.items = []builder{&b183} + b156.items = []builder{&b100} + var b20 = sequenceBuilder{id: 20, commit: 10, ranges: [][]int{{1, 1}, {1, 1}, {1, 1}, {1, 1}}} + var b162 = sequenceBuilder{id: 162, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} var b154 = charBuilder{} - b30.items = []builder{&b89, &b154} - var b123 = sequenceBuilder{id: 123, 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 b118 = charBuilder{} - var b111 = charBuilder{} - var b21 = charBuilder{} - var b146 = charBuilder{} - b123.items = []builder{&b118, &b111, &b21, &b146} - var b63 = sequenceBuilder{id: 63, 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 b141 = charBuilder{} - var b47 = charBuilder{} - var b103 = charBuilder{} - var b90 = charBuilder{} + b162.items = []builder{&b154} + var b107 = choiceBuilder{id: 107, commit: 66} + var b158 = sequenceBuilder{id: 158, 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 b58 = charBuilder{} var b68 = charBuilder{} - var b173 = charBuilder{} - var b107 = charBuilder{} - var b108 = charBuilder{} - b63.items = []builder{&b141, &b47, &b103, &b90, &b68, &b173, &b107, &b108} - var b183 = sequenceBuilder{id: 183, 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 b119 = charBuilder{} - var b52 = charBuilder{} - var b97 = charBuilder{} - var b50 = charBuilder{} - b183.items = []builder{&b119, &b52, &b97, &b50} - b184.options = []builder{&b81, &b30, &b123, &b63, &b183} - b138.items = []builder{&b82, &b184} - b158.items = []builder{&b10, &b138} - var b98 = sequenceBuilder{id: 98, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var b31 = charBuilder{} - b98.items = []builder{&b31} - var b88 = choiceBuilder{id: 88, commit: 66} - var b160 = choiceBuilder{id: 160, commit: 66} - var b165 = sequenceBuilder{id: 165, commit: 72, name: "any-char", allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var b36 = charBuilder{} - b165.items = []builder{&b36} - var b156 = sequenceBuilder{id: 156, commit: 72, name: "char-class", ranges: [][]int{{1, 1}, {0, 1}, {0, -1}, {1, 1}, {1, 1}, {0, 1}, {0, -1}, {1, 1}}} - var b18 = sequenceBuilder{id: 18, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var b144 = charBuilder{} - b18.items = []builder{&b144} - var b38 = sequenceBuilder{id: 38, commit: 72, name: "class-not", allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var b14 = charBuilder{} - b38.items = []builder{&b14} - var b132 = choiceBuilder{id: 132, commit: 10} - var b172 = choiceBuilder{id: 172, commit: 72, name: "class-char"} - var b84 = sequenceBuilder{id: 84, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var b147 = charBuilder{} - b84.items = []builder{&b147} - var b148 = sequenceBuilder{id: 148, commit: 10, ranges: [][]int{{1, 1}, {1, 1}, {1, 1}, {1, 1}}} - var b85 = sequenceBuilder{id: 85, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var b105 = charBuilder{} - b85.items = []builder{&b105} - var b39 = sequenceBuilder{id: 39, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var b94 = charBuilder{} - b39.items = []builder{&b94} - b148.items = []builder{&b85, &b39} - b172.options = []builder{&b84, &b148} - var b113 = sequenceBuilder{id: 113, commit: 72, name: "char-range", ranges: [][]int{{1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}}} - var b166 = sequenceBuilder{id: 166, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var b70 = charBuilder{} - b166.items = []builder{&b70} - b113.items = []builder{&b172, &b166, &b172} - b132.options = []builder{&b172, &b113} - var b80 = sequenceBuilder{id: 80, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var b100 = charBuilder{} - b80.items = []builder{&b100} - b156.items = []builder{&b18, &b38, &b132, &b80} - var b72 = sequenceBuilder{id: 72, commit: 72, name: "char-sequence", ranges: [][]int{{1, 1}, {0, -1}, {1, 1}, {1, 1}, {0, -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 b114 = choiceBuilder{id: 114, commit: 72, name: "sequence-char"} - var b25 = sequenceBuilder{id: 25, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var b71 = charBuilder{} - b25.items = []builder{&b71} - var b109 = sequenceBuilder{id: 109, commit: 10, ranges: [][]int{{1, 1}, {1, 1}, {1, 1}, {1, 1}}} - var b181 = sequenceBuilder{id: 181, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var b101 = charBuilder{} - b181.items = []builder{&b101} - var b66 = sequenceBuilder{id: 66, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var b133 = charBuilder{} - b66.items = []builder{&b133} - b109.items = []builder{&b181, &b66} - b114.options = []builder{&b25, &b109} - var b40 = sequenceBuilder{id: 40, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var b55 = charBuilder{} - b40.items = []builder{&b55} - b72.items = []builder{&b26, &b114, &b40} - b160.options = []builder{&b165, &b156, &b72} - var b27 = sequenceBuilder{id: 27, commit: 66, ranges: [][]int{{1, 1}, {0, -1}, {1, 1}, {0, -1}, {1, 1}}} - var b20 = sequenceBuilder{id: 20, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var b61 = charBuilder{} - b20.items = []builder{&b61} - var b62 = sequenceBuilder{id: 62, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var b145 = charBuilder{} - b62.items = []builder{&b145} - b27.items = []builder{&b20, &b186, &b88, &b186, &b62} - var b153 = sequenceBuilder{id: 153, commit: 64, name: "sequence", ranges: [][]int{{1, 1}, {0, -1}}} - var b106 = sequenceBuilder{id: 106, commit: 72, name: "item", ranges: [][]int{{1, 1}, {0, 1}, {1, 1}, {0, 1}}} - var b56 = choiceBuilder{id: 56, commit: 10} - b56.options = []builder{&b160, &b10, &b27} - var b163 = choiceBuilder{id: 163, commit: 66} - var b149 = sequenceBuilder{id: 149, commit: 64, name: "count-quantifier", ranges: [][]int{{1, 1}, {0, -1}, {1, 1}, {0, -1}, {1, 1}}} - var b121 = sequenceBuilder{id: 121, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var b127 = charBuilder{} - b121.items = []builder{&b127} - var b135 = sequenceBuilder{id: 135, commit: 64, name: "count", ranges: [][]int{{1, 1}}} - var b15 = sequenceBuilder{id: 15, commit: 74, ranges: [][]int{{1, -1}, {1, -1}}} - var b110 = sequenceBuilder{id: 110, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var b117 = charBuilder{} - b110.items = []builder{&b117} - b15.items = []builder{&b110} - b135.items = []builder{&b15} - var b102 = sequenceBuilder{id: 102, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var b157 = charBuilder{} - b102.items = []builder{&b157} - b149.items = []builder{&b121, &b186, &b135, &b186, &b102} - var b67 = sequenceBuilder{id: 67, 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 b46 = sequenceBuilder{id: 46, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var b168 = charBuilder{} - b46.items = []builder{&b168} - var b115 = sequenceBuilder{id: 115, commit: 64, name: "range-from", ranges: [][]int{{1, 1}}} - b115.items = []builder{&b15} - var b1 = sequenceBuilder{id: 1, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var b11 = charBuilder{} - b1.items = []builder{&b11} - var b167 = sequenceBuilder{id: 167, commit: 64, name: "range-to", ranges: [][]int{{1, 1}}} - b167.items = []builder{&b15} - var b37 = sequenceBuilder{id: 37, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b45 = charBuilder{} + var b160 = charBuilder{} + var b51 = charBuilder{} + b158.items = []builder{&b58, &b68, &b45, &b160, &b51} + var b11 = sequenceBuilder{id: 11, commit: 72, name: "ws", allChars: true, ranges: [][]int{{1, 1}, {1, 1}, {1, 1}, {1, 1}}} + var b116 = charBuilder{} var b161 = charBuilder{} - b37.items = []builder{&b161} - b67.items = []builder{&b46, &b186, &b115, &b186, &b1, &b186, &b167, &b186, &b37} - var b150 = sequenceBuilder{id: 150, commit: 72, name: "one-or-more", allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var b122 = charBuilder{} - b150.items = []builder{&b122} - var b87 = sequenceBuilder{id: 87, commit: 72, name: "zero-or-more", allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + b11.items = []builder{&b116, &b161} + var b141 = sequenceBuilder{id: 141, 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 b106 = charBuilder{} + var b77 = charBuilder{} + var b173 = charBuilder{} + var b129 = charBuilder{} + b141.items = []builder{&b106, &b77, &b173, &b129} + var b142 = sequenceBuilder{id: 142, 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 b7 = charBuilder{} + var b32 = charBuilder{} + var b52 = charBuilder{} + var b134 = charBuilder{} + var b78 = charBuilder{} + var b46 = charBuilder{} + var b82 = charBuilder{} + var b110 = charBuilder{} + b142.items = []builder{&b7, &b32, &b52, &b134, &b78, &b46, &b82, &b110} + var b103 = sequenceBuilder{id: 103, 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 b1 = charBuilder{} + var b18 = charBuilder{} + var b33 = charBuilder{} + var b50 = charBuilder{} + b103.items = []builder{&b1, &b18, &b33, &b50} + b107.options = []builder{&b158, &b11, &b141, &b142, &b103} + b20.items = []builder{&b162, &b107} + b83.items = []builder{&b156, &b20} + var b59 = sequenceBuilder{id: 59, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b12 = charBuilder{} + b59.items = []builder{&b12} + var b6 = choiceBuilder{id: 6, commit: 66} + var b42 = choiceBuilder{id: 42, commit: 66} + var b73 = sequenceBuilder{id: 73, commit: 72, name: "any-char", allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b145 = charBuilder{} + b73.items = []builder{&b145} + var b16 = sequenceBuilder{id: 16, commit: 72, name: "char-class", ranges: [][]int{{1, 1}, {0, 1}, {0, -1}, {1, 1}, {1, 1}, {0, 1}, {0, -1}, {1, 1}}} + var b165 = sequenceBuilder{id: 165, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} var b74 = charBuilder{} - b87.items = []builder{&b74} - var b151 = sequenceBuilder{id: 151, commit: 72, name: "zero-or-one", allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var b128 = charBuilder{} - b151.items = []builder{&b128} - b163.options = []builder{&b149, &b67, &b150, &b87, &b151} - b106.items = []builder{&b56, &b163} - var b152 = sequenceBuilder{id: 152, commit: 2, ranges: [][]int{{0, -1}, {1, 1}}} - b152.items = []builder{&b186, &b106} - b153.items = []builder{&b106, &b152} - var b130 = sequenceBuilder{id: 130, commit: 64, name: "choice", ranges: [][]int{{1, 1}, {0, -1}, {1, 1}, {0, -1}}} - var b57 = choiceBuilder{id: 57, commit: 66} - b57.options = []builder{&b160, &b10, &b27, &b153} - var b95 = sequenceBuilder{id: 95, commit: 2, ranges: [][]int{{1, 1}, {0, -1}, {1, 1}}} - var b16 = sequenceBuilder{id: 16, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + b165.items = []builder{&b74} + var b137 = sequenceBuilder{id: 137, commit: 72, name: "class-not", allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b164 = charBuilder{} + b137.items = []builder{&b164} + var b179 = choiceBuilder{id: 179, commit: 10} + var b24 = choiceBuilder{id: 24, commit: 72, name: "class-char"} + var b146 = sequenceBuilder{id: 146, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b109 = charBuilder{} + b146.items = []builder{&b109} + var b14 = sequenceBuilder{id: 14, commit: 10, ranges: [][]int{{1, 1}, {1, 1}, {1, 1}, {1, 1}}} + var b66 = sequenceBuilder{id: 66, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b94 = charBuilder{} + b66.items = []builder{&b94} + var b155 = sequenceBuilder{id: 155, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b85 = charBuilder{} + b155.items = []builder{&b85} + b14.items = []builder{&b66, &b155} + b24.options = []builder{&b146, &b14} + var b86 = sequenceBuilder{id: 86, commit: 72, name: "char-range", ranges: [][]int{{1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}}} + var b131 = sequenceBuilder{id: 131, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b95 = charBuilder{} + b131.items = []builder{&b95} + b86.items = []builder{&b24, &b131, &b24} + b179.options = []builder{&b24, &b86} + var b15 = sequenceBuilder{id: 15, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b27 = charBuilder{} + b15.items = []builder{&b27} + b16.items = []builder{&b165, &b137, &b179, &b15} + var b180 = sequenceBuilder{id: 180, commit: 72, name: "char-sequence", ranges: [][]int{{1, 1}, {0, -1}, {1, 1}, {1, 1}, {0, -1}, {1, 1}}} + var b49 = sequenceBuilder{id: 49, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b26 = charBuilder{} + b49.items = []builder{&b26} + var b25 = choiceBuilder{id: 25, commit: 72, name: "sequence-char"} + var b96 = sequenceBuilder{id: 96, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b182 = charBuilder{} + b96.items = []builder{&b182} + var b147 = sequenceBuilder{id: 147, commit: 10, ranges: [][]int{{1, 1}, {1, 1}, {1, 1}, {1, 1}}} + var b87 = sequenceBuilder{id: 87, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b62 = charBuilder{} + b87.items = []builder{&b62} + var b90 = sequenceBuilder{id: 90, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} var b75 = charBuilder{} - b16.items = []builder{&b75} - b95.items = []builder{&b16, &b186, &b57} - var b129 = sequenceBuilder{id: 129, commit: 2, ranges: [][]int{{0, -1}, {1, 1}}} - b129.items = []builder{&b186, &b95} - b130.items = []builder{&b57, &b186, &b95, &b129} - b88.options = []builder{&b160, &b10, &b27, &b153, &b130} - b96.items = []builder{&b158, &b186, &b98, &b186, &b88} - var b125 = sequenceBuilder{id: 125, commit: 2, ranges: [][]int{{0, -1}, {1, 1}, {0, -1}}} - var b140 = sequenceBuilder{id: 140, commit: 2, ranges: [][]int{{1, 1}, {0, -1}, {0, -1}, {1, 1}}} - var b22 = sequenceBuilder{id: 22, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var b2 = charBuilder{} - b22.items = []builder{&b2} - var b139 = sequenceBuilder{id: 139, commit: 2, ranges: [][]int{{0, -1}, {1, 1}}} - b139.items = []builder{&b186, &b22} - b140.items = []builder{&b22, &b139, &b186, &b96} - var b124 = sequenceBuilder{id: 124, commit: 2, ranges: [][]int{{0, -1}, {1, 1}}} - b124.items = []builder{&b186, &b140} - b125.items = []builder{&b186, &b140, &b124} - b126.items = []builder{&b96, &b125} - var b179 = sequenceBuilder{id: 179, commit: 2, ranges: [][]int{{0, -1}, {1, 1}, {0, -1}}} - var b32 = sequenceBuilder{id: 32, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var b175 = charBuilder{} - b32.items = []builder{&b175} - var b178 = sequenceBuilder{id: 178, commit: 2, ranges: [][]int{{0, -1}, {1, 1}}} - b178.items = []builder{&b186, &b32} - b179.items = []builder{&b186, &b32, &b178} - b187.items = []builder{&b177, &b186, &b126, &b179} + b90.items = []builder{&b75} + b147.items = []builder{&b87, &b90} + b25.options = []builder{&b96, &b147} + var b88 = sequenceBuilder{id: 88, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b19 = charBuilder{} + b88.items = []builder{&b19} + b180.items = []builder{&b49, &b25, &b88} + b42.options = []builder{&b73, &b16, &b180} + var b43 = sequenceBuilder{id: 43, commit: 66, ranges: [][]int{{1, 1}, {0, -1}, {1, 1}, {0, -1}, {1, 1}}} + var b70 = sequenceBuilder{id: 70, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b28 = charBuilder{} + b70.items = []builder{&b28} + var b138 = sequenceBuilder{id: 138, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b171 = charBuilder{} + b138.items = []builder{&b171} + b43.items = []builder{&b70, &b186, &b6, &b186, &b138} + var b30 = sequenceBuilder{id: 30, commit: 64, name: "sequence", ranges: [][]int{{1, 1}, {0, -1}}} + var b132 = sequenceBuilder{id: 132, commit: 72, name: "item", ranges: [][]int{{1, 1}, {0, 1}, {1, 1}, {0, 1}}} + var b57 = choiceBuilder{id: 57, commit: 10} + b57.options = []builder{&b42, &b156, &b43} + var b126 = choiceBuilder{id: 126, commit: 66} + var b56 = sequenceBuilder{id: 56, commit: 64, name: "count-quantifier", ranges: [][]int{{1, 1}, {0, -1}, {1, 1}, {0, -1}, {1, 1}}} + var b17 = sequenceBuilder{id: 17, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b120 = charBuilder{} + b17.items = []builder{&b120} + var b4 = sequenceBuilder{id: 4, commit: 64, name: "count", ranges: [][]int{{1, 1}}} + var b3 = sequenceBuilder{id: 3, commit: 74, ranges: [][]int{{1, -1}, {1, -1}}} + var b76 = sequenceBuilder{id: 76, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b157 = charBuilder{} + b76.items = []builder{&b157} + b3.items = []builder{&b76} + b4.items = []builder{&b3} + var b67 = sequenceBuilder{id: 67, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b55 = charBuilder{} + b67.items = []builder{&b55} + b56.items = []builder{&b17, &b186, &b4, &b186, &b67} + var b44 = sequenceBuilder{id: 44, 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 b139 = sequenceBuilder{id: 139, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b166 = charBuilder{} + b139.items = []builder{&b166} + var b148 = sequenceBuilder{id: 148, commit: 64, name: "range-from", ranges: [][]int{{1, 1}}} + b148.items = []builder{&b3} + var b101 = sequenceBuilder{id: 101, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b80 = charBuilder{} + b101.items = []builder{&b80} + var b105 = sequenceBuilder{id: 105, commit: 64, name: "range-to", ranges: [][]int{{1, 1}}} + b105.items = []builder{&b3} + var b140 = sequenceBuilder{id: 140, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b5 = charBuilder{} + b140.items = []builder{&b5} + b44.items = []builder{&b139, &b186, &b148, &b186, &b101, &b186, &b105, &b186, &b140} + var b89 = sequenceBuilder{id: 89, commit: 72, name: "one-or-more", allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b115 = charBuilder{} + b89.items = []builder{&b115} + var b152 = sequenceBuilder{id: 152, commit: 72, name: "zero-or-more", allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b81 = charBuilder{} + b152.items = []builder{&b81} + var b153 = sequenceBuilder{id: 153, commit: 72, name: "zero-or-one", allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b63 = charBuilder{} + b153.items = []builder{&b63} + b126.options = []builder{&b56, &b44, &b89, &b152, &b153} + b132.items = []builder{&b57, &b126} + var b29 = sequenceBuilder{id: 29, commit: 2, ranges: [][]int{{0, -1}, {1, 1}}} + b29.items = []builder{&b186, &b132} + b30.items = []builder{&b132, &b29} + var b128 = sequenceBuilder{id: 128, commit: 64, name: "choice", ranges: [][]int{{1, 1}, {0, -1}, {1, 1}, {0, -1}}} + var b102 = choiceBuilder{id: 102, commit: 66} + b102.options = []builder{&b42, &b156, &b43, &b30} + var b184 = sequenceBuilder{id: 184, commit: 2, ranges: [][]int{{1, 1}, {0, -1}, {1, 1}}} + var b31 = sequenceBuilder{id: 31, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b172 = charBuilder{} + b31.items = []builder{&b172} + b184.items = []builder{&b31, &b186, &b102} + var b127 = sequenceBuilder{id: 127, commit: 2, ranges: [][]int{{0, -1}, {1, 1}}} + b127.items = []builder{&b186, &b184} + b128.items = []builder{&b102, &b186, &b184, &b127} + b6.options = []builder{&b42, &b156, &b43, &b30, &b128} + b174.items = []builder{&b83, &b186, &b59, &b186, &b6} + var b168 = sequenceBuilder{id: 168, commit: 2, ranges: [][]int{{0, -1}, {1, 1}, {0, -1}}} + var b122 = sequenceBuilder{id: 122, commit: 2, ranges: [][]int{{1, 1}, {0, -1}, {0, -1}, {1, 1}}} + var b133 = sequenceBuilder{id: 133, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b97 = charBuilder{} + b133.items = []builder{&b97} + var b121 = sequenceBuilder{id: 121, commit: 2, ranges: [][]int{{0, -1}, {1, 1}}} + b121.items = []builder{&b186, &b133} + b122.items = []builder{&b133, &b121, &b186, &b174} + var b167 = sequenceBuilder{id: 167, commit: 2, ranges: [][]int{{0, -1}, {1, 1}}} + b167.items = []builder{&b186, &b122} + b168.items = []builder{&b186, &b122, &b167} + b169.items = []builder{&b174, &b168} + var b178 = sequenceBuilder{id: 178, commit: 2, ranges: [][]int{{0, -1}, {1, 1}, {0, -1}}} + var b69 = sequenceBuilder{id: 69, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b72 = charBuilder{} + b69.items = []builder{&b72} + var b177 = sequenceBuilder{id: 177, commit: 2, ranges: [][]int{{0, -1}, {1, 1}}} + b177.items = []builder{&b186, &b69} + b178.items = []builder{&b186, &b69, &b177} + b187.items = []builder{&b176, &b186, &b169, &b178} b188.items = []builder{&b186, &b187, &b186} return parseInput(r, &p188, &b188)