diff --git a/Makefile b/Makefile index 6caf554..b63e09d 100644 --- a/Makefile +++ b/Makefile @@ -41,7 +41,7 @@ regenerate: $(SOURCES) $(PARSERS) head check: imports build $(PARSERS) go test -test.short -run ^Test -check-full: imports build $(PARSERS) +checkall: imports build $(PARSERS) go test .coverprofile: $(SOURCES) imports @@ -50,10 +50,10 @@ check-full: imports build $(PARSERS) cover: .coverprofile go tool cover -func .coverprofile -show-cover: .coverprofile +showcover: .coverprofile go tool cover -html .coverprofile -publish-coverage: .coverprofile +publishcoverage: .coverprofile curl -s https://codecov.io/bash -o codecov bash codecov -Zf .coverprofile @@ -67,14 +67,14 @@ fmt: $(SOURCES) @echo fmt @gofmt -w -s $(SOURCES) -check-fmt: $(SOURCES) +checkfmt: $(SOURCES) @echo check fmt @if [ "$$(gofmt -s -d $(SOURCES))" != "" ]; then false; else true; fi vet: go vet -precommit: regenerate fmt vet build check-full +precommit: regenerate fmt vet build checkall clean: rm -f *.test @@ -82,7 +82,7 @@ clean: rm -f .coverprofile go clean -i ./... -ci-trigger: deps check-fmt build check-full +ci-trigger: deps checkfmt build checkall ifeq ($(TRAVIS_BRANCH)_$(TRAVIS_PULL_REQUEST), master_false) - make publish-coverage + make publishcoverage endif diff --git a/chardefine.go b/chardefine.go index c9041e6..d31fee2 100644 --- a/chardefine.go +++ b/chardefine.go @@ -72,13 +72,7 @@ func (p *charParser) format(_ *registry, f formatFlags) string { return string(s) } -func (p *charParser) generate(w io.Writer, done map[string]bool) error { - if done[p.name] { - return nil - } - - done[p.name] = true - +func (p *charParser) generate(w io.Writer, _ map[string]bool) error { var err error fprintf := func(f string, args ...interface{}) { if err != nil { @@ -116,12 +110,7 @@ func (p *charParser) generate(w io.Writer, done map[string]bool) error { return err } -func (b *charBuilder) generate(w io.Writer, done map[string]bool) error { - if done[b.name] { - return nil - } - - done[b.name] = true +func (b *charBuilder) generate(w io.Writer, _ map[string]bool) error { _, err := fmt.Fprintf(w, "var b%d = charBuilder{};", b.id) return err } diff --git a/generate_test.go b/generate_test.go new file mode 100644 index 0000000..84eaf84 --- /dev/null +++ b/generate_test.go @@ -0,0 +1,118 @@ +package treerack + +import ( + "bytes" + "errors" + "io" + "strings" + "testing" +) + +var errWriteError = errors.New("write failed") + +type failingWriter struct { + failWhenReceived []string + buffer *bytes.Buffer +} + +func newFailingWriter(failWhenReceived ...string) io.Writer { + return &failingWriter{ + failWhenReceived: failWhenReceived, + buffer: &bytes.Buffer{}, + } +} + +func (w *failingWriter) Write(p []byte) (int, error) { + n, err := w.buffer.Write(p) + if err != nil { + panic(err) + } + + s := w.buffer.String() + for i := range w.failWhenReceived { + if !strings.Contains(s, w.failWhenReceived[i]) { + return n, nil + } + } + + return n, errWriteError +} + +func TestGenerate(t *testing.T) { + s, err := openSyntaxFile("syntax.treerack") + if err != nil { + t.Fatal(err) + } + + var b bytes.Buffer + if err := s.Generate(GeneratorOptions{PackageName: "foo"}, &b); err != nil { + t.Error(err) + } +} + +func TestGenerateFailingWrite(t *testing.T) { + s, err := openSyntaxFile("syntax.treerack") + if err != nil { + t.Fatal(err) + } + + t.Run("char parser", func(t *testing.T) { + if err := s.Generate(GeneratorOptions{PackageName: "foo"}, newFailingWriter("= charParser")); err == nil { + t.Error("failed to fail") + } + }) + + t.Run("char builder", func(t *testing.T) { + if err := s.Generate(GeneratorOptions{PackageName: "foo"}, newFailingWriter("= charBuilder")); err == nil { + t.Error("failed to fail") + } + }) + + t.Run("sequence parser", func(t *testing.T) { + if err := s.Generate(GeneratorOptions{PackageName: "foo"}, newFailingWriter("= sequenceParser")); err == nil { + t.Error("failed to fail") + } + }) + + t.Run("sequence builder", func(t *testing.T) { + if err := s.Generate(GeneratorOptions{PackageName: "foo"}, newFailingWriter("= sequenceBuilder")); err == nil { + t.Error("failed to fail") + } + }) + + t.Run("choice parser", func(t *testing.T) { + if err := s.Generate(GeneratorOptions{PackageName: "foo"}, newFailingWriter("= choiceParser")); err == nil { + t.Error("failed to fail") + } + }) + + t.Run("choice builder", func(t *testing.T) { + if err := s.Generate(GeneratorOptions{PackageName: "foo"}, newFailingWriter("= choiceBuilder")); err == nil { + t.Error("failed to fail") + } + }) +} + +func TestGenerateFailOnInit(t *testing.T) { + s := &Syntax{} + s.Choice("a", None, "b") // undefined b + if err := s.Generate(GeneratorOptions{PackageName: "foo"}, &bytes.Buffer{}); err == nil { + t.Error("failed to fail") + } +} + +func TestGenerateDefaulPackageName(t *testing.T) { + s, err := openSyntaxFile("syntax.treerack") + if err != nil { + t.Fatal(err) + } + + var buf bytes.Buffer + if err := s.Generate(GeneratorOptions{}, &buf); err != nil { + t.Fatal(err) + } + + if !strings.Contains(buf.String(), "\npackage main\n") { + t.Error("failed to set default package name") + } +} diff --git a/parse_test.go b/parse_test.go index 7bf0c40..750e394 100644 --- a/parse_test.go +++ b/parse_test.go @@ -747,29 +747,3 @@ func TestCharBuildNoop(t *testing.T) { t.Error("char build not noop") } } - -func TestCharBuilderProps(t *testing.T) { - b := &charBuilder{ - name: "foo", - id: 42, - } - - if b.nodeName() != "foo" { - t.Error("invalid char builder prop") - } - - if b.nodeID() != 42 { - t.Error("invalid char builder prop") - } -} - -func TestCharAddGeneralizationNoEffect(t *testing.T) { - (&charParser{}).addGeneralization(42) -} - -func TestSequenceProps(t *testing.T) { - d := &sequenceParser{commit: Alias | userDefined} - if d.commitType() != Alias|userDefined { - t.Error("invalid commit type") - } -} diff --git a/self/self.go b/self/self.go index df98cb1..1594db9 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 p125 = choiceParser{id: 125, commit: 66, name: "wschar", generalizations: []int{185, 186}} - var p84 = sequenceParser{id: 84, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{125, 185, 186}} - var p105 = charParser{id: 105, chars: []rune{32}} - p84.items = []parser{&p105} - var p78 = sequenceParser{id: 78, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{125, 185, 186}} - var p175 = charParser{id: 175, chars: []rune{9}} - p78.items = []parser{&p175} - var p97 = sequenceParser{id: 97, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{125, 185, 186}} - var p85 = charParser{id: 85, chars: []rune{10}} - p97.items = []parser{&p85} - var p5 = sequenceParser{id: 5, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{125, 185, 186}} - var p26 = charParser{id: 26, chars: []rune{8}} - p5.items = []parser{&p26} - var p145 = sequenceParser{id: 145, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{125, 185, 186}} - var p41 = charParser{id: 41, chars: []rune{12}} - p145.items = []parser{&p41} - var p137 = sequenceParser{id: 137, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{125, 185, 186}} - var p18 = charParser{id: 18, chars: []rune{13}} - p137.items = []parser{&p18} - var p181 = sequenceParser{id: 181, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{125, 185, 186}} - var p98 = charParser{id: 98, chars: []rune{11}} - p181.items = []parser{&p98} - p125.options = []parser{&p84, &p78, &p97, &p5, &p145, &p137, &p181} - var p168 = sequenceParser{id: 168, commit: 72, name: "comment", ranges: [][]int{{1, 1}, {0, -1}, {1, 1}, {0, -1}}, generalizations: []int{185, 186}} - var p160 = choiceParser{id: 160, commit: 74, name: "comment-segment"} - var p42 = sequenceParser{id: 42, commit: 74, name: "line-comment", ranges: [][]int{{1, 1}, {0, -1}, {1, 1}, {0, -1}}, generalizations: []int{160}} - var p35 = sequenceParser{id: 35, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}, {1, 1}, {1, 1}}} - var p73 = charParser{id: 73, chars: []rune{47}} - var p117 = charParser{id: 117, chars: []rune{47}} - p35.items = []parser{&p73, &p117} - var p138 = sequenceParser{id: 138, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var p132 = charParser{id: 132, not: true, chars: []rune{10}} - p138.items = []parser{&p132} - p42.items = []parser{&p35, &p138} - var p159 = sequenceParser{id: 159, commit: 74, name: "block-comment", ranges: [][]int{{1, 1}, {0, -1}, {1, 1}, {1, 1}, {0, -1}, {1, 1}}, generalizations: []int{160}} - var p166 = sequenceParser{id: 166, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}, {1, 1}, {1, 1}}} - var p182 = charParser{id: 182, chars: []rune{47}} - var p113 = charParser{id: 113, chars: []rune{42}} - p166.items = []parser{&p182, &p113} - var p148 = choiceParser{id: 148, commit: 10} - var p54 = sequenceParser{id: 54, commit: 10, ranges: [][]int{{1, 1}, {1, 1}, {1, 1}, {1, 1}}, generalizations: []int{148}} - var p22 = sequenceParser{id: 22, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var p146 = charParser{id: 146, chars: []rune{42}} - p22.items = []parser{&p146} - var p155 = sequenceParser{id: 155, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var p147 = charParser{id: 147, not: true, chars: []rune{47}} - p155.items = []parser{&p147} - p54.items = []parser{&p22, &p155} - var p106 = sequenceParser{id: 106, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{148}} - var p34 = charParser{id: 34, not: true, chars: []rune{42}} - p106.items = []parser{&p34} - p148.options = []parser{&p54, &p106} - var p50 = sequenceParser{id: 50, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}, {1, 1}, {1, 1}}} - var p114 = charParser{id: 114, chars: []rune{42}} - var p121 = charParser{id: 121, chars: []rune{47}} - p50.items = []parser{&p114, &p121} - p159.items = []parser{&p166, &p148, &p50} - p160.options = []parser{&p42, &p159} - var p123 = sequenceParser{id: 123, commit: 10, ranges: [][]int{{0, -1}, {0, 1}, {0, -1}, {1, 1}, {0, -1}, {0, 1}, {0, -1}, {1, 1}}} - var p79 = choiceParser{id: 79, commit: 74, name: "ws-no-nl"} - var p12 = sequenceParser{id: 12, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{79}} - var p167 = charParser{id: 167, chars: []rune{32}} - p12.items = []parser{&p167} - var p13 = sequenceParser{id: 13, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{79}} - var p6 = charParser{id: 6, chars: []rune{9}} - p13.items = []parser{&p6} - var p86 = sequenceParser{id: 86, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{79}} - var p172 = charParser{id: 172, chars: []rune{8}} - p86.items = []parser{&p172} - var p139 = sequenceParser{id: 139, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{79}} - var p122 = charParser{id: 122, chars: []rune{12}} - p139.items = []parser{&p122} - var p14 = sequenceParser{id: 14, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{79}} - var p183 = charParser{id: 183, chars: []rune{13}} - p14.items = []parser{&p183} - var p141 = sequenceParser{id: 141, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{79}} - var p43 = charParser{id: 43, chars: []rune{11}} - p141.items = []parser{&p43} - p79.options = []parser{&p12, &p13, &p86, &p139, &p14, &p141} - var p156 = sequenceParser{id: 156, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var p64 = charParser{id: 64, chars: []rune{10}} - p156.items = []parser{&p64} - p123.items = []parser{&p79, &p156, &p79, &p160} - p168.items = []parser{&p160, &p123} - p185.options = []parser{&p125, &p168} + var p124 = choiceParser{id: 124, commit: 66, name: "wschar", generalizations: []int{185, 186}} + var p38 = sequenceParser{id: 38, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{124, 185, 186}} + var p160 = charParser{id: 160, chars: []rune{32}} + p38.items = []parser{&p160} + var p181 = sequenceParser{id: 181, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{124, 185, 186}} + var p32 = charParser{id: 32, chars: []rune{9}} + p181.items = []parser{&p32} + var p75 = sequenceParser{id: 75, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{124, 185, 186}} + var p92 = charParser{id: 92, chars: []rune{10}} + p75.items = []parser{&p92} + var p83 = sequenceParser{id: 83, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{124, 185, 186}} + var p61 = charParser{id: 61, chars: []rune{8}} + p83.items = []parser{&p61} + var p131 = sequenceParser{id: 131, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{124, 185, 186}} + var p139 = charParser{id: 139, chars: []rune{12}} + p131.items = []parser{&p139} + var p182 = sequenceParser{id: 182, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{124, 185, 186}} + var p12 = charParser{id: 12, chars: []rune{13}} + p182.items = []parser{&p12} + var p165 = sequenceParser{id: 165, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{124, 185, 186}} + var p118 = charParser{id: 118, chars: []rune{11}} + p165.items = []parser{&p118} + p124.options = []parser{&p38, &p181, &p75, &p83, &p131, &p182, &p165} + var p78 = sequenceParser{id: 78, commit: 72, name: "comment", ranges: [][]int{{1, 1}, {0, -1}, {1, 1}, {0, -1}}, generalizations: []int{185, 186}} + var p62 = choiceParser{id: 62, commit: 74, name: "comment-segment"} + var p33 = sequenceParser{id: 33, commit: 74, name: "line-comment", ranges: [][]int{{1, 1}, {0, -1}, {1, 1}, {0, -1}}, generalizations: []int{62}} + var p113 = sequenceParser{id: 113, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}, {1, 1}, {1, 1}}} + var p112 = charParser{id: 112, chars: []rune{47}} + var p70 = charParser{id: 70, chars: []rune{47}} + p113.items = []parser{&p112, &p70} + var p47 = sequenceParser{id: 47, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var p76 = charParser{id: 76, not: true, chars: []rune{10}} + p47.items = []parser{&p76} + p33.items = []parser{&p113, &p47} + var p101 = sequenceParser{id: 101, commit: 74, name: "block-comment", ranges: [][]int{{1, 1}, {0, -1}, {1, 1}, {1, 1}, {0, -1}, {1, 1}}, generalizations: []int{62}} + var p151 = sequenceParser{id: 151, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}, {1, 1}, {1, 1}}} + var p84 = charParser{id: 84, chars: []rune{47}} + var p68 = charParser{id: 68, chars: []rune{42}} + p151.items = []parser{&p84, &p68} + var p171 = choiceParser{id: 171, commit: 10} + var p100 = sequenceParser{id: 100, commit: 10, ranges: [][]int{{1, 1}, {1, 1}, {1, 1}, {1, 1}}, generalizations: []int{171}} + var p111 = sequenceParser{id: 111, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var p93 = charParser{id: 93, chars: []rune{42}} + p111.items = []parser{&p93} + var p143 = sequenceParser{id: 143, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var p99 = charParser{id: 99, not: true, chars: []rune{47}} + p143.items = []parser{&p99} + p100.items = []parser{&p111, &p143} + var p148 = sequenceParser{id: 148, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{171}} + var p166 = charParser{id: 166, not: true, chars: []rune{42}} + p148.items = []parser{&p166} + p171.options = []parser{&p100, &p148} + var p46 = sequenceParser{id: 46, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}, {1, 1}, {1, 1}}} + var p19 = charParser{id: 19, chars: []rune{42}} + var p69 = charParser{id: 69, chars: []rune{47}} + p46.items = []parser{&p19, &p69} + p101.items = []parser{&p151, &p171, &p46} + p62.options = []parser{&p33, &p101} + var p13 = sequenceParser{id: 13, 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 p26 = sequenceParser{id: 26, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{125}} + var p77 = charParser{id: 77, chars: []rune{32}} + p26.items = []parser{&p77} + var p172 = sequenceParser{id: 172, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{125}} + var p94 = charParser{id: 94, chars: []rune{9}} + p172.items = []parser{&p94} + var p152 = sequenceParser{id: 152, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{125}} + var p102 = charParser{id: 102, chars: []rune{8}} + p152.items = []parser{&p102} + var p85 = sequenceParser{id: 85, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{125}} + var p63 = charParser{id: 63, chars: []rune{12}} + p85.items = []parser{&p63} + var p167 = sequenceParser{id: 167, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{125}} + var p149 = charParser{id: 149, chars: []rune{13}} + p167.items = []parser{&p149} + var p144 = sequenceParser{id: 144, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{125}} + var p168 = charParser{id: 168, chars: []rune{11}} + p144.items = []parser{&p168} + p125.options = []parser{&p26, &p172, &p152, &p85, &p167, &p144} + var p27 = sequenceParser{id: 27, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var p95 = charParser{id: 95, chars: []rune{10}} + p27.items = []parser{&p95} + p13.items = []parser{&p125, &p27, &p125, &p62} + p78.items = []parser{&p62, &p13} + p185.options = []parser{&p124, &p78} 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 p70 = sequenceParser{id: 70, commit: 2, ranges: [][]int{{1, 1}, {0, -1}}} + var p8 = sequenceParser{id: 8, commit: 2, ranges: [][]int{{1, 1}, {0, -1}}} + var p11 = sequenceParser{id: 11, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var p31 = charParser{id: 31, chars: []rune{59}} + p11.items = []parser{&p31} + var p7 = sequenceParser{id: 7, commit: 2, ranges: [][]int{{0, -1}, {1, 1}}} + p7.items = []parser{&p186, &p11} + p8.items = []parser{&p11, &p7} + var p45 = sequenceParser{id: 45, commit: 66, name: "definitions", ranges: [][]int{{1, 1}, {0, 1}}} + var p42 = sequenceParser{id: 42, commit: 64, name: "definition", ranges: [][]int{{1, 1}, {0, -1}, {1, 1}, {0, -1}, {1, 1}}} + var p87 = sequenceParser{id: 87, commit: 74, name: "definition-name", ranges: [][]int{{1, 1}, {0, -1}, {1, 1}, {0, -1}}} + var p88 = sequenceParser{id: 88, commit: 72, name: "symbol", ranges: [][]int{{1, -1}, {1, -1}}, generalizations: []int{64, 72, 155}} + var p57 = sequenceParser{id: 57, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var p14 = charParser{id: 14, 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}} + p57.items = []parser{&p14} + p88.items = []parser{&p57} + var p158 = sequenceParser{id: 158, 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 p146 = charParser{id: 146, chars: []rune{58}} + p82.items = []parser{&p146} + var p4 = choiceParser{id: 4, commit: 66, name: "flag"} + var p97 = sequenceParser{id: 97, 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 p128 = charParser{id: 128, chars: []rune{97}} + var p163 = charParser{id: 163, chars: []rune{108}} + var p150 = charParser{id: 150, chars: []rune{105}} + var p106 = charParser{id: 106, chars: []rune{97}} + var p138 = charParser{id: 138, chars: []rune{115}} + p97.items = []parser{&p128, &p163, &p150, &p106, &p138} + var p54 = sequenceParser{id: 54, commit: 72, name: "ws", allChars: true, ranges: [][]int{{1, 1}, {1, 1}, {1, 1}, {1, 1}}, generalizations: []int{4}} + var p67 = charParser{id: 67, chars: []rune{119}} + var p41 = charParser{id: 41, chars: []rune{115}} + p54.items = []parser{&p67, &p41} + var p129 = sequenceParser{id: 129, 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 p30 = charParser{id: 30, chars: []rune{110}} + var p24 = charParser{id: 24, chars: []rune{111}} + var p65 = charParser{id: 65, chars: []rune{119}} + var p16 = charParser{id: 16, chars: []rune{115}} + p129.items = []parser{&p30, &p24, &p65, &p16} + var p110 = sequenceParser{id: 110, 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 p179 = charParser{id: 179, chars: []rune{102}} + var p121 = charParser{id: 121, chars: []rune{97}} + var p73 = charParser{id: 73, chars: []rune{105}} + var p130 = charParser{id: 130, chars: []rune{108}} + var p17 = charParser{id: 17, chars: []rune{112}} + var p180 = charParser{id: 180, chars: []rune{97}} + var p74 = charParser{id: 74, chars: []rune{115}} + var p184 = charParser{id: 184, chars: []rune{115}} + p110.items = []parser{&p179, &p121, &p73, &p130, &p17, &p180, &p74, &p184} + var p18 = sequenceParser{id: 18, 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 p107 = charParser{id: 107, chars: []rune{114}} + var p50 = charParser{id: 50, chars: []rune{111}} + var p122 = charParser{id: 122, chars: []rune{111}} + var p123 = charParser{id: 123, chars: []rune{116}} + p18.items = []parser{&p107, &p50, &p122, &p123} + p4.options = []parser{&p97, &p54, &p129, &p110, &p18} + p158.items = []parser{&p82, &p4} + p87.items = []parser{&p88, &p158} + var p5 = sequenceParser{id: 5, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var p159 = charParser{id: 159, chars: []rune{61}} + p5.items = []parser{&p159} + var p64 = choiceParser{id: 64, commit: 66, name: "expression"} + var p104 = choiceParser{id: 104, commit: 66, name: "terminal", generalizations: []int{64, 72, 155}} + var p103 = sequenceParser{id: 103, commit: 72, name: "any-char", allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{104, 64, 72, 155}} + var p114 = charParser{id: 114, chars: []rune{46}} + p103.items = []parser{&p114} + var p51 = sequenceParser{id: 51, 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{104, 64, 72, 155}} + var p153 = sequenceParser{id: 153, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var p115 = charParser{id: 115, chars: []rune{91}} + p153.items = []parser{&p115} + var p71 = sequenceParser{id: 71, commit: 72, name: "class-not", allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var p132 = charParser{id: 132, chars: []rune{94}} + p71.items = []parser{&p132} + var p116 = choiceParser{id: 116, commit: 10} + var p48 = choiceParser{id: 48, commit: 72, name: "class-char", generalizations: []int{116}} + var p156 = sequenceParser{id: 156, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{48, 116}} + var p173 = charParser{id: 173, not: true, chars: []rune{92, 91, 93, 94, 45}} + p156.items = []parser{&p173} + var p1 = sequenceParser{id: 1, commit: 10, ranges: [][]int{{1, 1}, {1, 1}, {1, 1}, {1, 1}}, generalizations: []int{48, 116}} var p161 = sequenceParser{id: 161, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var p25 = charParser{id: 25, chars: []rune{59}} - p161.items = []parser{&p25} - var p69 = sequenceParser{id: 69, commit: 2, ranges: [][]int{{0, -1}, {1, 1}}} - p69.items = []parser{&p186, &p161} - p70.items = []parser{&p161, &p69} - var p112 = sequenceParser{id: 112, commit: 66, name: "definitions", ranges: [][]int{{1, 1}, {0, 1}}} - var p68 = sequenceParser{id: 68, commit: 64, name: "definition", ranges: [][]int{{1, 1}, {0, -1}, {1, 1}, {0, -1}, {1, 1}}} - var p90 = sequenceParser{id: 90, commit: 74, name: "definition-name", ranges: [][]int{{1, 1}, {0, -1}, {1, 1}, {0, -1}}} - var p162 = sequenceParser{id: 162, commit: 72, name: "symbol", ranges: [][]int{{1, -1}, {1, -1}}, generalizations: []int{165, 83, 103}} - var p29 = sequenceParser{id: 29, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var p135 = charParser{id: 135, 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}} - p29.items = []parser{&p135} - p162.items = []parser{&p29} - var p136 = sequenceParser{id: 136, commit: 10, ranges: [][]int{{1, 1}, {1, 1}, {1, 1}, {1, 1}}} - var p89 = sequenceParser{id: 89, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var p59 = charParser{id: 59, chars: []rune{58}} - p89.items = []parser{&p59} - var p56 = choiceParser{id: 56, commit: 66, name: "flag"} - var p32 = sequenceParser{id: 32, 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{56}} - var p58 = charParser{id: 58, chars: []rune{97}} - var p11 = charParser{id: 11, chars: []rune{108}} - var p116 = charParser{id: 116, chars: []rune{105}} - var p151 = charParser{id: 151, chars: []rune{97}} - var p1 = charParser{id: 1, chars: []rune{115}} - p32.items = []parser{&p58, &p11, &p116, &p151, &p1} - var p2 = sequenceParser{id: 2, commit: 72, name: "ws", allChars: true, ranges: [][]int{{1, 1}, {1, 1}, {1, 1}, {1, 1}}, generalizations: []int{56}} - var p40 = charParser{id: 40, chars: []rune{119}} - var p88 = charParser{id: 88, chars: []rune{115}} - p2.items = []parser{&p40, &p88} - var p104 = sequenceParser{id: 104, 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{56}} - var p118 = charParser{id: 118, chars: []rune{110}} - var p67 = charParser{id: 67, chars: []rune{111}} - var p174 = charParser{id: 174, chars: []rune{119}} - var p52 = charParser{id: 52, chars: []rune{115}} - p104.items = []parser{&p118, &p67, &p174, &p52} - var p171 = sequenceParser{id: 171, 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{56}} - var p66 = charParser{id: 66, chars: []rune{102}} - var p119 = charParser{id: 119, chars: []rune{97}} - var p124 = charParser{id: 124, chars: []rune{105}} - var p3 = charParser{id: 3, chars: []rune{108}} - var p53 = charParser{id: 53, chars: []rune{112}} - var p140 = charParser{id: 140, chars: []rune{97}} - var p170 = charParser{id: 170, chars: []rune{115}} - var p131 = charParser{id: 131, chars: []rune{115}} - p171.items = []parser{&p66, &p119, &p124, &p3, &p53, &p140, &p170, &p131} - var p27 = sequenceParser{id: 27, 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{56}} - var p109 = charParser{id: 109, chars: []rune{114}} - var p49 = charParser{id: 49, chars: []rune{111}} - var p120 = charParser{id: 120, chars: []rune{111}} - var p152 = charParser{id: 152, chars: []rune{116}} - p27.items = []parser{&p109, &p49, &p120, &p152} - p56.options = []parser{&p32, &p2, &p104, &p171, &p27} - p136.items = []parser{&p89, &p56} - p90.items = []parser{&p162, &p136} - var p24 = sequenceParser{id: 24, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var p17 = charParser{id: 17, chars: []rune{61}} - p24.items = []parser{&p17} - var p165 = choiceParser{id: 165, commit: 66, name: "expression"} - var p37 = choiceParser{id: 37, commit: 66, name: "terminal", generalizations: []int{165, 83, 103}} - var p87 = sequenceParser{id: 87, commit: 72, name: "any-char", allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{37, 165, 83, 103}} - var p176 = charParser{id: 176, chars: []rune{46}} - p87.items = []parser{&p176} - var p99 = sequenceParser{id: 99, 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{37, 165, 83, 103}} - var p142 = sequenceParser{id: 142, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var p51 = charParser{id: 51, chars: []rune{91}} - p142.items = []parser{&p51} - var p55 = sequenceParser{id: 55, commit: 72, name: "class-not", allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var p19 = charParser{id: 19, chars: []rune{94}} - p55.items = []parser{&p19} - var p158 = choiceParser{id: 158, commit: 10} - var p28 = choiceParser{id: 28, commit: 72, name: "class-char", generalizations: []int{158}} - var p65 = sequenceParser{id: 65, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{28, 158}} - var p81 = charParser{id: 81, not: true, chars: []rune{92, 91, 93, 94, 45}} - p65.items = []parser{&p81} - var p178 = sequenceParser{id: 178, commit: 10, ranges: [][]int{{1, 1}, {1, 1}, {1, 1}, {1, 1}}, generalizations: []int{28, 158}} - var p177 = sequenceParser{id: 177, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var p157 = charParser{id: 157, chars: []rune{92}} - p177.items = []parser{&p157} - var p36 = sequenceParser{id: 36, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var p82 = charParser{id: 82, not: true} - p36.items = []parser{&p82} - p178.items = []parser{&p177, &p36} - p28.options = []parser{&p65, &p178} - var p45 = sequenceParser{id: 45, commit: 72, name: "char-range", ranges: [][]int{{1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}}, generalizations: []int{158}} - var p133 = sequenceParser{id: 133, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var p44 = charParser{id: 44, chars: []rune{45}} - p133.items = []parser{&p44} - p45.items = []parser{&p28, &p133, &p28} - p158.options = []parser{&p28, &p45} - var p61 = sequenceParser{id: 61, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var p92 = charParser{id: 92, chars: []rune{93}} - p61.items = []parser{&p92} - p99.items = []parser{&p142, &p55, &p158, &p61} - var p80 = sequenceParser{id: 80, commit: 72, name: "char-sequence", ranges: [][]int{{1, 1}, {0, -1}, {1, 1}, {1, 1}, {0, -1}, {1, 1}}, generalizations: []int{37, 165, 83, 103}} - var p107 = sequenceParser{id: 107, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var p7 = charParser{id: 7, chars: []rune{34}} - p107.items = []parser{&p7} - var p46 = choiceParser{id: 46, commit: 72, name: "sequence-char"} - var p134 = sequenceParser{id: 134, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{46}} + var p55 = charParser{id: 55, chars: []rune{92}} + p161.items = []parser{&p55} + var p34 = sequenceParser{id: 34, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var p133 = charParser{id: 133, not: true} + p34.items = []parser{&p133} + p1.items = []parser{&p161, &p34} + p48.options = []parser{&p156, &p1} + 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{116}} + var p140 = sequenceParser{id: 140, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var p39 = charParser{id: 39, chars: []rune{45}} + p140.items = []parser{&p39} + p86.items = []parser{&p48, &p140, &p48} + p116.options = []parser{&p48, &p86} + var p28 = sequenceParser{id: 28, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var p169 = charParser{id: 169, chars: []rune{93}} + p28.items = []parser{&p169} + p51.items = []parser{&p153, &p71, &p116, &p28} + var p36 = sequenceParser{id: 36, commit: 72, name: "char-sequence", ranges: [][]int{{1, 1}, {0, -1}, {1, 1}, {1, 1}, {0, -1}, {1, 1}}, generalizations: []int{104, 64, 72, 155}} + var p35 = sequenceParser{id: 35, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var p80 = charParser{id: 80, chars: []rune{34}} + p35.items = []parser{&p80} + var p141 = choiceParser{id: 141, commit: 72, name: "sequence-char"} + var p170 = sequenceParser{id: 170, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{141}} var p20 = charParser{id: 20, not: true, chars: []rune{92, 34}} - p134.items = []parser{&p20} - var p169 = sequenceParser{id: 169, commit: 10, ranges: [][]int{{1, 1}, {1, 1}, {1, 1}, {1, 1}}, generalizations: []int{46}} - var p100 = sequenceParser{id: 100, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var p38 = charParser{id: 38, chars: []rune{92}} - p100.items = []parser{&p38} - var p173 = sequenceParser{id: 173, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var p62 = charParser{id: 62, not: true} - p173.items = []parser{&p62} - p169.items = []parser{&p100, &p173} - p46.options = []parser{&p134, &p169} - var p143 = sequenceParser{id: 143, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var p93 = charParser{id: 93, chars: []rune{34}} - p143.items = []parser{&p93} - p80.items = []parser{&p107, &p46, &p143} - p37.options = []parser{&p87, &p99, &p80} - var p31 = sequenceParser{id: 31, commit: 66, name: "group", ranges: [][]int{{1, 1}, {0, -1}, {1, 1}, {0, -1}, {1, 1}}, generalizations: []int{165, 83, 103}} - var p184 = sequenceParser{id: 184, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var p94 = charParser{id: 94, chars: []rune{40}} - p184.items = []parser{&p94} - var p95 = sequenceParser{id: 95, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var p30 = charParser{id: 30, chars: []rune{41}} - p95.items = []parser{&p30} - p31.items = []parser{&p184, &p186, &p165, &p186, &p95} - var p48 = sequenceParser{id: 48, commit: 64, name: "sequence", ranges: [][]int{{1, 1}, {0, -1}}, generalizations: []int{165, 103}} - var p130 = sequenceParser{id: 130, commit: 72, name: "item", ranges: [][]int{{1, 1}, {0, 1}, {1, 1}, {0, 1}}} - var p83 = choiceParser{id: 83, commit: 10} - p83.options = []parser{&p37, &p162, &p31} - var p180 = choiceParser{id: 180, 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{180}} - var p126 = sequenceParser{id: 126, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var p74 = charParser{id: 74, chars: []rune{123}} - p126.items = []parser{&p74} - var p163 = sequenceParser{id: 163, commit: 64, name: "count", ranges: [][]int{{1, 1}}} - var p108 = sequenceParser{id: 108, commit: 74, name: "number", ranges: [][]int{{1, -1}, {1, -1}}} + p170.items = []parser{&p20} + var p174 = sequenceParser{id: 174, commit: 10, ranges: [][]int{{1, 1}, {1, 1}, {1, 1}, {1, 1}}, generalizations: []int{141}} + var p29 = sequenceParser{id: 29, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var p79 = charParser{id: 79, chars: []rune{92}} + p29.items = []parser{&p79} + var p134 = sequenceParser{id: 134, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var p56 = charParser{id: 56, not: true} + p134.items = []parser{&p56} + p174.items = []parser{&p29, &p134} + p141.options = []parser{&p170, &p174} + var p157 = sequenceParser{id: 157, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var p2 = charParser{id: 2, chars: []rune{34}} + p157.items = []parser{&p2} + p36.items = []parser{&p35, &p141, &p157} + p104.options = []parser{&p103, &p51, &p36} + var p58 = sequenceParser{id: 58, commit: 66, name: "group", ranges: [][]int{{1, 1}, {0, -1}, {1, 1}, {0, -1}, {1, 1}}, generalizations: []int{64, 72, 155}} + var p49 = sequenceParser{id: 49, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var p105 = charParser{id: 105, chars: []rune{40}} + p49.items = []parser{&p105} + var p89 = sequenceParser{id: 89, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var p3 = charParser{id: 3, chars: []rune{41}} + p89.items = []parser{&p3} + p58.items = []parser{&p49, &p186, &p64, &p186, &p89} + var p23 = sequenceParser{id: 23, commit: 64, name: "sequence", ranges: [][]int{{1, 1}, {0, -1}}, generalizations: []int{64, 155}} + var p135 = sequenceParser{id: 135, commit: 72, name: "item", ranges: [][]int{{1, 1}, {0, 1}, {1, 1}, {0, 1}}} + var p72 = choiceParser{id: 72, commit: 10} + p72.options = []parser{&p104, &p88, &p58} + var p60 = choiceParser{id: 60, commit: 66, name: "quantity"} + var p117 = sequenceParser{id: 117, commit: 64, name: "count-quantifier", ranges: [][]int{{1, 1}, {0, -1}, {1, 1}, {0, -1}, {1, 1}}, generalizations: []int{60}} + var p162 = sequenceParser{id: 162, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var p81 = charParser{id: 81, chars: []rune{123}} + p162.items = []parser{&p81} + var p175 = sequenceParser{id: 175, commit: 64, name: "count", ranges: [][]int{{1, 1}}} + var p52 = sequenceParser{id: 52, commit: 74, name: "number", ranges: [][]int{{1, -1}, {1, -1}}} + var p119 = sequenceParser{id: 119, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var p126 = charParser{id: 126, ranges: [][]rune{{48, 57}}} + p119.items = []parser{&p126} + p52.items = []parser{&p119} + p175.items = []parser{&p52} + var p176 = sequenceParser{id: 176, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var p142 = charParser{id: 142, chars: []rune{125}} + p176.items = []parser{&p142} + p117.items = []parser{&p162, &p186, &p175, &p186, &p176} + var p154 = sequenceParser{id: 154, 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{60}} + var p53 = sequenceParser{id: 53, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var p127 = charParser{id: 127, chars: []rune{123}} + p53.items = []parser{&p127} + var p183 = sequenceParser{id: 183, commit: 64, name: "range-from", ranges: [][]int{{1, 1}}} + p183.items = []parser{&p52} + var p21 = sequenceParser{id: 21, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var p25 = charParser{id: 25, chars: []rune{44}} + p21.items = []parser{&p25} + var p59 = sequenceParser{id: 59, commit: 64, name: "range-to", ranges: [][]int{{1, 1}}} + p59.items = []parser{&p52} + var p145 = sequenceParser{id: 145, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var p40 = charParser{id: 40, chars: []rune{125}} + p145.items = []parser{&p40} + p154.items = []parser{&p53, &p186, &p183, &p186, &p21, &p186, &p59, &p186, &p145} + var p66 = sequenceParser{id: 66, commit: 72, name: "one-or-more", allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{60}} + var p177 = charParser{id: 177, chars: []rune{43}} + p66.items = []parser{&p177} + var p37 = sequenceParser{id: 37, commit: 72, name: "zero-or-more", allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{60}} + var p96 = charParser{id: 96, chars: []rune{42}} + p37.items = []parser{&p96} + var p98 = sequenceParser{id: 98, commit: 72, name: "zero-or-one", allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{60}} + var p90 = charParser{id: 90, chars: []rune{63}} + p98.items = []parser{&p90} + p60.options = []parser{&p117, &p154, &p66, &p37, &p98} + p135.items = []parser{&p72, &p60} + var p22 = sequenceParser{id: 22, commit: 2, ranges: [][]int{{0, -1}, {1, 1}}} + p22.items = []parser{&p186, &p135} + p23.items = []parser{&p135, &p22} + var p137 = sequenceParser{id: 137, commit: 64, name: "choice", ranges: [][]int{{1, 1}, {0, -1}, {1, 1}, {0, -1}}, generalizations: []int{64}} + var p155 = choiceParser{id: 155, commit: 66, name: "option"} + p155.options = []parser{&p104, &p88, &p58, &p23} + var p120 = sequenceParser{id: 120, commit: 2, ranges: [][]int{{1, 1}, {0, -1}, {1, 1}}} var p15 = sequenceParser{id: 15, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var p144 = charParser{id: 144, ranges: [][]rune{{48, 57}}} - p15.items = []parser{&p144} - p108.items = []parser{&p15} - p163.items = []parser{&p108} - var p8 = sequenceParser{id: 8, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var p9 = charParser{id: 9, chars: []rune{125}} - p8.items = []parser{&p9} - p149.items = []parser{&p126, &p186, &p163, &p186, &p8} - var p23 = sequenceParser{id: 23, 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{180}} - var p63 = sequenceParser{id: 63, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var p150 = charParser{id: 150, chars: []rune{123}} - p63.items = []parser{&p150} - var p127 = sequenceParser{id: 127, commit: 64, name: "range-from", ranges: [][]int{{1, 1}}} - p127.items = []parser{&p108} - var p96 = sequenceParser{id: 96, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var p39 = charParser{id: 39, chars: []rune{44}} - p96.items = []parser{&p39} - var p129 = sequenceParser{id: 129, commit: 64, name: "range-to", ranges: [][]int{{1, 1}}} - p129.items = []parser{&p108} - var p101 = sequenceParser{id: 101, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var p21 = charParser{id: 21, chars: []rune{125}} - p101.items = []parser{&p21} - p23.items = []parser{&p63, &p186, &p127, &p186, &p96, &p186, &p129, &p186, &p101} - var p128 = sequenceParser{id: 128, commit: 72, name: "one-or-more", allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{180}} - var p16 = charParser{id: 16, chars: []rune{43}} - p128.items = []parser{&p16} - var p57 = sequenceParser{id: 57, commit: 72, name: "zero-or-more", allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{180}} - var p102 = charParser{id: 102, chars: []rune{42}} - p57.items = []parser{&p102} - var p179 = sequenceParser{id: 179, commit: 72, name: "zero-or-one", allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{180}} - var p75 = charParser{id: 75, chars: []rune{63}} - p179.items = []parser{&p75} - p180.options = []parser{&p149, &p23, &p128, &p57, &p179} - p130.items = []parser{&p83, &p180} - var p47 = sequenceParser{id: 47, commit: 2, ranges: [][]int{{0, -1}, {1, 1}}} - p47.items = []parser{&p186, &p130} - p48.items = []parser{&p130, &p47} - var p77 = sequenceParser{id: 77, commit: 64, name: "choice", ranges: [][]int{{1, 1}, {0, -1}, {1, 1}, {0, -1}}, generalizations: []int{165}} - var p103 = choiceParser{id: 103, commit: 66, name: "option"} - p103.options = []parser{&p37, &p162, &p31, &p48} - var p164 = sequenceParser{id: 164, commit: 2, ranges: [][]int{{1, 1}, {0, -1}, {1, 1}}} - var p115 = sequenceParser{id: 115, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var p10 = charParser{id: 10, chars: []rune{124}} - p115.items = []parser{&p10} - p164.items = []parser{&p115, &p186, &p103} - var p76 = sequenceParser{id: 76, commit: 2, ranges: [][]int{{0, -1}, {1, 1}}} - p76.items = []parser{&p186, &p164} - p77.items = []parser{&p103, &p186, &p164, &p76} - p165.options = []parser{&p37, &p162, &p31, &p48, &p77} - p68.items = []parser{&p90, &p186, &p24, &p186, &p165} - var p111 = sequenceParser{id: 111, commit: 2, ranges: [][]int{{0, -1}, {1, 1}, {0, -1}}} - var p154 = sequenceParser{id: 154, commit: 2, ranges: [][]int{{1, 1}, {0, -1}, {0, -1}, {1, 1}}} - var p60 = sequenceParser{id: 60, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var p33 = charParser{id: 33, chars: []rune{59}} - p60.items = []parser{&p33} - var p153 = sequenceParser{id: 153, commit: 2, ranges: [][]int{{0, -1}, {1, 1}}} - p153.items = []parser{&p186, &p60} - p154.items = []parser{&p60, &p153, &p186, &p68} - var p110 = sequenceParser{id: 110, commit: 2, ranges: [][]int{{0, -1}, {1, 1}}} - p110.items = []parser{&p186, &p154} - p111.items = []parser{&p186, &p154, &p110} - p112.items = []parser{&p68, &p111} - var p72 = sequenceParser{id: 72, commit: 2, ranges: [][]int{{0, -1}, {1, 1}, {0, -1}}} + var p178 = charParser{id: 178, chars: []rune{124}} + p15.items = []parser{&p178} + p120.items = []parser{&p15, &p186, &p155} + var p136 = sequenceParser{id: 136, commit: 2, ranges: [][]int{{0, -1}, {1, 1}}} + p136.items = []parser{&p186, &p120} + p137.items = []parser{&p155, &p186, &p120, &p136} + p64.options = []parser{&p104, &p88, &p58, &p23, &p137} + p42.items = []parser{&p87, &p186, &p5, &p186, &p64} + var p44 = sequenceParser{id: 44, commit: 2, ranges: [][]int{{0, -1}, {1, 1}, {0, -1}}} + var p109 = sequenceParser{id: 109, commit: 2, ranges: [][]int{{1, 1}, {0, -1}, {0, -1}, {1, 1}}} var p91 = sequenceParser{id: 91, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var p4 = charParser{id: 4, chars: []rune{59}} - p91.items = []parser{&p4} - var p71 = sequenceParser{id: 71, commit: 2, ranges: [][]int{{0, -1}, {1, 1}}} - p71.items = []parser{&p186, &p91} - p72.items = []parser{&p186, &p91, &p71} - p187.items = []parser{&p70, &p186, &p112, &p72} + var p6 = charParser{id: 6, chars: []rune{59}} + p91.items = []parser{&p6} + var p108 = sequenceParser{id: 108, commit: 2, ranges: [][]int{{0, -1}, {1, 1}}} + p108.items = []parser{&p186, &p91} + p109.items = []parser{&p91, &p108, &p186, &p42} + var p43 = sequenceParser{id: 43, commit: 2, ranges: [][]int{{0, -1}, {1, 1}}} + p43.items = []parser{&p186, &p109} + p44.items = []parser{&p186, &p109, &p43} + p45.items = []parser{&p42, &p44} + var p10 = sequenceParser{id: 10, commit: 2, ranges: [][]int{{0, -1}, {1, 1}, {0, -1}}} + var p147 = sequenceParser{id: 147, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var p164 = charParser{id: 164, chars: []rune{59}} + p147.items = []parser{&p164} + var p9 = sequenceParser{id: 9, commit: 2, ranges: [][]int{{0, -1}, {1, 1}}} + p9.items = []parser{&p186, &p147} + p10.items = []parser{&p186, &p147, &p9} + p187.items = []parser{&p8, &p186, &p45, &p10} 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 b125 = choiceBuilder{id: 125, commit: 66} - var b84 = sequenceBuilder{id: 84, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var b105 = charBuilder{} - b84.items = []builder{&b105} - var b78 = sequenceBuilder{id: 78, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var b175 = charBuilder{} - b78.items = []builder{&b175} - var b97 = sequenceBuilder{id: 97, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var b85 = charBuilder{} - b97.items = []builder{&b85} - var b5 = sequenceBuilder{id: 5, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var b26 = charBuilder{} - b5.items = []builder{&b26} - var b145 = sequenceBuilder{id: 145, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var b41 = charBuilder{} - b145.items = []builder{&b41} - var b137 = sequenceBuilder{id: 137, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var b18 = charBuilder{} - b137.items = []builder{&b18} + var b124 = choiceBuilder{id: 124, commit: 66} + var b38 = sequenceBuilder{id: 38, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b160 = charBuilder{} + b38.items = []builder{&b160} var b181 = sequenceBuilder{id: 181, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var b98 = charBuilder{} - b181.items = []builder{&b98} - b125.options = []builder{&b84, &b78, &b97, &b5, &b145, &b137, &b181} - var b168 = sequenceBuilder{id: 168, commit: 72, name: "comment", ranges: [][]int{{1, 1}, {0, -1}, {1, 1}, {0, -1}}} - var b160 = choiceBuilder{id: 160, commit: 74} - var b42 = sequenceBuilder{id: 42, commit: 74, ranges: [][]int{{1, 1}, {0, -1}, {1, 1}, {0, -1}}} - var b35 = sequenceBuilder{id: 35, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}, {1, 1}, {1, 1}}} - var b73 = charBuilder{} - var b117 = charBuilder{} - b35.items = []builder{&b73, &b117} - var b138 = sequenceBuilder{id: 138, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var b132 = charBuilder{} - b138.items = []builder{&b132} - b42.items = []builder{&b35, &b138} - var b159 = sequenceBuilder{id: 159, commit: 74, ranges: [][]int{{1, 1}, {0, -1}, {1, 1}, {1, 1}, {0, -1}, {1, 1}}} - var b166 = sequenceBuilder{id: 166, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}, {1, 1}, {1, 1}}} - var b182 = charBuilder{} - var b113 = charBuilder{} - b166.items = []builder{&b182, &b113} - var b148 = choiceBuilder{id: 148, commit: 10} - var b54 = sequenceBuilder{id: 54, commit: 10, ranges: [][]int{{1, 1}, {1, 1}, {1, 1}, {1, 1}}} - var b22 = sequenceBuilder{id: 22, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var b146 = charBuilder{} - b22.items = []builder{&b146} - var b155 = sequenceBuilder{id: 155, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var b147 = charBuilder{} - b155.items = []builder{&b147} - b54.items = []builder{&b22, &b155} - var b106 = sequenceBuilder{id: 106, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var b34 = charBuilder{} - b106.items = []builder{&b34} - b148.options = []builder{&b54, &b106} - var b50 = sequenceBuilder{id: 50, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}, {1, 1}, {1, 1}}} - var b114 = charBuilder{} - var b121 = charBuilder{} - b50.items = []builder{&b114, &b121} - b159.items = []builder{&b166, &b148, &b50} - b160.options = []builder{&b42, &b159} - var b123 = sequenceBuilder{id: 123, commit: 10, ranges: [][]int{{0, -1}, {0, 1}, {0, -1}, {1, 1}, {0, -1}, {0, 1}, {0, -1}, {1, 1}}} - var b79 = choiceBuilder{id: 79, commit: 74} - var b12 = sequenceBuilder{id: 12, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var b167 = charBuilder{} - b12.items = []builder{&b167} - var b13 = sequenceBuilder{id: 13, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var b6 = charBuilder{} - b13.items = []builder{&b6} - var b86 = sequenceBuilder{id: 86, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var b172 = charBuilder{} - b86.items = []builder{&b172} - var b139 = sequenceBuilder{id: 139, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var b122 = charBuilder{} - b139.items = []builder{&b122} - var b14 = sequenceBuilder{id: 14, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var b183 = charBuilder{} - b14.items = []builder{&b183} - var b141 = sequenceBuilder{id: 141, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var b43 = charBuilder{} - b141.items = []builder{&b43} - b79.options = []builder{&b12, &b13, &b86, &b139, &b14, &b141} - var b156 = sequenceBuilder{id: 156, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var b64 = charBuilder{} - b156.items = []builder{&b64} - b123.items = []builder{&b79, &b156, &b79, &b160} - b168.items = []builder{&b160, &b123} - b185.options = []builder{&b125, &b168} + var b32 = charBuilder{} + b181.items = []builder{&b32} + var b75 = sequenceBuilder{id: 75, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b92 = charBuilder{} + b75.items = []builder{&b92} + var b83 = sequenceBuilder{id: 83, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b61 = charBuilder{} + b83.items = []builder{&b61} + var b131 = sequenceBuilder{id: 131, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b139 = charBuilder{} + b131.items = []builder{&b139} + var b182 = sequenceBuilder{id: 182, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b12 = charBuilder{} + b182.items = []builder{&b12} + var b165 = sequenceBuilder{id: 165, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b118 = charBuilder{} + b165.items = []builder{&b118} + b124.options = []builder{&b38, &b181, &b75, &b83, &b131, &b182, &b165} + var b78 = sequenceBuilder{id: 78, commit: 72, name: "comment", ranges: [][]int{{1, 1}, {0, -1}, {1, 1}, {0, -1}}} + var b62 = choiceBuilder{id: 62, commit: 74} + var b33 = sequenceBuilder{id: 33, commit: 74, ranges: [][]int{{1, 1}, {0, -1}, {1, 1}, {0, -1}}} + var b113 = sequenceBuilder{id: 113, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}, {1, 1}, {1, 1}}} + var b112 = charBuilder{} + var b70 = charBuilder{} + b113.items = []builder{&b112, &b70} + var b47 = sequenceBuilder{id: 47, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b76 = charBuilder{} + b47.items = []builder{&b76} + b33.items = []builder{&b113, &b47} + var b101 = sequenceBuilder{id: 101, commit: 74, ranges: [][]int{{1, 1}, {0, -1}, {1, 1}, {1, 1}, {0, -1}, {1, 1}}} + var b151 = sequenceBuilder{id: 151, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}, {1, 1}, {1, 1}}} + var b84 = charBuilder{} + var b68 = charBuilder{} + b151.items = []builder{&b84, &b68} + var b171 = choiceBuilder{id: 171, commit: 10} + var b100 = sequenceBuilder{id: 100, 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 b93 = charBuilder{} + b111.items = []builder{&b93} + var b143 = sequenceBuilder{id: 143, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b99 = charBuilder{} + b143.items = []builder{&b99} + b100.items = []builder{&b111, &b143} + var b148 = sequenceBuilder{id: 148, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b166 = charBuilder{} + b148.items = []builder{&b166} + b171.options = []builder{&b100, &b148} + var b46 = sequenceBuilder{id: 46, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}, {1, 1}, {1, 1}}} + var b19 = charBuilder{} + var b69 = charBuilder{} + b46.items = []builder{&b19, &b69} + b101.items = []builder{&b151, &b171, &b46} + b62.options = []builder{&b33, &b101} + var b13 = sequenceBuilder{id: 13, 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 b26 = sequenceBuilder{id: 26, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b77 = charBuilder{} + b26.items = []builder{&b77} + var b172 = sequenceBuilder{id: 172, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b94 = charBuilder{} + b172.items = []builder{&b94} + var b152 = sequenceBuilder{id: 152, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b102 = charBuilder{} + b152.items = []builder{&b102} + var b85 = sequenceBuilder{id: 85, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b63 = charBuilder{} + b85.items = []builder{&b63} + var b167 = sequenceBuilder{id: 167, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b149 = charBuilder{} + b167.items = []builder{&b149} + var b144 = sequenceBuilder{id: 144, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b168 = charBuilder{} + b144.items = []builder{&b168} + b125.options = []builder{&b26, &b172, &b152, &b85, &b167, &b144} + var b27 = sequenceBuilder{id: 27, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b95 = charBuilder{} + b27.items = []builder{&b95} + b13.items = []builder{&b125, &b27, &b125, &b62} + b78.items = []builder{&b62, &b13} + b185.options = []builder{&b124, &b78} b186.options = []builder{&b185} var b187 = sequenceBuilder{id: 187, commit: 66, ranges: [][]int{{0, 1}, {0, -1}, {0, 1}, {0, 1}}} - var b70 = sequenceBuilder{id: 70, commit: 2, ranges: [][]int{{1, 1}, {0, -1}}} - var b161 = sequenceBuilder{id: 161, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var b25 = charBuilder{} - b161.items = []builder{&b25} - var b69 = sequenceBuilder{id: 69, commit: 2, ranges: [][]int{{0, -1}, {1, 1}}} - b69.items = []builder{&b186, &b161} - b70.items = []builder{&b161, &b69} - var b112 = sequenceBuilder{id: 112, commit: 66, ranges: [][]int{{1, 1}, {0, 1}}} - var b68 = sequenceBuilder{id: 68, commit: 64, name: "definition", ranges: [][]int{{1, 1}, {0, -1}, {1, 1}, {0, -1}, {1, 1}}} - var b90 = sequenceBuilder{id: 90, commit: 74, ranges: [][]int{{1, 1}, {0, -1}, {1, 1}, {0, -1}}} - var b162 = sequenceBuilder{id: 162, commit: 72, name: "symbol", ranges: [][]int{{1, -1}, {1, -1}}} - var b29 = sequenceBuilder{id: 29, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var b135 = charBuilder{} - b29.items = []builder{&b135} - b162.items = []builder{&b29} - var b136 = sequenceBuilder{id: 136, commit: 10, ranges: [][]int{{1, 1}, {1, 1}, {1, 1}, {1, 1}}} - var b89 = sequenceBuilder{id: 89, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var b59 = charBuilder{} - b89.items = []builder{&b59} - var b56 = choiceBuilder{id: 56, commit: 66} - var b32 = sequenceBuilder{id: 32, 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 b11 = charBuilder{} - var b116 = charBuilder{} - var b151 = charBuilder{} - var b1 = charBuilder{} - b32.items = []builder{&b58, &b11, &b116, &b151, &b1} - var b2 = sequenceBuilder{id: 2, commit: 72, name: "ws", allChars: true, ranges: [][]int{{1, 1}, {1, 1}, {1, 1}, {1, 1}}} - var b40 = charBuilder{} - var b88 = charBuilder{} - b2.items = []builder{&b40, &b88} - var b104 = sequenceBuilder{id: 104, 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 b67 = charBuilder{} - var b174 = charBuilder{} - var b52 = charBuilder{} - b104.items = []builder{&b118, &b67, &b174, &b52} - var b171 = sequenceBuilder{id: 171, 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 b66 = charBuilder{} - var b119 = charBuilder{} - var b124 = charBuilder{} - var b3 = charBuilder{} - var b53 = charBuilder{} - var b140 = charBuilder{} - var b170 = charBuilder{} - var b131 = charBuilder{} - b171.items = []builder{&b66, &b119, &b124, &b3, &b53, &b140, &b170, &b131} - var b27 = sequenceBuilder{id: 27, 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 b109 = charBuilder{} - var b49 = charBuilder{} - var b120 = charBuilder{} - var b152 = charBuilder{} - b27.items = []builder{&b109, &b49, &b120, &b152} - b56.options = []builder{&b32, &b2, &b104, &b171, &b27} - b136.items = []builder{&b89, &b56} - b90.items = []builder{&b162, &b136} - var b24 = sequenceBuilder{id: 24, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var b17 = charBuilder{} - b24.items = []builder{&b17} - var b165 = choiceBuilder{id: 165, commit: 66} - var b37 = choiceBuilder{id: 37, commit: 66} - var b87 = sequenceBuilder{id: 87, commit: 72, name: "any-char", allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var b176 = charBuilder{} - b87.items = []builder{&b176} - var b99 = sequenceBuilder{id: 99, commit: 72, name: "char-class", ranges: [][]int{{1, 1}, {0, 1}, {0, -1}, {1, 1}, {1, 1}, {0, 1}, {0, -1}, {1, 1}}} - var b142 = sequenceBuilder{id: 142, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var b51 = charBuilder{} - b142.items = []builder{&b51} - var b55 = sequenceBuilder{id: 55, commit: 72, name: "class-not", allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var b19 = charBuilder{} - b55.items = []builder{&b19} - var b158 = choiceBuilder{id: 158, commit: 10} - var b28 = choiceBuilder{id: 28, commit: 72, name: "class-char"} - var b65 = sequenceBuilder{id: 65, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var b81 = charBuilder{} - b65.items = []builder{&b81} - var b178 = sequenceBuilder{id: 178, commit: 10, ranges: [][]int{{1, 1}, {1, 1}, {1, 1}, {1, 1}}} - var b177 = sequenceBuilder{id: 177, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var b157 = charBuilder{} - b177.items = []builder{&b157} - var b36 = sequenceBuilder{id: 36, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var b82 = charBuilder{} - b36.items = []builder{&b82} - b178.items = []builder{&b177, &b36} - b28.options = []builder{&b65, &b178} - var b45 = sequenceBuilder{id: 45, commit: 72, name: "char-range", ranges: [][]int{{1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}}} - var b133 = sequenceBuilder{id: 133, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var b44 = charBuilder{} - b133.items = []builder{&b44} - b45.items = []builder{&b28, &b133, &b28} - b158.options = []builder{&b28, &b45} - var b61 = sequenceBuilder{id: 61, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var b92 = charBuilder{} - b61.items = []builder{&b92} - b99.items = []builder{&b142, &b55, &b158, &b61} - var b80 = sequenceBuilder{id: 80, commit: 72, name: "char-sequence", ranges: [][]int{{1, 1}, {0, -1}, {1, 1}, {1, 1}, {0, -1}, {1, 1}}} - var b107 = sequenceBuilder{id: 107, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var b7 = charBuilder{} - b107.items = []builder{&b7} - var b46 = choiceBuilder{id: 46, commit: 72, name: "sequence-char"} - var b134 = sequenceBuilder{id: 134, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var b20 = charBuilder{} - b134.items = []builder{&b20} - var b169 = sequenceBuilder{id: 169, commit: 10, ranges: [][]int{{1, 1}, {1, 1}, {1, 1}, {1, 1}}} - var b100 = sequenceBuilder{id: 100, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var b38 = charBuilder{} - b100.items = []builder{&b38} - var b173 = sequenceBuilder{id: 173, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var b62 = charBuilder{} - b173.items = []builder{&b62} - b169.items = []builder{&b100, &b173} - b46.options = []builder{&b134, &b169} - var b143 = sequenceBuilder{id: 143, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var b93 = charBuilder{} - b143.items = []builder{&b93} - b80.items = []builder{&b107, &b46, &b143} - b37.options = []builder{&b87, &b99, &b80} - var b31 = sequenceBuilder{id: 31, commit: 66, ranges: [][]int{{1, 1}, {0, -1}, {1, 1}, {0, -1}, {1, 1}}} - var b184 = sequenceBuilder{id: 184, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var b94 = charBuilder{} - b184.items = []builder{&b94} - var b95 = sequenceBuilder{id: 95, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var b30 = charBuilder{} - b95.items = []builder{&b30} - b31.items = []builder{&b184, &b186, &b165, &b186, &b95} - var b48 = sequenceBuilder{id: 48, commit: 64, name: "sequence", ranges: [][]int{{1, 1}, {0, -1}}} - var b130 = sequenceBuilder{id: 130, commit: 72, name: "item", ranges: [][]int{{1, 1}, {0, 1}, {1, 1}, {0, 1}}} - var b83 = choiceBuilder{id: 83, commit: 10} - b83.options = []builder{&b37, &b162, &b31} - var b180 = choiceBuilder{id: 180, 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 b126 = sequenceBuilder{id: 126, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var b74 = charBuilder{} - b126.items = []builder{&b74} - var b163 = sequenceBuilder{id: 163, commit: 64, name: "count", ranges: [][]int{{1, 1}}} - var b108 = sequenceBuilder{id: 108, commit: 74, ranges: [][]int{{1, -1}, {1, -1}}} - var b15 = sequenceBuilder{id: 15, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var b144 = charBuilder{} - b15.items = []builder{&b144} - b108.items = []builder{&b15} - b163.items = []builder{&b108} - var b8 = sequenceBuilder{id: 8, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var b9 = charBuilder{} - b8.items = []builder{&b9} - b149.items = []builder{&b126, &b186, &b163, &b186, &b8} - var b23 = sequenceBuilder{id: 23, 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 b63 = sequenceBuilder{id: 63, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b8 = sequenceBuilder{id: 8, commit: 2, ranges: [][]int{{1, 1}, {0, -1}}} + var b11 = sequenceBuilder{id: 11, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b31 = charBuilder{} + b11.items = []builder{&b31} + var b7 = sequenceBuilder{id: 7, commit: 2, ranges: [][]int{{0, -1}, {1, 1}}} + b7.items = []builder{&b186, &b11} + b8.items = []builder{&b11, &b7} + var b45 = sequenceBuilder{id: 45, commit: 66, ranges: [][]int{{1, 1}, {0, 1}}} + var b42 = sequenceBuilder{id: 42, commit: 64, name: "definition", ranges: [][]int{{1, 1}, {0, -1}, {1, 1}, {0, -1}, {1, 1}}} + var b87 = sequenceBuilder{id: 87, commit: 74, ranges: [][]int{{1, 1}, {0, -1}, {1, 1}, {0, -1}}} + var b88 = sequenceBuilder{id: 88, commit: 72, name: "symbol", ranges: [][]int{{1, -1}, {1, -1}}} + var b57 = sequenceBuilder{id: 57, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b14 = charBuilder{} + b57.items = []builder{&b14} + b88.items = []builder{&b57} + var b158 = sequenceBuilder{id: 158, 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 b146 = charBuilder{} + b82.items = []builder{&b146} + var b4 = choiceBuilder{id: 4, commit: 66} + var b97 = sequenceBuilder{id: 97, 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 b128 = charBuilder{} + var b163 = charBuilder{} var b150 = charBuilder{} - b63.items = []builder{&b150} - var b127 = sequenceBuilder{id: 127, commit: 64, name: "range-from", ranges: [][]int{{1, 1}}} - b127.items = []builder{&b108} - var b96 = sequenceBuilder{id: 96, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var b39 = charBuilder{} - b96.items = []builder{&b39} - var b129 = sequenceBuilder{id: 129, commit: 64, name: "range-to", ranges: [][]int{{1, 1}}} - b129.items = []builder{&b108} - var b101 = sequenceBuilder{id: 101, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var b21 = charBuilder{} - b101.items = []builder{&b21} - b23.items = []builder{&b63, &b186, &b127, &b186, &b96, &b186, &b129, &b186, &b101} - var b128 = sequenceBuilder{id: 128, commit: 72, name: "one-or-more", allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b106 = charBuilder{} + var b138 = charBuilder{} + b97.items = []builder{&b128, &b163, &b150, &b106, &b138} + var b54 = sequenceBuilder{id: 54, commit: 72, name: "ws", allChars: true, ranges: [][]int{{1, 1}, {1, 1}, {1, 1}, {1, 1}}} + var b67 = charBuilder{} + var b41 = charBuilder{} + b54.items = []builder{&b67, &b41} + var b129 = sequenceBuilder{id: 129, 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 b30 = charBuilder{} + var b24 = charBuilder{} + var b65 = charBuilder{} var b16 = charBuilder{} - b128.items = []builder{&b16} - var b57 = sequenceBuilder{id: 57, commit: 72, name: "zero-or-more", allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var b102 = charBuilder{} - b57.items = []builder{&b102} - var b179 = sequenceBuilder{id: 179, commit: 72, name: "zero-or-one", allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var b75 = charBuilder{} - b179.items = []builder{&b75} - b180.options = []builder{&b149, &b23, &b128, &b57, &b179} - b130.items = []builder{&b83, &b180} - var b47 = sequenceBuilder{id: 47, commit: 2, ranges: [][]int{{0, -1}, {1, 1}}} - b47.items = []builder{&b186, &b130} - b48.items = []builder{&b130, &b47} - var b77 = sequenceBuilder{id: 77, commit: 64, name: "choice", ranges: [][]int{{1, 1}, {0, -1}, {1, 1}, {0, -1}}} - var b103 = choiceBuilder{id: 103, commit: 66} - b103.options = []builder{&b37, &b162, &b31, &b48} - var b164 = sequenceBuilder{id: 164, commit: 2, ranges: [][]int{{1, 1}, {0, -1}, {1, 1}}} - var b115 = sequenceBuilder{id: 115, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var b10 = charBuilder{} - b115.items = []builder{&b10} - b164.items = []builder{&b115, &b186, &b103} - var b76 = sequenceBuilder{id: 76, commit: 2, ranges: [][]int{{0, -1}, {1, 1}}} - b76.items = []builder{&b186, &b164} - b77.items = []builder{&b103, &b186, &b164, &b76} - b165.options = []builder{&b37, &b162, &b31, &b48, &b77} - b68.items = []builder{&b90, &b186, &b24, &b186, &b165} - var b111 = sequenceBuilder{id: 111, commit: 2, ranges: [][]int{{0, -1}, {1, 1}, {0, -1}}} - var b154 = sequenceBuilder{id: 154, commit: 2, ranges: [][]int{{1, 1}, {0, -1}, {0, -1}, {1, 1}}} - var b60 = sequenceBuilder{id: 60, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var b33 = charBuilder{} - b60.items = []builder{&b33} - var b153 = sequenceBuilder{id: 153, commit: 2, ranges: [][]int{{0, -1}, {1, 1}}} - b153.items = []builder{&b186, &b60} - b154.items = []builder{&b60, &b153, &b186, &b68} - var b110 = sequenceBuilder{id: 110, commit: 2, ranges: [][]int{{0, -1}, {1, 1}}} - b110.items = []builder{&b186, &b154} - b111.items = []builder{&b186, &b154, &b110} - b112.items = []builder{&b68, &b111} - var b72 = sequenceBuilder{id: 72, commit: 2, ranges: [][]int{{0, -1}, {1, 1}, {0, -1}}} + b129.items = []builder{&b30, &b24, &b65, &b16} + var b110 = sequenceBuilder{id: 110, 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 b179 = charBuilder{} + var b121 = charBuilder{} + var b73 = charBuilder{} + var b130 = charBuilder{} + var b17 = charBuilder{} + var b180 = charBuilder{} + var b74 = charBuilder{} + var b184 = charBuilder{} + b110.items = []builder{&b179, &b121, &b73, &b130, &b17, &b180, &b74, &b184} + var b18 = sequenceBuilder{id: 18, 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 b107 = charBuilder{} + var b50 = charBuilder{} + var b122 = charBuilder{} + var b123 = charBuilder{} + b18.items = []builder{&b107, &b50, &b122, &b123} + b4.options = []builder{&b97, &b54, &b129, &b110, &b18} + b158.items = []builder{&b82, &b4} + b87.items = []builder{&b88, &b158} + var b5 = sequenceBuilder{id: 5, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b159 = charBuilder{} + b5.items = []builder{&b159} + var b64 = choiceBuilder{id: 64, commit: 66} + var b104 = choiceBuilder{id: 104, commit: 66} + var b103 = sequenceBuilder{id: 103, commit: 72, name: "any-char", allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b114 = charBuilder{} + b103.items = []builder{&b114} + var b51 = sequenceBuilder{id: 51, commit: 72, name: "char-class", ranges: [][]int{{1, 1}, {0, 1}, {0, -1}, {1, 1}, {1, 1}, {0, 1}, {0, -1}, {1, 1}}} + var b153 = sequenceBuilder{id: 153, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b115 = charBuilder{} + b153.items = []builder{&b115} + var b71 = sequenceBuilder{id: 71, commit: 72, name: "class-not", allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b132 = charBuilder{} + b71.items = []builder{&b132} + var b116 = choiceBuilder{id: 116, commit: 10} + var b48 = choiceBuilder{id: 48, commit: 72, name: "class-char"} + var b156 = sequenceBuilder{id: 156, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b173 = charBuilder{} + b156.items = []builder{&b173} + var b1 = sequenceBuilder{id: 1, commit: 10, ranges: [][]int{{1, 1}, {1, 1}, {1, 1}, {1, 1}}} + var b161 = sequenceBuilder{id: 161, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b55 = charBuilder{} + b161.items = []builder{&b55} + var b34 = sequenceBuilder{id: 34, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b133 = charBuilder{} + b34.items = []builder{&b133} + b1.items = []builder{&b161, &b34} + b48.options = []builder{&b156, &b1} + 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 b140 = sequenceBuilder{id: 140, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b39 = charBuilder{} + b140.items = []builder{&b39} + b86.items = []builder{&b48, &b140, &b48} + b116.options = []builder{&b48, &b86} + var b28 = sequenceBuilder{id: 28, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b169 = charBuilder{} + b28.items = []builder{&b169} + b51.items = []builder{&b153, &b71, &b116, &b28} + var b36 = sequenceBuilder{id: 36, commit: 72, name: "char-sequence", ranges: [][]int{{1, 1}, {0, -1}, {1, 1}, {1, 1}, {0, -1}, {1, 1}}} + var b35 = sequenceBuilder{id: 35, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b80 = charBuilder{} + b35.items = []builder{&b80} + var b141 = choiceBuilder{id: 141, commit: 72, name: "sequence-char"} + var b170 = sequenceBuilder{id: 170, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b20 = charBuilder{} + b170.items = []builder{&b20} + var b174 = sequenceBuilder{id: 174, commit: 10, ranges: [][]int{{1, 1}, {1, 1}, {1, 1}, {1, 1}}} + var b29 = sequenceBuilder{id: 29, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b79 = charBuilder{} + b29.items = []builder{&b79} + var b134 = sequenceBuilder{id: 134, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b56 = charBuilder{} + b134.items = []builder{&b56} + b174.items = []builder{&b29, &b134} + b141.options = []builder{&b170, &b174} + var b157 = sequenceBuilder{id: 157, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b2 = charBuilder{} + b157.items = []builder{&b2} + b36.items = []builder{&b35, &b141, &b157} + b104.options = []builder{&b103, &b51, &b36} + var b58 = sequenceBuilder{id: 58, commit: 66, ranges: [][]int{{1, 1}, {0, -1}, {1, 1}, {0, -1}, {1, 1}}} + var b49 = sequenceBuilder{id: 49, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b105 = charBuilder{} + b49.items = []builder{&b105} + var b89 = sequenceBuilder{id: 89, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b3 = charBuilder{} + b89.items = []builder{&b3} + b58.items = []builder{&b49, &b186, &b64, &b186, &b89} + var b23 = sequenceBuilder{id: 23, commit: 64, name: "sequence", ranges: [][]int{{1, 1}, {0, -1}}} + var b135 = sequenceBuilder{id: 135, commit: 72, name: "item", ranges: [][]int{{1, 1}, {0, 1}, {1, 1}, {0, 1}}} + var b72 = choiceBuilder{id: 72, commit: 10} + b72.options = []builder{&b104, &b88, &b58} + var b60 = choiceBuilder{id: 60, commit: 66} + var b117 = sequenceBuilder{id: 117, commit: 64, name: "count-quantifier", ranges: [][]int{{1, 1}, {0, -1}, {1, 1}, {0, -1}, {1, 1}}} + var b162 = sequenceBuilder{id: 162, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b81 = charBuilder{} + b162.items = []builder{&b81} + var b175 = sequenceBuilder{id: 175, commit: 64, name: "count", ranges: [][]int{{1, 1}}} + var b52 = sequenceBuilder{id: 52, commit: 74, ranges: [][]int{{1, -1}, {1, -1}}} + var b119 = sequenceBuilder{id: 119, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b126 = charBuilder{} + b119.items = []builder{&b126} + b52.items = []builder{&b119} + b175.items = []builder{&b52} + var b176 = sequenceBuilder{id: 176, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b142 = charBuilder{} + b176.items = []builder{&b142} + b117.items = []builder{&b162, &b186, &b175, &b186, &b176} + var b154 = sequenceBuilder{id: 154, 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 b53 = sequenceBuilder{id: 53, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b127 = charBuilder{} + b53.items = []builder{&b127} + var b183 = sequenceBuilder{id: 183, commit: 64, name: "range-from", ranges: [][]int{{1, 1}}} + b183.items = []builder{&b52} + var b21 = sequenceBuilder{id: 21, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b25 = charBuilder{} + b21.items = []builder{&b25} + var b59 = sequenceBuilder{id: 59, commit: 64, name: "range-to", ranges: [][]int{{1, 1}}} + b59.items = []builder{&b52} + var b145 = sequenceBuilder{id: 145, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b40 = charBuilder{} + b145.items = []builder{&b40} + b154.items = []builder{&b53, &b186, &b183, &b186, &b21, &b186, &b59, &b186, &b145} + var b66 = sequenceBuilder{id: 66, commit: 72, name: "one-or-more", allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b177 = charBuilder{} + b66.items = []builder{&b177} + var b37 = sequenceBuilder{id: 37, commit: 72, name: "zero-or-more", allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b96 = charBuilder{} + b37.items = []builder{&b96} + var b98 = sequenceBuilder{id: 98, commit: 72, name: "zero-or-one", allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b90 = charBuilder{} + b98.items = []builder{&b90} + b60.options = []builder{&b117, &b154, &b66, &b37, &b98} + b135.items = []builder{&b72, &b60} + var b22 = sequenceBuilder{id: 22, commit: 2, ranges: [][]int{{0, -1}, {1, 1}}} + b22.items = []builder{&b186, &b135} + b23.items = []builder{&b135, &b22} + var b137 = sequenceBuilder{id: 137, commit: 64, name: "choice", ranges: [][]int{{1, 1}, {0, -1}, {1, 1}, {0, -1}}} + var b155 = choiceBuilder{id: 155, commit: 66} + b155.options = []builder{&b104, &b88, &b58, &b23} + var b120 = sequenceBuilder{id: 120, commit: 2, ranges: [][]int{{1, 1}, {0, -1}, {1, 1}}} + var b15 = sequenceBuilder{id: 15, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b178 = charBuilder{} + b15.items = []builder{&b178} + b120.items = []builder{&b15, &b186, &b155} + var b136 = sequenceBuilder{id: 136, commit: 2, ranges: [][]int{{0, -1}, {1, 1}}} + b136.items = []builder{&b186, &b120} + b137.items = []builder{&b155, &b186, &b120, &b136} + b64.options = []builder{&b104, &b88, &b58, &b23, &b137} + b42.items = []builder{&b87, &b186, &b5, &b186, &b64} + var b44 = sequenceBuilder{id: 44, commit: 2, ranges: [][]int{{0, -1}, {1, 1}, {0, -1}}} + var b109 = sequenceBuilder{id: 109, commit: 2, ranges: [][]int{{1, 1}, {0, -1}, {0, -1}, {1, 1}}} var b91 = sequenceBuilder{id: 91, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var b4 = charBuilder{} - b91.items = []builder{&b4} - var b71 = sequenceBuilder{id: 71, commit: 2, ranges: [][]int{{0, -1}, {1, 1}}} - b71.items = []builder{&b186, &b91} - b72.items = []builder{&b186, &b91, &b71} - b187.items = []builder{&b70, &b186, &b112, &b72} + var b6 = charBuilder{} + b91.items = []builder{&b6} + var b108 = sequenceBuilder{id: 108, commit: 2, ranges: [][]int{{0, -1}, {1, 1}}} + b108.items = []builder{&b186, &b91} + b109.items = []builder{&b91, &b108, &b186, &b42} + var b43 = sequenceBuilder{id: 43, commit: 2, ranges: [][]int{{0, -1}, {1, 1}}} + b43.items = []builder{&b186, &b109} + b44.items = []builder{&b186, &b109, &b43} + b45.items = []builder{&b42, &b44} + var b10 = sequenceBuilder{id: 10, commit: 2, ranges: [][]int{{0, -1}, {1, 1}, {0, -1}}} + var b147 = sequenceBuilder{id: 147, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b164 = charBuilder{} + b147.items = []builder{&b164} + var b9 = sequenceBuilder{id: 9, commit: 2, ranges: [][]int{{0, -1}, {1, 1}}} + b9.items = []builder{&b186, &b147} + b10.items = []builder{&b186, &b147, &b9} + b187.items = []builder{&b8, &b186, &b45, &b10} b188.items = []builder{&b186, &b187, &b186} return parse(r, &p188, &b188)