From eb8250c31167c6c5d75962d62ae1de37a787f927 Mon Sep 17 00:00:00 2001 From: Arpad Ryszka Date: Sat, 6 Jan 2018 20:30:00 +0100 Subject: [PATCH] simplify generated output --- chardefine.go | 29 +- choicedefine.go | 58 ++- gendoc.go | 2 +- self/self.go | 1176 ++++++++++++++++++++++----------------------- sequencedefine.go | 90 ++-- 5 files changed, 701 insertions(+), 654 deletions(-) diff --git a/chardefine.go b/chardefine.go index 232b4f0..c9041e6 100644 --- a/chardefine.go +++ b/chardefine.go @@ -89,21 +89,30 @@ func (p *charParser) generate(w io.Writer, done map[string]bool) error { } fprintf("var p%d = charParser{", p.id) - fprintf("id: %d, not: %t,", p.id, p.not) - - fprintf("chars: []rune{") - for i := range p.chars { - fprintf("%d,", p.chars[i]) + fprintf("id: %d,", p.id) + if p.not { + fprintf("not: true,") } - fprintf("},") + if len(p.chars) > 0 { + fprintf("chars: []rune{") + for i := range p.chars { + fprintf("%d,", p.chars[i]) + } - fprintf("ranges: [][]rune{") - for i := range p.ranges { - fprintf("{%d, %d},", p.ranges[i][0], p.ranges[i][1]) + fprintf("},") } - fprintf("}};") + if len(p.ranges) > 0 { + fprintf("ranges: [][]rune{") + for i := range p.ranges { + fprintf("{%d, %d},", p.ranges[i][0], p.ranges[i][1]) + } + + fprintf("},") + } + + fprintf("};") return err } diff --git a/choicedefine.go b/choicedefine.go index 16f8735..c824cad 100644 --- a/choicedefine.go +++ b/choicedefine.go @@ -157,29 +157,37 @@ func (p *choiceParser) generate(w io.Writer, done map[string]bool) error { fprintf("var p%d = choiceParser{", p.id) fprintf("id: %d, commit: %d,", p.id, p.commit) + if p.commitType()&userDefined != 0 { fprintf("name: \"%s\",", p.name) } - fprintf("generalizations: []int{") - for i := range p.generalizations { - fprintf("%d,", p.generalizations[i]) - } - - fprintf("}};") - - for i := range p.options { - if err := p.options[i].(generator).generate(w, done); err != nil { - return err + if len(p.generalizations) > 0 { + fprintf("generalizations: []int{") + for i := range p.generalizations { + fprintf("%d,", p.generalizations[i]) } - } - fprintf("p%d.options = []parser{", p.id) - for i := range p.options { - fprintf("&p%d,", p.options[i].nodeID()) + fprintf("},") } fprintf("};") + + if len(p.options) > 0 { + for i := range p.options { + if err := p.options[i].(generator).generate(w, done); err != nil { + return err + } + } + + fprintf("p%d.options = []parser{", p.id) + for i := range p.options { + fprintf("&p%d,", p.options[i].nodeID()) + } + + fprintf("};") + } + return err } @@ -201,23 +209,27 @@ func (b *choiceBuilder) generate(w io.Writer, done map[string]bool) error { fprintf("var b%d = choiceBuilder{", b.id) fprintf("id: %d, commit: %d,", b.id, b.commit) + if b.commit&Alias == 0 { fprintf("name: \"%s\",", b.name) } fprintf("};") - for i := range b.options { - if err := b.options[i].(generator).generate(w, done); err != nil { - return err + if len(b.options) > 0 { + for i := range b.options { + if err := b.options[i].(generator).generate(w, done); err != nil { + return err + } } + + fprintf("b%d.options = []builder{", b.id) + for i := range b.options { + fprintf("&b%d,", b.options[i].nodeID()) + } + + fprintf("};") } - fprintf("b%d.options = []builder{", b.id) - for i := range b.options { - fprintf("&b%d,", b.options[i].nodeID()) - } - - fprintf("};") return err } diff --git a/gendoc.go b/gendoc.go index cab240d..7289fd1 100644 --- a/gendoc.go +++ b/gendoc.go @@ -4,7 +4,7 @@ package treerack // only to the source code generated with treerack. const gendoc = ` /* -This file was generated by treerack (https://github.com/aryszka/treerack). +This file was generated with treerack (https://github.com/aryszka/treerack). The contents of this file fall under different licenses. diff --git a/self/self.go b/self/self.go index f20e804..5227f1f 100644 --- a/self/self.go +++ b/self/self.go @@ -1,5 +1,5 @@ /* -This file was generated by treerack (https://github.com/aryszka/treerack). +This file was generated with treerack (https://github.com/aryszka/treerack). The contents of this file fall under different licenses. @@ -744,601 +744,601 @@ func parse(r io.Reader, p parser, b builder) (*Node, error) { } func Parse(r io.Reader) (*Node, error) { - var p188 = sequenceParser{id: 188, commit: 32, allChars: false, ranges: [][]int{{0, -1}, {1, 1}, {0, -1}}, generalizations: []int{}} - var p186 = choiceParser{id: 186, commit: 2, generalizations: []int{}} + 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 p17 = choiceParser{id: 17, commit: 66, name: "wschar", generalizations: []int{185, 186}} - var p109 = sequenceParser{id: 109, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{17, 185, 186}} - var p108 = charParser{id: 108, not: false, chars: []rune{32}, ranges: [][]rune{}} - p109.items = []parser{&p108} - var p170 = sequenceParser{id: 170, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{17, 185, 186}} - var p137 = charParser{id: 137, not: false, chars: []rune{9}, ranges: [][]rune{}} - p170.items = []parser{&p137} - var p54 = sequenceParser{id: 54, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{17, 185, 186}} - var p147 = charParser{id: 147, not: false, chars: []rune{10}, ranges: [][]rune{}} - p54.items = []parser{&p147} - var p64 = sequenceParser{id: 64, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{17, 185, 186}} - var p157 = charParser{id: 157, not: false, chars: []rune{8}, ranges: [][]rune{}} - p64.items = []parser{&p157} - var p72 = sequenceParser{id: 72, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{17, 185, 186}} - var p121 = charParser{id: 121, not: false, chars: []rune{12}, ranges: [][]rune{}} - p72.items = []parser{&p121} - var p19 = sequenceParser{id: 19, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{17, 185, 186}} - var p16 = charParser{id: 16, not: false, chars: []rune{13}, ranges: [][]rune{}} - p19.items = []parser{&p16} - var p5 = sequenceParser{id: 5, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{17, 185, 186}} - var p73 = charParser{id: 73, not: false, chars: []rune{11}, ranges: [][]rune{}} - p5.items = []parser{&p73} - p17.options = []parser{&p109, &p170, &p54, &p64, &p72, &p19, &p5} - var p58 = sequenceParser{id: 58, commit: 72, allChars: false, name: "comment", ranges: [][]int{{1, 1}, {0, -1}, {1, 1}, {0, -1}}, generalizations: []int{185, 186}} - var p43 = choiceParser{id: 43, commit: 74, name: "comment-segment", generalizations: []int{}} - var p144 = sequenceParser{id: 144, commit: 74, allChars: false, name: "line-comment", ranges: [][]int{{1, 1}, {0, -1}, {1, 1}, {0, -1}}, generalizations: []int{43}} - var p138 = sequenceParser{id: 138, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}, {1, 1}, {1, 1}}, generalizations: []int{}} - var p42 = charParser{id: 42, not: false, chars: []rune{47}, ranges: [][]rune{}} - var p35 = charParser{id: 35, not: false, chars: []rune{47}, ranges: [][]rune{}} - p138.items = []parser{&p42, &p35} - var p30 = sequenceParser{id: 30, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{}} - var p166 = charParser{id: 166, not: true, chars: []rune{10}, ranges: [][]rune{}} - p30.items = []parser{&p166} - p144.items = []parser{&p138, &p30} - var p90 = sequenceParser{id: 90, commit: 74, allChars: false, name: "block-comment", ranges: [][]int{{1, 1}, {0, -1}, {1, 1}, {1, 1}, {0, -1}, {1, 1}}, generalizations: []int{43}} - var p129 = sequenceParser{id: 129, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}, {1, 1}, {1, 1}}, generalizations: []int{}} - var p158 = charParser{id: 158, not: false, chars: []rune{47}, ranges: [][]rune{}} - var p95 = charParser{id: 95, not: false, chars: []rune{42}, ranges: [][]rune{}} - p129.items = []parser{&p158, &p95} - var p6 = choiceParser{id: 6, commit: 10, generalizations: []int{}} - var p153 = sequenceParser{id: 153, commit: 10, allChars: false, ranges: [][]int{{1, 1}, {1, 1}, {1, 1}, {1, 1}}, generalizations: []int{6}} - var p101 = sequenceParser{id: 101, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{}} - var p148 = charParser{id: 148, not: false, chars: []rune{42}, ranges: [][]rune{}} - p101.items = []parser{&p148} - var p13 = sequenceParser{id: 13, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{}} - var p142 = charParser{id: 142, not: true, chars: []rune{47}, ranges: [][]rune{}} - p13.items = []parser{&p142} - p153.items = []parser{&p101, &p13} - var p143 = sequenceParser{id: 143, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{6}} - var p83 = charParser{id: 83, not: true, chars: []rune{42}, ranges: [][]rune{}} - p143.items = []parser{&p83} - p6.options = []parser{&p153, &p143} - var p89 = sequenceParser{id: 89, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}, {1, 1}, {1, 1}}, generalizations: []int{}} - var p96 = charParser{id: 96, not: false, chars: []rune{42}, ranges: [][]rune{}} - var p130 = charParser{id: 130, not: false, chars: []rune{47}, ranges: [][]rune{}} - p89.items = []parser{&p96, &p130} - p90.items = []parser{&p129, &p6, &p89} - p43.options = []parser{&p144, &p90} - var p31 = sequenceParser{id: 31, commit: 10, allChars: false, ranges: [][]int{{0, -1}, {0, 1}, {0, -1}, {1, 1}, {0, -1}, {0, 1}, {0, -1}, {1, 1}}, generalizations: []int{}} - var p57 = choiceParser{id: 57, commit: 74, name: "ws-no-nl", generalizations: []int{}} - var p50 = sequenceParser{id: 50, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{57}} - var p167 = charParser{id: 167, not: false, chars: []rune{32}, ranges: [][]rune{}} - p50.items = []parser{&p167} - var p151 = sequenceParser{id: 151, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{57}} - var p114 = charParser{id: 114, not: false, chars: []rune{9}, ranges: [][]rune{}} - p151.items = []parser{&p114} - var p145 = sequenceParser{id: 145, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{57}} - var p36 = charParser{id: 36, not: false, chars: []rune{8}, ranges: [][]rune{}} - p145.items = []parser{&p36} - var p140 = sequenceParser{id: 140, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{57}} - var p122 = charParser{id: 122, not: false, chars: []rune{12}, ranges: [][]rune{}} - p140.items = []parser{&p122} - var p178 = sequenceParser{id: 178, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{57}} - var p77 = charParser{id: 77, not: false, chars: []rune{13}, ranges: [][]rune{}} - p178.items = []parser{&p77} - var p66 = sequenceParser{id: 66, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{57}} - var p37 = charParser{id: 37, not: false, chars: []rune{11}, ranges: [][]rune{}} - p66.items = []parser{&p37} - p57.options = []parser{&p50, &p151, &p145, &p140, &p178, &p66} - var p141 = sequenceParser{id: 141, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{}} - var p51 = charParser{id: 51, not: false, chars: []rune{10}, ranges: [][]rune{}} - p141.items = []parser{&p51} - p31.items = []parser{&p57, &p141, &p57, &p43} - p58.items = []parser{&p43, &p31} - p185.options = []parser{&p17, &p58} + var p114 = choiceParser{id: 114, commit: 66, name: "wschar", generalizations: []int{185, 186}} + var p1 = sequenceParser{id: 1, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{114, 185, 186}} + var p29 = charParser{id: 29, chars: []rune{32}} + p1.items = []parser{&p29} + var p80 = sequenceParser{id: 80, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{114, 185, 186}} + var p105 = charParser{id: 105, chars: []rune{9}} + p80.items = []parser{&p105} + var p81 = sequenceParser{id: 81, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{114, 185, 186}} + var p127 = charParser{id: 127, chars: []rune{10}} + p81.items = []parser{&p127} + var p2 = sequenceParser{id: 2, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{114, 185, 186}} + var p61 = charParser{id: 61, chars: []rune{8}} + p2.items = []parser{&p61} + var p106 = sequenceParser{id: 106, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{114, 185, 186}} + var p175 = charParser{id: 175, chars: []rune{12}} + p106.items = []parser{&p175} + var p113 = sequenceParser{id: 113, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{114, 185, 186}} + var p69 = charParser{id: 69, chars: []rune{13}} + p113.items = []parser{&p69} + var p20 = sequenceParser{id: 20, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{114, 185, 186}} + var p7 = charParser{id: 7, chars: []rune{11}} + p20.items = []parser{&p7} + p114.options = []parser{&p1, &p80, &p81, &p2, &p106, &p113, &p20} + var p152 = sequenceParser{id: 152, commit: 72, name: "comment", ranges: [][]int{{1, 1}, {0, -1}, {1, 1}, {0, -1}}, generalizations: []int{185, 186}} + var p36 = choiceParser{id: 36, commit: 74, name: "comment-segment"} + var p35 = sequenceParser{id: 35, commit: 74, name: "line-comment", ranges: [][]int{{1, 1}, {0, -1}, {1, 1}, {0, -1}}, generalizations: []int{36}} + var p145 = sequenceParser{id: 145, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}, {1, 1}, {1, 1}}} + var p71 = charParser{id: 71, chars: []rune{47}} + var p160 = charParser{id: 160, chars: []rune{47}} + p145.items = []parser{&p71, &p160} + var p95 = sequenceParser{id: 95, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var p21 = charParser{id: 21, not: true, chars: []rune{10}} + p95.items = []parser{&p21} + p35.items = []parser{&p145, &p95} + var p70 = sequenceParser{id: 70, commit: 74, name: "block-comment", ranges: [][]int{{1, 1}, {0, -1}, {1, 1}, {1, 1}, {0, -1}, {1, 1}}, generalizations: []int{36}} + var p90 = sequenceParser{id: 90, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}, {1, 1}, {1, 1}}} + var p62 = charParser{id: 62, chars: []rune{47}} + var p8 = charParser{id: 8, chars: []rune{42}} + p90.items = []parser{&p62, &p8} + var p13 = choiceParser{id: 13, commit: 10} + var p3 = sequenceParser{id: 3, commit: 10, ranges: [][]int{{1, 1}, {1, 1}, {1, 1}, {1, 1}}, generalizations: []int{13}} + var p48 = sequenceParser{id: 48, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var p47 = charParser{id: 47, chars: []rune{42}} + p48.items = []parser{&p47} + var p99 = sequenceParser{id: 99, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var p9 = charParser{id: 9, not: true, chars: []rune{47}} + p99.items = []parser{&p9} + p3.items = []parser{&p48, &p99} + var p30 = sequenceParser{id: 30, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{13}} + var p136 = charParser{id: 136, not: true, chars: []rune{42}} + p30.items = []parser{&p136} + p13.options = []parser{&p3, &p30} + var p151 = sequenceParser{id: 151, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}, {1, 1}, {1, 1}}} + var p54 = charParser{id: 54, chars: []rune{42}} + var p100 = charParser{id: 100, chars: []rune{47}} + p151.items = []parser{&p54, &p100} + p70.items = []parser{&p90, &p13, &p151} + p36.options = []parser{&p35, &p70} + var p10 = sequenceParser{id: 10, commit: 10, ranges: [][]int{{0, -1}, {0, 1}, {0, -1}, {1, 1}, {0, -1}, {0, 1}, {0, -1}, {1, 1}}} + var p146 = choiceParser{id: 146, commit: 74, name: "ws-no-nl"} + var p63 = sequenceParser{id: 63, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{146}} + var p161 = charParser{id: 161, chars: []rune{32}} + p63.items = []parser{&p161} + var p107 = sequenceParser{id: 107, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{146}} + var p86 = charParser{id: 86, chars: []rune{9}} + p107.items = []parser{&p86} + var p55 = sequenceParser{id: 55, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{146}} + var p122 = charParser{id: 122, chars: []rune{8}} + p55.items = []parser{&p122} + var p108 = sequenceParser{id: 108, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{146}} + var p96 = charParser{id: 96, chars: []rune{12}} + p108.items = []parser{&p96} + var p171 = sequenceParser{id: 171, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{146}} + var p115 = charParser{id: 115, chars: []rune{13}} + p171.items = []parser{&p115} + var p137 = sequenceParser{id: 137, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{146}} + var p123 = charParser{id: 123, chars: []rune{11}} + p137.items = []parser{&p123} + p146.options = []parser{&p63, &p107, &p55, &p108, &p171, &p137} + var p162 = sequenceParser{id: 162, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var p82 = charParser{id: 82, chars: []rune{10}} + p162.items = []parser{&p82} + p10.items = []parser{&p146, &p162, &p146, &p36} + p152.items = []parser{&p36, &p10} + p185.options = []parser{&p114, &p152} p186.options = []parser{&p185} - var p187 = sequenceParser{id: 187, commit: 66, allChars: false, name: "syntax:wsroot", ranges: [][]int{{0, 1}, {0, -1}, {0, 1}, {0, 1}}, generalizations: []int{}} - var p182 = sequenceParser{id: 182, commit: 2, allChars: false, ranges: [][]int{{1, 1}, {0, -1}}, generalizations: []int{}} - var p120 = sequenceParser{id: 120, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{}} - var p119 = charParser{id: 119, not: false, chars: []rune{59}, ranges: [][]rune{}} - p120.items = []parser{&p119} - var p181 = sequenceParser{id: 181, commit: 2, allChars: false, ranges: [][]int{{0, -1}, {1, 1}}, generalizations: []int{}} - p181.items = []parser{&p186, &p120} - p182.items = []parser{&p120, &p181} - var p165 = sequenceParser{id: 165, commit: 66, allChars: false, name: "definitions", ranges: [][]int{{1, 1}, {0, 1}}, generalizations: []int{}} - var p46 = sequenceParser{id: 46, commit: 64, allChars: false, name: "definition", ranges: [][]int{{1, 1}, {0, -1}, {1, 1}, {0, -1}, {1, 1}}, generalizations: []int{}} - var p18 = sequenceParser{id: 18, commit: 74, allChars: false, name: "definition-name", ranges: [][]int{{1, 1}, {0, -1}, {1, 1}, {0, -1}}, generalizations: []int{}} - var p8 = sequenceParser{id: 8, commit: 72, allChars: false, name: "symbol", ranges: [][]int{{1, -1}, {1, -1}}, generalizations: []int{15, 21, 171}} - var p7 = sequenceParser{id: 7, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{}} - var p154 = charParser{id: 154, 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}, ranges: [][]rune{}} - p7.items = []parser{&p154} - p8.items = []parser{&p7} - var p24 = sequenceParser{id: 24, commit: 10, allChars: false, ranges: [][]int{{1, 1}, {1, 1}, {1, 1}, {1, 1}}, generalizations: []int{}} - var p69 = sequenceParser{id: 69, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{}} - var p162 = charParser{id: 162, not: false, chars: []rune{58}, ranges: [][]rune{}} - p69.items = []parser{&p162} - var p56 = choiceParser{id: 56, commit: 66, name: "flag", generalizations: []int{}} - var p169 = sequenceParser{id: 169, commit: 72, allChars: true, name: "alias", 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 p175 = charParser{id: 175, not: false, chars: []rune{97}, ranges: [][]rune{}} - var p68 = charParser{id: 68, not: false, chars: []rune{108}, ranges: [][]rune{}} - var p4 = charParser{id: 4, not: false, chars: []rune{105}, ranges: [][]rune{}} - var p22 = charParser{id: 22, not: false, chars: []rune{97}, ranges: [][]rune{}} - var p97 = charParser{id: 97, not: false, chars: []rune{115}, ranges: [][]rune{}} - p169.items = []parser{&p175, &p68, &p4, &p22, &p97} - var p11 = sequenceParser{id: 11, commit: 72, allChars: true, name: "ws", ranges: [][]int{{1, 1}, {1, 1}, {1, 1}, {1, 1}}, generalizations: []int{56}} - var p150 = charParser{id: 150, not: false, chars: []rune{119}, ranges: [][]rune{}} - var p45 = charParser{id: 45, not: false, chars: []rune{115}, ranges: [][]rune{}} - p11.items = []parser{&p150, &p45} - var p23 = sequenceParser{id: 23, commit: 72, allChars: true, name: "nows", ranges: [][]int{{1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}}, generalizations: []int{56}} - var p136 = charParser{id: 136, not: false, chars: []rune{110}, ranges: [][]rune{}} - var p55 = charParser{id: 55, not: false, chars: []rune{111}, ranges: [][]rune{}} - var p33 = charParser{id: 33, not: false, chars: []rune{119}, ranges: [][]rune{}} - var p39 = charParser{id: 39, not: false, chars: []rune{115}, ranges: [][]rune{}} - p23.items = []parser{&p136, &p55, &p33, &p39} - var p12 = sequenceParser{id: 12, commit: 72, allChars: true, name: "failpass", 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 p81 = charParser{id: 81, not: false, chars: []rune{102}, ranges: [][]rune{}} - var p62 = charParser{id: 62, not: false, chars: []rune{97}, ranges: [][]rune{}} - var p156 = charParser{id: 156, not: false, chars: []rune{105}, ranges: [][]rune{}} - var p74 = charParser{id: 74, not: false, chars: []rune{108}, ranges: [][]rune{}} - var p118 = charParser{id: 118, not: false, chars: []rune{112}, ranges: [][]rune{}} - var p40 = charParser{id: 40, not: false, chars: []rune{97}, ranges: [][]rune{}} - var p75 = charParser{id: 75, not: false, chars: []rune{115}, ranges: [][]rune{}} - var p113 = charParser{id: 113, not: false, chars: []rune{115}, ranges: [][]rune{}} - p12.items = []parser{&p81, &p62, &p156, &p74, &p118, &p40, &p75, &p113} - var p29 = sequenceParser{id: 29, commit: 72, allChars: true, name: "root", ranges: [][]int{{1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}}, generalizations: []int{56}} - var p76 = charParser{id: 76, not: false, chars: []rune{114}, ranges: [][]rune{}} - var p176 = charParser{id: 176, not: false, chars: []rune{111}, ranges: [][]rune{}} - var p107 = charParser{id: 107, not: false, chars: []rune{111}, ranges: [][]rune{}} - var p128 = charParser{id: 128, not: false, chars: []rune{116}, ranges: [][]rune{}} - p29.items = []parser{&p76, &p176, &p107, &p128} - p56.options = []parser{&p169, &p11, &p23, &p12, &p29} - p24.items = []parser{&p69, &p56} - p18.items = []parser{&p8, &p24} - var p177 = sequenceParser{id: 177, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{}} - var p63 = charParser{id: 63, not: false, chars: []rune{61}, ranges: [][]rune{}} - p177.items = []parser{&p63} - var p15 = choiceParser{id: 15, commit: 66, name: "expression", generalizations: []int{}} - var p88 = choiceParser{id: 88, commit: 66, name: "terminal", generalizations: []int{15, 21, 171}} - var p179 = sequenceParser{id: 179, commit: 72, allChars: true, name: "any-char", ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{88, 15, 21, 171}} - var p67 = charParser{id: 67, not: false, chars: []rune{46}, ranges: [][]rune{}} - p179.items = []parser{&p67} - var p173 = sequenceParser{id: 173, commit: 72, allChars: false, name: "char-class", ranges: [][]int{{1, 1}, {0, 1}, {0, -1}, {1, 1}, {1, 1}, {0, 1}, {0, -1}, {1, 1}}, generalizations: []int{88, 15, 21, 171}} - var p131 = sequenceParser{id: 131, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{}} - var p20 = charParser{id: 20, not: false, chars: []rune{91}, ranges: [][]rune{}} - p131.items = []parser{&p20} - var p87 = sequenceParser{id: 87, commit: 72, allChars: true, name: "class-not", ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{}} - var p91 = charParser{id: 91, not: false, chars: []rune{94}, ranges: [][]rune{}} - p87.items = []parser{&p91} - var p110 = choiceParser{id: 110, commit: 10, generalizations: []int{}} - var p65 = choiceParser{id: 65, commit: 72, name: "class-char", generalizations: []int{110}} - var p1 = sequenceParser{id: 1, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{65, 110}} - var p102 = charParser{id: 102, not: true, chars: []rune{92, 91, 93, 94, 45}, ranges: [][]rune{}} - p1.items = []parser{&p102} - var p38 = sequenceParser{id: 38, commit: 10, allChars: false, ranges: [][]int{{1, 1}, {1, 1}, {1, 1}, {1, 1}}, generalizations: []int{65, 110}} - var p116 = sequenceParser{id: 116, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{}} - var p28 = charParser{id: 28, not: false, chars: []rune{92}, ranges: [][]rune{}} - p116.items = []parser{&p28} - var p172 = sequenceParser{id: 172, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{}} - var p123 = charParser{id: 123, not: true, chars: []rune{}, ranges: [][]rune{}} - p172.items = []parser{&p123} - p38.items = []parser{&p116, &p172} - p65.options = []parser{&p1, &p38} - var p117 = sequenceParser{id: 117, commit: 72, allChars: false, name: "char-range", ranges: [][]int{{1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}}, generalizations: []int{110}} - var p159 = sequenceParser{id: 159, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{}} - var p115 = charParser{id: 115, not: false, chars: []rune{45}, ranges: [][]rune{}} - p159.items = []parser{&p115} - p117.items = []parser{&p65, &p159, &p65} - p110.options = []parser{&p65, &p117} - var p103 = sequenceParser{id: 103, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{}} - var p132 = charParser{id: 132, not: false, chars: []rune{93}, ranges: [][]rune{}} - p103.items = []parser{&p132} - p173.items = []parser{&p131, &p87, &p110, &p103} - var p3 = sequenceParser{id: 3, commit: 72, allChars: false, name: "char-sequence", ranges: [][]int{{1, 1}, {0, -1}, {1, 1}, {1, 1}, {0, -1}, {1, 1}}, generalizations: []int{88, 15, 21, 171}} - var p152 = sequenceParser{id: 152, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{}} - var p84 = charParser{id: 84, not: false, chars: []rune{34}, ranges: [][]rune{}} - p152.items = []parser{&p84} - var p52 = choiceParser{id: 52, commit: 72, name: "sequence-char", generalizations: []int{}} - var p32 = sequenceParser{id: 32, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{52}} - var p14 = charParser{id: 14, not: true, chars: []rune{92, 34}, ranges: [][]rune{}} - p32.items = []parser{&p14} - var p160 = sequenceParser{id: 160, commit: 10, allChars: false, ranges: [][]int{{1, 1}, {1, 1}, {1, 1}, {1, 1}}, generalizations: []int{52}} - var p2 = sequenceParser{id: 2, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{}} - var p124 = charParser{id: 124, not: false, chars: []rune{92}, ranges: [][]rune{}} - p2.items = []parser{&p124} - var p133 = sequenceParser{id: 133, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{}} - var p47 = charParser{id: 47, not: true, chars: []rune{}, ranges: [][]rune{}} - p133.items = []parser{&p47} - p160.items = []parser{&p2, &p133} - p52.options = []parser{&p32, &p160} - var p125 = sequenceParser{id: 125, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{}} - var p48 = charParser{id: 48, not: false, chars: []rune{34}, ranges: [][]rune{}} - p125.items = []parser{&p48} - p3.items = []parser{&p152, &p52, &p125} - p88.options = []parser{&p179, &p173, &p3} - var p174 = sequenceParser{id: 174, commit: 66, allChars: false, name: "group", ranges: [][]int{{1, 1}, {0, -1}, {1, 1}, {0, -1}, {1, 1}}, generalizations: []int{15, 21, 171}} - var p85 = sequenceParser{id: 85, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{}} - var p149 = charParser{id: 149, not: false, chars: []rune{40}, ranges: [][]rune{}} - p85.items = []parser{&p149} - var p25 = sequenceParser{id: 25, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{}} - var p79 = charParser{id: 79, not: false, chars: []rune{41}, ranges: [][]rune{}} - p25.items = []parser{&p79} - p174.items = []parser{&p85, &p186, &p15, &p186, &p25} - var p106 = sequenceParser{id: 106, commit: 64, allChars: false, name: "sequence", ranges: [][]int{{1, 1}, {0, -1}}, generalizations: []int{15, 171}} - var p61 = sequenceParser{id: 61, commit: 72, allChars: false, name: "item", ranges: [][]int{{1, 1}, {0, 1}, {1, 1}, {0, 1}}, generalizations: []int{}} - var p21 = choiceParser{id: 21, commit: 10, generalizations: []int{}} - p21.options = []parser{&p88, &p8, &p174} - var p10 = choiceParser{id: 10, commit: 66, name: "quantity", generalizations: []int{}} - var p139 = sequenceParser{id: 139, commit: 64, allChars: false, name: "count-quantifier", ranges: [][]int{{1, 1}, {0, -1}, {1, 1}, {0, -1}, {1, 1}}, generalizations: []int{10}} - var p27 = sequenceParser{id: 27, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{}} - var p9 = charParser{id: 9, not: false, chars: []rune{123}, ranges: [][]rune{}} - p27.items = []parser{&p9} - var p86 = sequenceParser{id: 86, commit: 64, allChars: false, name: "count", ranges: [][]int{{1, 1}}, generalizations: []int{}} - var p92 = sequenceParser{id: 92, commit: 74, allChars: false, name: "number", ranges: [][]int{{1, -1}, {1, -1}}, generalizations: []int{}} - var p134 = sequenceParser{id: 134, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{}} - var p126 = charParser{id: 126, not: false, chars: []rune{}, ranges: [][]rune{{48, 57}}} - p134.items = []parser{&p126} - p92.items = []parser{&p134} - p86.items = []parser{&p92} - var p93 = sequenceParser{id: 93, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{}} - var p78 = charParser{id: 78, not: false, chars: []rune{125}, ranges: [][]rune{}} - p93.items = []parser{&p78} - p139.items = []parser{&p27, &p186, &p86, &p186, &p93} - var p146 = sequenceParser{id: 146, commit: 64, allChars: false, 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{10}} - var p44 = sequenceParser{id: 44, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{}} - var p94 = charParser{id: 94, not: false, chars: []rune{123}, ranges: [][]rune{}} - p44.items = []parser{&p94} - var p127 = sequenceParser{id: 127, commit: 64, allChars: false, name: "range-from", ranges: [][]int{{1, 1}}, generalizations: []int{}} - p127.items = []parser{&p92} - var p49 = sequenceParser{id: 49, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{}} - var p59 = charParser{id: 59, not: false, chars: []rune{44}, ranges: [][]rune{}} - p49.items = []parser{&p59} - var p26 = sequenceParser{id: 26, commit: 64, allChars: false, name: "range-to", ranges: [][]int{{1, 1}}, generalizations: []int{}} - p26.items = []parser{&p92} - var p135 = sequenceParser{id: 135, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{}} - var p53 = charParser{id: 53, not: false, chars: []rune{125}, ranges: [][]rune{}} - p135.items = []parser{&p53} - p146.items = []parser{&p44, &p186, &p127, &p186, &p49, &p186, &p26, &p186, &p135} - var p161 = sequenceParser{id: 161, commit: 72, allChars: true, name: "one-or-more", ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{10}} - var p60 = charParser{id: 60, not: false, chars: []rune{43}, ranges: [][]rune{}} - p161.items = []parser{&p60} - var p104 = sequenceParser{id: 104, commit: 72, allChars: true, name: "zero-or-more", ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{10}} - var p111 = charParser{id: 111, not: false, chars: []rune{42}, ranges: [][]rune{}} - p104.items = []parser{&p111} - var p155 = sequenceParser{id: 155, commit: 72, allChars: true, name: "zero-or-one", ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{10}} - var p98 = charParser{id: 98, not: false, chars: []rune{63}, ranges: [][]rune{}} - p155.items = []parser{&p98} - p10.options = []parser{&p139, &p146, &p161, &p104, &p155} - p61.items = []parser{&p21, &p10} - var p105 = sequenceParser{id: 105, commit: 2, allChars: false, ranges: [][]int{{0, -1}, {1, 1}}, generalizations: []int{}} - p105.items = []parser{&p186, &p61} - p106.items = []parser{&p61, &p105} - var p100 = sequenceParser{id: 100, commit: 64, allChars: false, name: "choice", ranges: [][]int{{1, 1}, {0, -1}, {1, 1}, {0, -1}}, generalizations: []int{15}} - var p171 = choiceParser{id: 171, commit: 66, name: "option", generalizations: []int{}} - p171.options = []parser{&p88, &p8, &p174, &p106} - var p168 = sequenceParser{id: 168, commit: 2, allChars: false, ranges: [][]int{{1, 1}, {0, -1}, {1, 1}}, generalizations: []int{}} - var p80 = sequenceParser{id: 80, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{}} - var p112 = charParser{id: 112, not: false, chars: []rune{124}, ranges: [][]rune{}} - p80.items = []parser{&p112} - p168.items = []parser{&p80, &p186, &p171} - var p99 = sequenceParser{id: 99, commit: 2, allChars: false, ranges: [][]int{{0, -1}, {1, 1}}, generalizations: []int{}} - p99.items = []parser{&p186, &p168} - p100.items = []parser{&p171, &p186, &p168, &p99} - p15.options = []parser{&p88, &p8, &p174, &p106, &p100} - p46.items = []parser{&p18, &p186, &p177, &p186, &p15} - var p164 = sequenceParser{id: 164, commit: 2, allChars: false, ranges: [][]int{{0, -1}, {1, 1}, {0, -1}}, generalizations: []int{}} - var p71 = sequenceParser{id: 71, commit: 2, allChars: false, ranges: [][]int{{1, 1}, {0, -1}, {0, -1}, {1, 1}}, generalizations: []int{}} - var p34 = sequenceParser{id: 34, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{}} - var p180 = charParser{id: 180, not: false, chars: []rune{59}, ranges: [][]rune{}} - p34.items = []parser{&p180} - var p70 = sequenceParser{id: 70, commit: 2, allChars: false, ranges: [][]int{{0, -1}, {1, 1}}, generalizations: []int{}} - p70.items = []parser{&p186, &p34} - p71.items = []parser{&p34, &p70, &p186, &p46} - var p163 = sequenceParser{id: 163, commit: 2, allChars: false, ranges: [][]int{{0, -1}, {1, 1}}, generalizations: []int{}} - p163.items = []parser{&p186, &p71} - p164.items = []parser{&p186, &p71, &p163} - p165.items = []parser{&p46, &p164} - var p184 = sequenceParser{id: 184, commit: 2, allChars: false, ranges: [][]int{{0, -1}, {1, 1}, {0, -1}}, generalizations: []int{}} - var p82 = sequenceParser{id: 82, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{}} - var p41 = charParser{id: 41, not: false, chars: []rune{59}, ranges: [][]rune{}} - p82.items = []parser{&p41} - var p183 = sequenceParser{id: 183, commit: 2, allChars: false, ranges: [][]int{{0, -1}, {1, 1}}, generalizations: []int{}} - p183.items = []parser{&p186, &p82} - p184.items = []parser{&p186, &p82, &p183} - p187.items = []parser{&p182, &p186, &p165, &p184} + var p187 = sequenceParser{id: 187, commit: 66, name: "syntax:wsroot", ranges: [][]int{{0, 1}, {0, -1}, {0, 1}, {0, 1}}} + var p182 = sequenceParser{id: 182, commit: 2, ranges: [][]int{{1, 1}, {0, -1}}} + var p135 = sequenceParser{id: 135, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var p155 = charParser{id: 155, chars: []rune{59}} + p135.items = []parser{&p155} + var p181 = sequenceParser{id: 181, commit: 2, ranges: [][]int{{0, -1}, {1, 1}}} + p181.items = []parser{&p186, &p135} + p182.items = []parser{&p135, &p181} + var p121 = sequenceParser{id: 121, commit: 66, name: "definitions", ranges: [][]int{{1, 1}, {0, 1}}} + var p44 = sequenceParser{id: 44, commit: 64, name: "definition", ranges: [][]int{{1, 1}, {0, -1}, {1, 1}, {0, -1}, {1, 1}}} + var p18 = sequenceParser{id: 18, commit: 74, name: "definition-name", ranges: [][]int{{1, 1}, {0, -1}, {1, 1}, {0, -1}}} + var p128 = sequenceParser{id: 128, commit: 72, name: "symbol", ranges: [][]int{{1, -1}, {1, -1}}, generalizations: []int{52, 26, 177}} + var p39 = sequenceParser{id: 39, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var p57 = charParser{id: 57, 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}} + p39.items = []parser{&p57} + p128.items = []parser{&p39} + var p178 = sequenceParser{id: 178, commit: 10, ranges: [][]int{{1, 1}, {1, 1}, {1, 1}, {1, 1}}} + var p133 = sequenceParser{id: 133, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var p43 = charParser{id: 43, chars: []rune{58}} + p133.items = []parser{&p43} + var p132 = choiceParser{id: 132, commit: 66, name: "flag"} + var p93 = sequenceParser{id: 93, 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{132}} + var p163 = charParser{id: 163, chars: []rune{97}} + var p27 = charParser{id: 27, chars: []rune{108}} + var p164 = charParser{id: 164, chars: []rune{105}} + var p158 = charParser{id: 158, chars: []rune{97}} + var p118 = charParser{id: 118, chars: []rune{115}} + p93.items = []parser{&p163, &p27, &p164, &p158, &p118} + var p131 = sequenceParser{id: 131, commit: 72, name: "ws", allChars: true, ranges: [][]int{{1, 1}, {1, 1}, {1, 1}, {1, 1}}, generalizations: []int{132}} + var p53 = charParser{id: 53, chars: []rune{119}} + var p5 = charParser{id: 5, chars: []rune{115}} + p131.items = []parser{&p53, &p5} + var p172 = sequenceParser{id: 172, 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{132}} + var p109 = charParser{id: 109, chars: []rune{110}} + var p110 = charParser{id: 110, chars: []rune{111}} + var p60 = charParser{id: 60, chars: []rune{119}} + var p79 = charParser{id: 79, chars: []rune{115}} + p172.items = []parser{&p109, &p110, &p60, &p79} + var p25 = sequenceParser{id: 25, 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{132}} + var p45 = charParser{id: 45, chars: []rune{102}} + var p94 = charParser{id: 94, chars: []rune{97}} + var p89 = charParser{id: 89, chars: []rune{105}} + var p28 = charParser{id: 28, chars: []rune{108}} + var p42 = charParser{id: 42, chars: []rune{112}} + var p173 = charParser{id: 173, chars: []rune{97}} + var p149 = charParser{id: 149, chars: []rune{115}} + var p150 = charParser{id: 150, chars: []rune{115}} + p25.items = []parser{&p45, &p94, &p89, &p28, &p42, &p173, &p149, &p150} + var p144 = sequenceParser{id: 144, 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{132}} + var p159 = charParser{id: 159, chars: []rune{114}} + var p174 = charParser{id: 174, chars: []rune{111}} + var p76 = charParser{id: 76, chars: []rune{111}} + var p75 = charParser{id: 75, chars: []rune{116}} + p144.items = []parser{&p159, &p174, &p76, &p75} + p132.options = []parser{&p93, &p131, &p172, &p25, &p144} + p178.items = []parser{&p133, &p132} + p18.items = []parser{&p128, &p178} + var p111 = sequenceParser{id: 111, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var p19 = charParser{id: 19, chars: []rune{61}} + p111.items = []parser{&p19} + var p52 = choiceParser{id: 52, commit: 66, name: "expression"} + var p11 = choiceParser{id: 11, commit: 66, name: "terminal", generalizations: []int{52, 26, 177}} + var p37 = sequenceParser{id: 37, commit: 72, name: "any-char", allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{11, 52, 26, 177}} + var p97 = charParser{id: 97, chars: []rune{46}} + p37.items = []parser{&p97} + var p49 = sequenceParser{id: 49, 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{11, 52, 26, 177}} + var p101 = sequenceParser{id: 101, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var p67 = charParser{id: 67, chars: []rune{91}} + p101.items = []parser{&p67} + var p87 = sequenceParser{id: 87, commit: 72, name: "class-not", allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var p138 = charParser{id: 138, chars: []rune{94}} + p87.items = []parser{&p138} + var p83 = choiceParser{id: 83, commit: 10} + var p74 = choiceParser{id: 74, commit: 72, name: "class-char", generalizations: []int{83}} + var p56 = sequenceParser{id: 56, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{74, 83}} + var p165 = charParser{id: 165, not: true, chars: []rune{92, 91, 93, 94, 45}} + p56.items = []parser{&p165} + var p31 = sequenceParser{id: 31, commit: 10, ranges: [][]int{{1, 1}, {1, 1}, {1, 1}, {1, 1}}, generalizations: []int{74, 83}} + var p147 = sequenceParser{id: 147, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var p91 = charParser{id: 91, chars: []rune{92}} + p147.items = []parser{&p91} + var p73 = sequenceParser{id: 73, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var p72 = charParser{id: 72, not: true} + p73.items = []parser{&p72} + p31.items = []parser{&p147, &p73} + p74.options = []parser{&p56, &p31} + var p64 = sequenceParser{id: 64, commit: 72, name: "char-range", ranges: [][]int{{1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}}, generalizations: []int{83}} + var p167 = sequenceParser{id: 167, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var p77 = charParser{id: 77, chars: []rune{45}} + p167.items = []parser{&p77} + p64.items = []parser{&p74, &p167, &p74} + p83.options = []parser{&p74, &p64} + var p65 = sequenceParser{id: 65, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var p124 = charParser{id: 124, chars: []rune{93}} + p65.items = []parser{&p124} + p49.items = []parser{&p101, &p87, &p83, &p65} + var p140 = sequenceParser{id: 140, commit: 72, name: "char-sequence", ranges: [][]int{{1, 1}, {0, -1}, {1, 1}, {1, 1}, {0, -1}, {1, 1}}, generalizations: []int{11, 52, 26, 177}} + var p38 = sequenceParser{id: 38, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var p88 = charParser{id: 88, chars: []rune{34}} + p38.items = []parser{&p88} + var p22 = choiceParser{id: 22, commit: 72, name: "sequence-char"} + var p156 = sequenceParser{id: 156, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{22}} + var p102 = charParser{id: 102, not: true, chars: []rune{92, 34}} + p156.items = []parser{&p102} + var p153 = sequenceParser{id: 153, commit: 10, ranges: [][]int{{1, 1}, {1, 1}, {1, 1}, {1, 1}}, generalizations: []int{22}} + var p139 = sequenceParser{id: 139, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var p50 = charParser{id: 50, chars: []rune{92}} + p139.items = []parser{&p50} + var p78 = sequenceParser{id: 78, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var p116 = charParser{id: 116, not: true} + p78.items = []parser{&p116} + p153.items = []parser{&p139, &p78} + p22.options = []parser{&p156, &p153} + var p142 = sequenceParser{id: 142, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var p14 = charParser{id: 14, chars: []rune{34}} + p142.items = []parser{&p14} + p140.items = []parser{&p38, &p22, &p142} + p11.options = []parser{&p37, &p49, &p140} + var p33 = sequenceParser{id: 33, commit: 66, name: "group", ranges: [][]int{{1, 1}, {0, -1}, {1, 1}, {0, -1}, {1, 1}}, generalizations: []int{52, 26, 177}} + var p40 = sequenceParser{id: 40, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var p166 = charParser{id: 166, chars: []rune{40}} + p40.items = []parser{&p166} + var p12 = sequenceParser{id: 12, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var p98 = charParser{id: 98, chars: []rune{41}} + p12.items = []parser{&p98} + p33.items = []parser{&p40, &p186, &p52, &p186, &p12} + var p130 = sequenceParser{id: 130, commit: 64, name: "sequence", ranges: [][]int{{1, 1}, {0, -1}}, generalizations: []int{52, 177}} + var p143 = sequenceParser{id: 143, commit: 72, name: "item", ranges: [][]int{{1, 1}, {0, 1}, {1, 1}, {0, 1}}} + var p26 = choiceParser{id: 26, commit: 10} + p26.options = []parser{&p11, &p128, &p33} + var p176 = choiceParser{id: 176, commit: 66, name: "quantity"} + var p148 = sequenceParser{id: 148, commit: 64, name: "count-quantifier", ranges: [][]int{{1, 1}, {0, -1}, {1, 1}, {0, -1}, {1, 1}}, generalizations: []int{176}} + var p58 = sequenceParser{id: 58, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var p6 = charParser{id: 6, chars: []rune{123}} + p58.items = []parser{&p6} + var p15 = sequenceParser{id: 15, commit: 64, name: "count", ranges: [][]int{{1, 1}}} + var p32 = sequenceParser{id: 32, commit: 74, name: "number", ranges: [][]int{{1, -1}, {1, -1}}} + var p68 = sequenceParser{id: 68, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var p34 = charParser{id: 34, ranges: [][]rune{{48, 57}}} + p68.items = []parser{&p34} + p32.items = []parser{&p68} + p15.items = []parser{&p32} + var p157 = sequenceParser{id: 157, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var p103 = charParser{id: 103, chars: []rune{125}} + p157.items = []parser{&p103} + p148.items = []parser{&p58, &p186, &p15, &p186, &p157} + var p141 = sequenceParser{id: 141, 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{176}} + var p85 = sequenceParser{id: 85, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var p66 = charParser{id: 66, chars: []rune{123}} + p85.items = []parser{&p66} + var p125 = sequenceParser{id: 125, commit: 64, name: "range-from", ranges: [][]int{{1, 1}}} + p125.items = []parser{&p32} + var p168 = sequenceParser{id: 168, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var p41 = charParser{id: 41, chars: []rune{44}} + p168.items = []parser{&p41} + var p84 = sequenceParser{id: 84, commit: 64, name: "range-to", ranges: [][]int{{1, 1}}} + p84.items = []parser{&p32} + var p16 = sequenceParser{id: 16, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var p51 = charParser{id: 51, chars: []rune{125}} + p16.items = []parser{&p51} + p141.items = []parser{&p85, &p186, &p125, &p186, &p168, &p186, &p84, &p186, &p16} + var p4 = sequenceParser{id: 4, commit: 72, name: "one-or-more", allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{176}} + var p23 = charParser{id: 23, chars: []rune{43}} + p4.items = []parser{&p23} + var p17 = sequenceParser{id: 17, commit: 72, name: "zero-or-more", allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{176}} + var p134 = charParser{id: 134, chars: []rune{42}} + p17.items = []parser{&p134} + var p59 = sequenceParser{id: 59, commit: 72, name: "zero-or-one", allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{176}} + var p117 = charParser{id: 117, chars: []rune{63}} + p59.items = []parser{&p117} + p176.options = []parser{&p148, &p141, &p4, &p17, &p59} + p143.items = []parser{&p26, &p176} + var p129 = sequenceParser{id: 129, commit: 2, ranges: [][]int{{0, -1}, {1, 1}}} + p129.items = []parser{&p186, &p143} + p130.items = []parser{&p143, &p129} + var p170 = sequenceParser{id: 170, commit: 64, name: "choice", ranges: [][]int{{1, 1}, {0, -1}, {1, 1}, {0, -1}}, generalizations: []int{52}} + var p177 = choiceParser{id: 177, commit: 66, name: "option"} + p177.options = []parser{&p11, &p128, &p33, &p130} + var p92 = sequenceParser{id: 92, commit: 2, ranges: [][]int{{1, 1}, {0, -1}, {1, 1}}} + var p24 = sequenceParser{id: 24, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var p154 = charParser{id: 154, chars: []rune{124}} + p24.items = []parser{&p154} + p92.items = []parser{&p24, &p186, &p177} + var p169 = sequenceParser{id: 169, commit: 2, ranges: [][]int{{0, -1}, {1, 1}}} + p169.items = []parser{&p186, &p92} + p170.items = []parser{&p177, &p186, &p92, &p169} + p52.options = []parser{&p11, &p128, &p33, &p130, &p170} + p44.items = []parser{&p18, &p186, &p111, &p186, &p52} + var p120 = sequenceParser{id: 120, commit: 2, ranges: [][]int{{0, -1}, {1, 1}, {0, -1}}} + var p180 = sequenceParser{id: 180, commit: 2, ranges: [][]int{{1, 1}, {0, -1}, {0, -1}, {1, 1}}} + var p112 = sequenceParser{id: 112, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var p104 = charParser{id: 104, chars: []rune{59}} + p112.items = []parser{&p104} + var p179 = sequenceParser{id: 179, commit: 2, ranges: [][]int{{0, -1}, {1, 1}}} + p179.items = []parser{&p186, &p112} + p180.items = []parser{&p112, &p179, &p186, &p44} + var p119 = sequenceParser{id: 119, commit: 2, ranges: [][]int{{0, -1}, {1, 1}}} + p119.items = []parser{&p186, &p180} + p120.items = []parser{&p186, &p180, &p119} + p121.items = []parser{&p44, &p120} + var p184 = sequenceParser{id: 184, commit: 2, ranges: [][]int{{0, -1}, {1, 1}, {0, -1}}} + var p126 = sequenceParser{id: 126, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var p46 = charParser{id: 46, chars: []rune{59}} + p126.items = []parser{&p46} + var p183 = sequenceParser{id: 183, commit: 2, ranges: [][]int{{0, -1}, {1, 1}}} + p183.items = []parser{&p186, &p126} + p184.items = []parser{&p186, &p126, &p183} + p187.items = []parser{&p182, &p186, &p121, &p184} p188.items = []parser{&p186, &p187, &p186} - var b188 = sequenceBuilder{id: 188, commit: 32, allChars: false, name: "syntax", ranges: [][]int{{0, -1}, {1, 1}, {0, -1}}} + 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 b17 = choiceBuilder{id: 17, commit: 66} - var b109 = sequenceBuilder{id: 109, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var b108 = charBuilder{} - b109.items = []builder{&b108} - var b170 = sequenceBuilder{id: 170, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var b137 = charBuilder{} - b170.items = []builder{&b137} - var b54 = sequenceBuilder{id: 54, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var b147 = charBuilder{} - b54.items = []builder{&b147} - var b64 = sequenceBuilder{id: 64, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var b157 = charBuilder{} - b64.items = []builder{&b157} - var b72 = sequenceBuilder{id: 72, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var b121 = charBuilder{} - b72.items = []builder{&b121} - var b19 = sequenceBuilder{id: 19, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var b16 = charBuilder{} - b19.items = []builder{&b16} - var b5 = sequenceBuilder{id: 5, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var b73 = charBuilder{} - b5.items = []builder{&b73} - b17.options = []builder{&b109, &b170, &b54, &b64, &b72, &b19, &b5} - var b58 = sequenceBuilder{id: 58, commit: 72, allChars: false, name: "comment", ranges: [][]int{{1, 1}, {0, -1}, {1, 1}, {0, -1}}} - var b43 = choiceBuilder{id: 43, commit: 74} - var b144 = sequenceBuilder{id: 144, commit: 74, allChars: false, ranges: [][]int{{1, 1}, {0, -1}, {1, 1}, {0, -1}}} - var b138 = sequenceBuilder{id: 138, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}, {1, 1}, {1, 1}}} - var b42 = charBuilder{} - var b35 = charBuilder{} - b138.items = []builder{&b42, &b35} - var b30 = sequenceBuilder{id: 30, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var b166 = charBuilder{} - b30.items = []builder{&b166} - b144.items = []builder{&b138, &b30} - var b90 = sequenceBuilder{id: 90, commit: 74, allChars: false, ranges: [][]int{{1, 1}, {0, -1}, {1, 1}, {1, 1}, {0, -1}, {1, 1}}} - var b129 = sequenceBuilder{id: 129, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}, {1, 1}, {1, 1}}} - var b158 = charBuilder{} - var b95 = charBuilder{} - b129.items = []builder{&b158, &b95} - var b6 = choiceBuilder{id: 6, commit: 10} - var b153 = sequenceBuilder{id: 153, commit: 10, allChars: false, ranges: [][]int{{1, 1}, {1, 1}, {1, 1}, {1, 1}}} - var b101 = sequenceBuilder{id: 101, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var b148 = charBuilder{} - b101.items = []builder{&b148} - var b13 = sequenceBuilder{id: 13, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var b142 = charBuilder{} - b13.items = []builder{&b142} - b153.items = []builder{&b101, &b13} - var b143 = sequenceBuilder{id: 143, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var b83 = charBuilder{} - b143.items = []builder{&b83} - b6.options = []builder{&b153, &b143} - var b89 = sequenceBuilder{id: 89, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}, {1, 1}, {1, 1}}} - var b96 = charBuilder{} - var b130 = charBuilder{} - b89.items = []builder{&b96, &b130} - b90.items = []builder{&b129, &b6, &b89} - b43.options = []builder{&b144, &b90} - var b31 = sequenceBuilder{id: 31, commit: 10, allChars: false, ranges: [][]int{{0, -1}, {0, 1}, {0, -1}, {1, 1}, {0, -1}, {0, 1}, {0, -1}, {1, 1}}} - var b57 = choiceBuilder{id: 57, commit: 74} - var b50 = sequenceBuilder{id: 50, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var b167 = charBuilder{} - b50.items = []builder{&b167} - var b151 = sequenceBuilder{id: 151, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var b114 = charBuilder{} - b151.items = []builder{&b114} - var b145 = sequenceBuilder{id: 145, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var b36 = charBuilder{} - b145.items = []builder{&b36} - var b140 = sequenceBuilder{id: 140, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var b122 = charBuilder{} - b140.items = []builder{&b122} - var b178 = sequenceBuilder{id: 178, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var b77 = charBuilder{} - b178.items = []builder{&b77} - var b66 = sequenceBuilder{id: 66, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var b37 = charBuilder{} - b66.items = []builder{&b37} - b57.options = []builder{&b50, &b151, &b145, &b140, &b178, &b66} - var b141 = sequenceBuilder{id: 141, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var b51 = charBuilder{} - b141.items = []builder{&b51} - b31.items = []builder{&b57, &b141, &b57, &b43} - b58.items = []builder{&b43, &b31} - b185.options = []builder{&b17, &b58} - b186.options = []builder{&b185} - var b187 = sequenceBuilder{id: 187, commit: 66, allChars: false, ranges: [][]int{{0, 1}, {0, -1}, {0, 1}, {0, 1}}} - var b182 = sequenceBuilder{id: 182, commit: 2, allChars: false, ranges: [][]int{{1, 1}, {0, -1}}} - var b120 = sequenceBuilder{id: 120, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var b119 = charBuilder{} - b120.items = []builder{&b119} - var b181 = sequenceBuilder{id: 181, commit: 2, allChars: false, ranges: [][]int{{0, -1}, {1, 1}}} - b181.items = []builder{&b186, &b120} - b182.items = []builder{&b120, &b181} - var b165 = sequenceBuilder{id: 165, commit: 66, allChars: false, ranges: [][]int{{1, 1}, {0, 1}}} - var b46 = sequenceBuilder{id: 46, commit: 64, allChars: false, name: "definition", ranges: [][]int{{1, 1}, {0, -1}, {1, 1}, {0, -1}, {1, 1}}} - var b18 = sequenceBuilder{id: 18, commit: 74, allChars: false, ranges: [][]int{{1, 1}, {0, -1}, {1, 1}, {0, -1}}} - var b8 = sequenceBuilder{id: 8, commit: 72, allChars: false, name: "symbol", ranges: [][]int{{1, -1}, {1, -1}}} - var b7 = sequenceBuilder{id: 7, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var b154 = charBuilder{} - b7.items = []builder{&b154} - b8.items = []builder{&b7} - var b24 = sequenceBuilder{id: 24, commit: 10, allChars: false, ranges: [][]int{{1, 1}, {1, 1}, {1, 1}, {1, 1}}} - var b69 = sequenceBuilder{id: 69, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var b162 = charBuilder{} - b69.items = []builder{&b162} - var b56 = choiceBuilder{id: 56, commit: 66} - var b169 = sequenceBuilder{id: 169, commit: 72, allChars: true, name: "alias", ranges: [][]int{{1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}}} - var b175 = charBuilder{} - var b68 = charBuilder{} - var b4 = charBuilder{} - var b22 = charBuilder{} - var b97 = charBuilder{} - b169.items = []builder{&b175, &b68, &b4, &b22, &b97} - var b11 = sequenceBuilder{id: 11, commit: 72, allChars: true, name: "ws", ranges: [][]int{{1, 1}, {1, 1}, {1, 1}, {1, 1}}} - var b150 = charBuilder{} - var b45 = charBuilder{} - b11.items = []builder{&b150, &b45} - var b23 = sequenceBuilder{id: 23, commit: 72, allChars: true, name: "nows", ranges: [][]int{{1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}}} - var b136 = charBuilder{} - var b55 = charBuilder{} - var b33 = charBuilder{} - var b39 = charBuilder{} - b23.items = []builder{&b136, &b55, &b33, &b39} - var b12 = sequenceBuilder{id: 12, commit: 72, allChars: true, name: "failpass", 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 b81 = charBuilder{} - var b62 = charBuilder{} - var b156 = charBuilder{} - var b74 = charBuilder{} - var b118 = charBuilder{} - var b40 = charBuilder{} - var b75 = charBuilder{} - var b113 = charBuilder{} - b12.items = []builder{&b81, &b62, &b156, &b74, &b118, &b40, &b75, &b113} - var b29 = sequenceBuilder{id: 29, commit: 72, allChars: true, name: "root", ranges: [][]int{{1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}}} - var b76 = charBuilder{} - var b176 = charBuilder{} - var b107 = charBuilder{} - var b128 = charBuilder{} - b29.items = []builder{&b76, &b176, &b107, &b128} - b56.options = []builder{&b169, &b11, &b23, &b12, &b29} - b24.items = []builder{&b69, &b56} - b18.items = []builder{&b8, &b24} - var b177 = sequenceBuilder{id: 177, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var b63 = charBuilder{} - b177.items = []builder{&b63} - var b15 = choiceBuilder{id: 15, commit: 66} - var b88 = choiceBuilder{id: 88, commit: 66} - var b179 = sequenceBuilder{id: 179, commit: 72, allChars: true, name: "any-char", ranges: [][]int{{1, 1}, {1, 1}}} - var b67 = charBuilder{} - b179.items = []builder{&b67} - var b173 = sequenceBuilder{id: 173, commit: 72, allChars: false, name: "char-class", ranges: [][]int{{1, 1}, {0, 1}, {0, -1}, {1, 1}, {1, 1}, {0, 1}, {0, -1}, {1, 1}}} - var b131 = sequenceBuilder{id: 131, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var b20 = charBuilder{} - b131.items = []builder{&b20} - var b87 = sequenceBuilder{id: 87, commit: 72, allChars: true, name: "class-not", ranges: [][]int{{1, 1}, {1, 1}}} - var b91 = charBuilder{} - b87.items = []builder{&b91} - var b110 = choiceBuilder{id: 110, commit: 10} - var b65 = choiceBuilder{id: 65, commit: 72, name: "class-char"} + var b114 = choiceBuilder{id: 114, commit: 66} var b1 = sequenceBuilder{id: 1, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var b102 = charBuilder{} - b1.items = []builder{&b102} - var b38 = sequenceBuilder{id: 38, commit: 10, allChars: false, ranges: [][]int{{1, 1}, {1, 1}, {1, 1}, {1, 1}}} - var b116 = sequenceBuilder{id: 116, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var b28 = charBuilder{} - b116.items = []builder{&b28} - var b172 = sequenceBuilder{id: 172, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var b123 = charBuilder{} - b172.items = []builder{&b123} - b38.items = []builder{&b116, &b172} - b65.options = []builder{&b1, &b38} - var b117 = sequenceBuilder{id: 117, commit: 72, allChars: false, name: "char-range", ranges: [][]int{{1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}}} - var b159 = sequenceBuilder{id: 159, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var b115 = charBuilder{} - b159.items = []builder{&b115} - b117.items = []builder{&b65, &b159, &b65} - b110.options = []builder{&b65, &b117} - var b103 = sequenceBuilder{id: 103, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var b132 = charBuilder{} - b103.items = []builder{&b132} - b173.items = []builder{&b131, &b87, &b110, &b103} - var b3 = sequenceBuilder{id: 3, commit: 72, allChars: false, name: "char-sequence", ranges: [][]int{{1, 1}, {0, -1}, {1, 1}, {1, 1}, {0, -1}, {1, 1}}} - var b152 = sequenceBuilder{id: 152, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var b84 = charBuilder{} - b152.items = []builder{&b84} - var b52 = choiceBuilder{id: 52, commit: 72, name: "sequence-char"} - var b32 = sequenceBuilder{id: 32, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var b14 = charBuilder{} - b32.items = []builder{&b14} - var b160 = sequenceBuilder{id: 160, commit: 10, allChars: false, ranges: [][]int{{1, 1}, {1, 1}, {1, 1}, {1, 1}}} - var b2 = sequenceBuilder{id: 2, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var b124 = charBuilder{} - b2.items = []builder{&b124} - var b133 = sequenceBuilder{id: 133, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var b47 = charBuilder{} - b133.items = []builder{&b47} - b160.items = []builder{&b2, &b133} - b52.options = []builder{&b32, &b160} - var b125 = sequenceBuilder{id: 125, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var b48 = charBuilder{} - b125.items = []builder{&b48} - b3.items = []builder{&b152, &b52, &b125} - b88.options = []builder{&b179, &b173, &b3} - var b174 = sequenceBuilder{id: 174, commit: 66, allChars: false, ranges: [][]int{{1, 1}, {0, -1}, {1, 1}, {0, -1}, {1, 1}}} - var b85 = sequenceBuilder{id: 85, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var b149 = charBuilder{} - b85.items = []builder{&b149} - var b25 = sequenceBuilder{id: 25, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var b79 = charBuilder{} - b25.items = []builder{&b79} - b174.items = []builder{&b85, &b186, &b15, &b186, &b25} - var b106 = sequenceBuilder{id: 106, commit: 64, allChars: false, name: "sequence", ranges: [][]int{{1, 1}, {0, -1}}} - var b61 = sequenceBuilder{id: 61, commit: 72, allChars: false, name: "item", ranges: [][]int{{1, 1}, {0, 1}, {1, 1}, {0, 1}}} - var b21 = choiceBuilder{id: 21, commit: 10} - b21.options = []builder{&b88, &b8, &b174} - var b10 = choiceBuilder{id: 10, commit: 66} - var b139 = sequenceBuilder{id: 139, commit: 64, allChars: false, name: "count-quantifier", ranges: [][]int{{1, 1}, {0, -1}, {1, 1}, {0, -1}, {1, 1}}} - var b27 = sequenceBuilder{id: 27, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var b9 = charBuilder{} - b27.items = []builder{&b9} - var b86 = sequenceBuilder{id: 86, commit: 64, allChars: false, name: "count", ranges: [][]int{{1, 1}}} - var b92 = sequenceBuilder{id: 92, commit: 74, allChars: false, ranges: [][]int{{1, -1}, {1, -1}}} - var b134 = sequenceBuilder{id: 134, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var b126 = charBuilder{} - b134.items = []builder{&b126} - b92.items = []builder{&b134} - b86.items = []builder{&b92} - var b93 = sequenceBuilder{id: 93, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var b78 = charBuilder{} - b93.items = []builder{&b78} - b139.items = []builder{&b27, &b186, &b86, &b186, &b93} - var b146 = sequenceBuilder{id: 146, commit: 64, allChars: false, name: "range-quantifier", ranges: [][]int{{1, 1}, {0, -1}, {0, 1}, {0, -1}, {1, 1}, {0, -1}, {0, 1}, {0, -1}, {1, 1}}} - var b44 = sequenceBuilder{id: 44, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var b94 = charBuilder{} - b44.items = []builder{&b94} - var b127 = sequenceBuilder{id: 127, commit: 64, allChars: false, name: "range-from", ranges: [][]int{{1, 1}}} - b127.items = []builder{&b92} - var b49 = sequenceBuilder{id: 49, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var b59 = charBuilder{} - b49.items = []builder{&b59} - var b26 = sequenceBuilder{id: 26, commit: 64, allChars: false, name: "range-to", ranges: [][]int{{1, 1}}} - b26.items = []builder{&b92} - var b135 = sequenceBuilder{id: 135, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var b53 = charBuilder{} - b135.items = []builder{&b53} - b146.items = []builder{&b44, &b186, &b127, &b186, &b49, &b186, &b26, &b186, &b135} - var b161 = sequenceBuilder{id: 161, commit: 72, allChars: true, name: "one-or-more", ranges: [][]int{{1, 1}, {1, 1}}} - var b60 = charBuilder{} - b161.items = []builder{&b60} - var b104 = sequenceBuilder{id: 104, commit: 72, allChars: true, name: "zero-or-more", ranges: [][]int{{1, 1}, {1, 1}}} - var b111 = charBuilder{} - b104.items = []builder{&b111} - var b155 = sequenceBuilder{id: 155, commit: 72, allChars: true, name: "zero-or-one", ranges: [][]int{{1, 1}, {1, 1}}} - var b98 = charBuilder{} - b155.items = []builder{&b98} - b10.options = []builder{&b139, &b146, &b161, &b104, &b155} - b61.items = []builder{&b21, &b10} - var b105 = sequenceBuilder{id: 105, commit: 2, allChars: false, ranges: [][]int{{0, -1}, {1, 1}}} - b105.items = []builder{&b186, &b61} - b106.items = []builder{&b61, &b105} - var b100 = sequenceBuilder{id: 100, commit: 64, allChars: false, name: "choice", ranges: [][]int{{1, 1}, {0, -1}, {1, 1}, {0, -1}}} - var b171 = choiceBuilder{id: 171, commit: 66} - b171.options = []builder{&b88, &b8, &b174, &b106} - var b168 = sequenceBuilder{id: 168, commit: 2, allChars: false, ranges: [][]int{{1, 1}, {0, -1}, {1, 1}}} + var b29 = charBuilder{} + b1.items = []builder{&b29} var b80 = sequenceBuilder{id: 80, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var b112 = charBuilder{} - b80.items = []builder{&b112} - b168.items = []builder{&b80, &b186, &b171} - var b99 = sequenceBuilder{id: 99, commit: 2, allChars: false, ranges: [][]int{{0, -1}, {1, 1}}} - b99.items = []builder{&b186, &b168} - b100.items = []builder{&b171, &b186, &b168, &b99} - b15.options = []builder{&b88, &b8, &b174, &b106, &b100} - b46.items = []builder{&b18, &b186, &b177, &b186, &b15} - var b164 = sequenceBuilder{id: 164, commit: 2, allChars: false, ranges: [][]int{{0, -1}, {1, 1}, {0, -1}}} - var b71 = sequenceBuilder{id: 71, commit: 2, allChars: false, ranges: [][]int{{1, 1}, {0, -1}, {0, -1}, {1, 1}}} - var b34 = sequenceBuilder{id: 34, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} - var b180 = charBuilder{} - b34.items = []builder{&b180} - var b70 = sequenceBuilder{id: 70, commit: 2, allChars: false, ranges: [][]int{{0, -1}, {1, 1}}} - b70.items = []builder{&b186, &b34} - b71.items = []builder{&b34, &b70, &b186, &b46} - var b163 = sequenceBuilder{id: 163, commit: 2, allChars: false, ranges: [][]int{{0, -1}, {1, 1}}} - b163.items = []builder{&b186, &b71} - b164.items = []builder{&b186, &b71, &b163} - b165.items = []builder{&b46, &b164} - var b184 = sequenceBuilder{id: 184, commit: 2, allChars: false, ranges: [][]int{{0, -1}, {1, 1}, {0, -1}}} - var b82 = sequenceBuilder{id: 82, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b105 = charBuilder{} + b80.items = []builder{&b105} + var b81 = sequenceBuilder{id: 81, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b127 = charBuilder{} + b81.items = []builder{&b127} + var b2 = sequenceBuilder{id: 2, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b61 = charBuilder{} + b2.items = []builder{&b61} + var b106 = sequenceBuilder{id: 106, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b175 = charBuilder{} + b106.items = []builder{&b175} + var b113 = sequenceBuilder{id: 113, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b69 = charBuilder{} + b113.items = []builder{&b69} + var b20 = sequenceBuilder{id: 20, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b7 = charBuilder{} + b20.items = []builder{&b7} + b114.options = []builder{&b1, &b80, &b81, &b2, &b106, &b113, &b20} + var b152 = sequenceBuilder{id: 152, commit: 72, name: "comment", ranges: [][]int{{1, 1}, {0, -1}, {1, 1}, {0, -1}}} + var b36 = choiceBuilder{id: 36, commit: 74} + var b35 = sequenceBuilder{id: 35, commit: 74, ranges: [][]int{{1, 1}, {0, -1}, {1, 1}, {0, -1}}} + var b145 = sequenceBuilder{id: 145, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}, {1, 1}, {1, 1}}} + var b71 = charBuilder{} + var b160 = charBuilder{} + b145.items = []builder{&b71, &b160} + var b95 = sequenceBuilder{id: 95, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b21 = charBuilder{} + b95.items = []builder{&b21} + b35.items = []builder{&b145, &b95} + var b70 = sequenceBuilder{id: 70, commit: 74, ranges: [][]int{{1, 1}, {0, -1}, {1, 1}, {1, 1}, {0, -1}, {1, 1}}} + var b90 = sequenceBuilder{id: 90, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}, {1, 1}, {1, 1}}} + var b62 = charBuilder{} + var b8 = charBuilder{} + b90.items = []builder{&b62, &b8} + var b13 = choiceBuilder{id: 13, commit: 10} + var b3 = sequenceBuilder{id: 3, commit: 10, ranges: [][]int{{1, 1}, {1, 1}, {1, 1}, {1, 1}}} + var b48 = sequenceBuilder{id: 48, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b47 = charBuilder{} + b48.items = []builder{&b47} + var b99 = sequenceBuilder{id: 99, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b9 = charBuilder{} + b99.items = []builder{&b9} + b3.items = []builder{&b48, &b99} + var b30 = sequenceBuilder{id: 30, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b136 = charBuilder{} + b30.items = []builder{&b136} + b13.options = []builder{&b3, &b30} + var b151 = sequenceBuilder{id: 151, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}, {1, 1}, {1, 1}}} + var b54 = charBuilder{} + var b100 = charBuilder{} + b151.items = []builder{&b54, &b100} + b70.items = []builder{&b90, &b13, &b151} + b36.options = []builder{&b35, &b70} + var b10 = sequenceBuilder{id: 10, commit: 10, ranges: [][]int{{0, -1}, {0, 1}, {0, -1}, {1, 1}, {0, -1}, {0, 1}, {0, -1}, {1, 1}}} + var b146 = choiceBuilder{id: 146, commit: 74} + var b63 = sequenceBuilder{id: 63, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b161 = charBuilder{} + b63.items = []builder{&b161} + var b107 = sequenceBuilder{id: 107, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b86 = charBuilder{} + b107.items = []builder{&b86} + var b55 = sequenceBuilder{id: 55, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b122 = charBuilder{} + b55.items = []builder{&b122} + var b108 = sequenceBuilder{id: 108, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b96 = charBuilder{} + b108.items = []builder{&b96} + var b171 = sequenceBuilder{id: 171, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b115 = charBuilder{} + b171.items = []builder{&b115} + var b137 = sequenceBuilder{id: 137, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b123 = charBuilder{} + b137.items = []builder{&b123} + b146.options = []builder{&b63, &b107, &b55, &b108, &b171, &b137} + var b162 = sequenceBuilder{id: 162, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b82 = charBuilder{} + b162.items = []builder{&b82} + b10.items = []builder{&b146, &b162, &b146, &b36} + b152.items = []builder{&b36, &b10} + b185.options = []builder{&b114, &b152} + b186.options = []builder{&b185} + var b187 = sequenceBuilder{id: 187, commit: 66, ranges: [][]int{{0, 1}, {0, -1}, {0, 1}, {0, 1}}} + var b182 = sequenceBuilder{id: 182, commit: 2, ranges: [][]int{{1, 1}, {0, -1}}} + var b135 = sequenceBuilder{id: 135, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b155 = charBuilder{} + b135.items = []builder{&b155} + var b181 = sequenceBuilder{id: 181, commit: 2, ranges: [][]int{{0, -1}, {1, 1}}} + b181.items = []builder{&b186, &b135} + b182.items = []builder{&b135, &b181} + var b121 = sequenceBuilder{id: 121, commit: 66, ranges: [][]int{{1, 1}, {0, 1}}} + var b44 = sequenceBuilder{id: 44, commit: 64, name: "definition", ranges: [][]int{{1, 1}, {0, -1}, {1, 1}, {0, -1}, {1, 1}}} + var b18 = sequenceBuilder{id: 18, commit: 74, ranges: [][]int{{1, 1}, {0, -1}, {1, 1}, {0, -1}}} + var b128 = sequenceBuilder{id: 128, commit: 72, name: "symbol", ranges: [][]int{{1, -1}, {1, -1}}} + var b39 = sequenceBuilder{id: 39, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b57 = charBuilder{} + b39.items = []builder{&b57} + b128.items = []builder{&b39} + var b178 = sequenceBuilder{id: 178, commit: 10, ranges: [][]int{{1, 1}, {1, 1}, {1, 1}, {1, 1}}} + var b133 = sequenceBuilder{id: 133, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b43 = charBuilder{} + b133.items = []builder{&b43} + var b132 = choiceBuilder{id: 132, commit: 66} + var b93 = sequenceBuilder{id: 93, 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 b163 = charBuilder{} + var b27 = charBuilder{} + var b164 = charBuilder{} + var b158 = charBuilder{} + var b118 = charBuilder{} + b93.items = []builder{&b163, &b27, &b164, &b158, &b118} + var b131 = sequenceBuilder{id: 131, commit: 72, name: "ws", allChars: true, ranges: [][]int{{1, 1}, {1, 1}, {1, 1}, {1, 1}}} + var b53 = charBuilder{} + var b5 = charBuilder{} + b131.items = []builder{&b53, &b5} + var b172 = sequenceBuilder{id: 172, 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 b109 = charBuilder{} + var b110 = charBuilder{} + var b60 = charBuilder{} + var b79 = charBuilder{} + b172.items = []builder{&b109, &b110, &b60, &b79} + var b25 = sequenceBuilder{id: 25, 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 b45 = charBuilder{} + var b94 = charBuilder{} + var b89 = charBuilder{} + var b28 = charBuilder{} + var b42 = charBuilder{} + var b173 = charBuilder{} + var b149 = charBuilder{} + var b150 = charBuilder{} + b25.items = []builder{&b45, &b94, &b89, &b28, &b42, &b173, &b149, &b150} + var b144 = sequenceBuilder{id: 144, 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 b159 = charBuilder{} + var b174 = charBuilder{} + var b76 = charBuilder{} + var b75 = charBuilder{} + b144.items = []builder{&b159, &b174, &b76, &b75} + b132.options = []builder{&b93, &b131, &b172, &b25, &b144} + b178.items = []builder{&b133, &b132} + b18.items = []builder{&b128, &b178} + var b111 = sequenceBuilder{id: 111, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b19 = charBuilder{} + b111.items = []builder{&b19} + var b52 = choiceBuilder{id: 52, commit: 66} + var b11 = choiceBuilder{id: 11, commit: 66} + var b37 = sequenceBuilder{id: 37, commit: 72, name: "any-char", allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b97 = charBuilder{} + b37.items = []builder{&b97} + var b49 = sequenceBuilder{id: 49, commit: 72, name: "char-class", ranges: [][]int{{1, 1}, {0, 1}, {0, -1}, {1, 1}, {1, 1}, {0, 1}, {0, -1}, {1, 1}}} + var b101 = sequenceBuilder{id: 101, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b67 = charBuilder{} + b101.items = []builder{&b67} + var b87 = sequenceBuilder{id: 87, commit: 72, name: "class-not", allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b138 = charBuilder{} + b87.items = []builder{&b138} + var b83 = choiceBuilder{id: 83, commit: 10} + var b74 = choiceBuilder{id: 74, commit: 72, name: "class-char"} + var b56 = sequenceBuilder{id: 56, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b165 = charBuilder{} + b56.items = []builder{&b165} + var b31 = sequenceBuilder{id: 31, commit: 10, ranges: [][]int{{1, 1}, {1, 1}, {1, 1}, {1, 1}}} + var b147 = sequenceBuilder{id: 147, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b91 = charBuilder{} + b147.items = []builder{&b91} + var b73 = sequenceBuilder{id: 73, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b72 = charBuilder{} + b73.items = []builder{&b72} + b31.items = []builder{&b147, &b73} + b74.options = []builder{&b56, &b31} + var b64 = sequenceBuilder{id: 64, commit: 72, name: "char-range", ranges: [][]int{{1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}}} + var b167 = sequenceBuilder{id: 167, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b77 = charBuilder{} + b167.items = []builder{&b77} + b64.items = []builder{&b74, &b167, &b74} + b83.options = []builder{&b74, &b64} + var b65 = sequenceBuilder{id: 65, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b124 = charBuilder{} + b65.items = []builder{&b124} + b49.items = []builder{&b101, &b87, &b83, &b65} + var b140 = sequenceBuilder{id: 140, commit: 72, name: "char-sequence", ranges: [][]int{{1, 1}, {0, -1}, {1, 1}, {1, 1}, {0, -1}, {1, 1}}} + var b38 = sequenceBuilder{id: 38, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b88 = charBuilder{} + b38.items = []builder{&b88} + var b22 = choiceBuilder{id: 22, commit: 72, name: "sequence-char"} + var b156 = sequenceBuilder{id: 156, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b102 = charBuilder{} + b156.items = []builder{&b102} + var b153 = sequenceBuilder{id: 153, commit: 10, ranges: [][]int{{1, 1}, {1, 1}, {1, 1}, {1, 1}}} + var b139 = sequenceBuilder{id: 139, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b50 = charBuilder{} + b139.items = []builder{&b50} + var b78 = sequenceBuilder{id: 78, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b116 = charBuilder{} + b78.items = []builder{&b116} + b153.items = []builder{&b139, &b78} + b22.options = []builder{&b156, &b153} + var b142 = sequenceBuilder{id: 142, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b14 = charBuilder{} + b142.items = []builder{&b14} + b140.items = []builder{&b38, &b22, &b142} + b11.options = []builder{&b37, &b49, &b140} + var b33 = sequenceBuilder{id: 33, commit: 66, ranges: [][]int{{1, 1}, {0, -1}, {1, 1}, {0, -1}, {1, 1}}} + var b40 = sequenceBuilder{id: 40, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b166 = charBuilder{} + b40.items = []builder{&b166} + var b12 = sequenceBuilder{id: 12, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b98 = charBuilder{} + b12.items = []builder{&b98} + b33.items = []builder{&b40, &b186, &b52, &b186, &b12} + var b130 = sequenceBuilder{id: 130, commit: 64, name: "sequence", ranges: [][]int{{1, 1}, {0, -1}}} + var b143 = sequenceBuilder{id: 143, commit: 72, name: "item", ranges: [][]int{{1, 1}, {0, 1}, {1, 1}, {0, 1}}} + var b26 = choiceBuilder{id: 26, commit: 10} + b26.options = []builder{&b11, &b128, &b33} + var b176 = choiceBuilder{id: 176, commit: 66} + var b148 = sequenceBuilder{id: 148, commit: 64, name: "count-quantifier", ranges: [][]int{{1, 1}, {0, -1}, {1, 1}, {0, -1}, {1, 1}}} + var b58 = sequenceBuilder{id: 58, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b6 = charBuilder{} + b58.items = []builder{&b6} + var b15 = sequenceBuilder{id: 15, commit: 64, name: "count", ranges: [][]int{{1, 1}}} + var b32 = sequenceBuilder{id: 32, commit: 74, ranges: [][]int{{1, -1}, {1, -1}}} + var b68 = sequenceBuilder{id: 68, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b34 = charBuilder{} + b68.items = []builder{&b34} + b32.items = []builder{&b68} + b15.items = []builder{&b32} + var b157 = sequenceBuilder{id: 157, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b103 = charBuilder{} + b157.items = []builder{&b103} + b148.items = []builder{&b58, &b186, &b15, &b186, &b157} + var b141 = sequenceBuilder{id: 141, 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 b85 = sequenceBuilder{id: 85, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b66 = charBuilder{} + b85.items = []builder{&b66} + var b125 = sequenceBuilder{id: 125, commit: 64, name: "range-from", ranges: [][]int{{1, 1}}} + b125.items = []builder{&b32} + var b168 = sequenceBuilder{id: 168, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} var b41 = charBuilder{} - b82.items = []builder{&b41} - var b183 = sequenceBuilder{id: 183, commit: 2, allChars: false, ranges: [][]int{{0, -1}, {1, 1}}} - b183.items = []builder{&b186, &b82} - b184.items = []builder{&b186, &b82, &b183} - b187.items = []builder{&b182, &b186, &b165, &b184} + b168.items = []builder{&b41} + var b84 = sequenceBuilder{id: 84, commit: 64, name: "range-to", ranges: [][]int{{1, 1}}} + b84.items = []builder{&b32} + var b16 = sequenceBuilder{id: 16, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b51 = charBuilder{} + b16.items = []builder{&b51} + b141.items = []builder{&b85, &b186, &b125, &b186, &b168, &b186, &b84, &b186, &b16} + var b4 = sequenceBuilder{id: 4, commit: 72, name: "one-or-more", allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b23 = charBuilder{} + b4.items = []builder{&b23} + var b17 = sequenceBuilder{id: 17, commit: 72, name: "zero-or-more", allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b134 = charBuilder{} + b17.items = []builder{&b134} + var b59 = sequenceBuilder{id: 59, commit: 72, name: "zero-or-one", allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b117 = charBuilder{} + b59.items = []builder{&b117} + b176.options = []builder{&b148, &b141, &b4, &b17, &b59} + b143.items = []builder{&b26, &b176} + var b129 = sequenceBuilder{id: 129, commit: 2, ranges: [][]int{{0, -1}, {1, 1}}} + b129.items = []builder{&b186, &b143} + b130.items = []builder{&b143, &b129} + var b170 = sequenceBuilder{id: 170, commit: 64, name: "choice", ranges: [][]int{{1, 1}, {0, -1}, {1, 1}, {0, -1}}} + var b177 = choiceBuilder{id: 177, commit: 66} + b177.options = []builder{&b11, &b128, &b33, &b130} + var b92 = sequenceBuilder{id: 92, commit: 2, ranges: [][]int{{1, 1}, {0, -1}, {1, 1}}} + var b24 = sequenceBuilder{id: 24, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b154 = charBuilder{} + b24.items = []builder{&b154} + b92.items = []builder{&b24, &b186, &b177} + var b169 = sequenceBuilder{id: 169, commit: 2, ranges: [][]int{{0, -1}, {1, 1}}} + b169.items = []builder{&b186, &b92} + b170.items = []builder{&b177, &b186, &b92, &b169} + b52.options = []builder{&b11, &b128, &b33, &b130, &b170} + b44.items = []builder{&b18, &b186, &b111, &b186, &b52} + var b120 = sequenceBuilder{id: 120, commit: 2, ranges: [][]int{{0, -1}, {1, 1}, {0, -1}}} + var b180 = sequenceBuilder{id: 180, commit: 2, ranges: [][]int{{1, 1}, {0, -1}, {0, -1}, {1, 1}}} + var b112 = sequenceBuilder{id: 112, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b104 = charBuilder{} + b112.items = []builder{&b104} + var b179 = sequenceBuilder{id: 179, commit: 2, ranges: [][]int{{0, -1}, {1, 1}}} + b179.items = []builder{&b186, &b112} + b180.items = []builder{&b112, &b179, &b186, &b44} + var b119 = sequenceBuilder{id: 119, commit: 2, ranges: [][]int{{0, -1}, {1, 1}}} + b119.items = []builder{&b186, &b180} + b120.items = []builder{&b186, &b180, &b119} + b121.items = []builder{&b44, &b120} + var b184 = sequenceBuilder{id: 184, commit: 2, ranges: [][]int{{0, -1}, {1, 1}, {0, -1}}} + var b126 = sequenceBuilder{id: 126, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} + var b46 = charBuilder{} + b126.items = []builder{&b46} + var b183 = sequenceBuilder{id: 183, commit: 2, ranges: [][]int{{0, -1}, {1, 1}}} + b183.items = []builder{&b186, &b126} + b184.items = []builder{&b186, &b126, &b183} + b187.items = []builder{&b182, &b186, &b121, &b184} b188.items = []builder{&b186, &b187, &b186} return parse(r, &p188, &b188) diff --git a/sequencedefine.go b/sequencedefine.go index dede5e3..a5891c0 100644 --- a/sequencedefine.go +++ b/sequencedefine.go @@ -296,37 +296,51 @@ func (p *sequenceParser) generate(w io.Writer, done map[string]bool) error { } fprintf("var p%d = sequenceParser{", p.id) - fprintf("id: %d, commit: %d, allChars: %t,", p.id, p.commit, p.allChars) + fprintf("id: %d, commit: %d,", p.id, p.commit) + if p.commit&userDefined != 0 { fprintf("name: \"%s\",", p.name) } - fprintf("ranges: [][]int{") - for i := range p.ranges { - fprintf("{%d, %d},", p.ranges[i][0], p.ranges[i][1]) + if p.allChars { + fprintf("allChars: true,") } - fprintf("},") - - fprintf("generalizations: []int{") - for i := range p.generalizations { - fprintf("%d,", p.generalizations[i]) - } - - fprintf("}};") - - for i := range p.items { - if err := p.items[i].(generator).generate(w, done); err != nil { - return err + if len(p.ranges) > 0 { + fprintf("ranges: [][]int{") + for i := range p.ranges { + fprintf("{%d, %d},", p.ranges[i][0], p.ranges[i][1]) } + + fprintf("},") } - fprintf("p%d.items = []parser{", p.id) - for i := range p.items { - fprintf("&p%d,", p.items[i].nodeID()) + if len(p.generalizations) > 0 { + fprintf("generalizations: []int{") + for i := range p.generalizations { + fprintf("%d,", p.generalizations[i]) + } + + fprintf("},") } fprintf("};") + + if len(p.items) > 0 { + for i := range p.items { + if err := p.items[i].(generator).generate(w, done); err != nil { + return err + } + } + + fprintf("p%d.items = []parser{", p.id) + for i := range p.items { + fprintf("&p%d,", p.items[i].nodeID()) + } + + fprintf("};") + } + return err } @@ -347,29 +361,41 @@ func (b *sequenceBuilder) generate(w io.Writer, done map[string]bool) error { } fprintf("var b%d = sequenceBuilder{", b.id) - fprintf("id: %d, commit: %d, allChars: %t,", b.id, b.commit, b.allChars) + fprintf("id: %d, commit: %d,", b.id, b.commit) + if b.commit&Alias == 0 { fprintf("name: \"%s\",", b.name) } - fprintf("ranges: [][]int{") - for i := range b.ranges { - fprintf("{%d, %d},", b.ranges[i][0], b.ranges[i][1]) + if b.allChars { + fprintf("allChars: true,") } - fprintf("}};") - - for i := range b.items { - if err := b.items[i].(generator).generate(w, done); err != nil { - return err + if len(b.ranges) > 0 { + fprintf("ranges: [][]int{") + for i := range b.ranges { + fprintf("{%d, %d},", b.ranges[i][0], b.ranges[i][1]) } - } - fprintf("b%d.items = []builder{", b.id) - for i := range b.items { - fprintf("&b%d,", b.items[i].nodeID()) + fprintf("},") } fprintf("};") + + if len(b.items) > 0 { + for i := range b.items { + if err := b.items[i].(generator).generate(w, done); err != nil { + return err + } + } + + fprintf("b%d.items = []builder{", b.id) + for i := range b.items { + fprintf("&b%d,", b.items[i].nodeID()) + } + + fprintf("};") + } + return err }