1
0

reformat self syntax

This commit is contained in:
Arpad Ryszka 2026-06-01 21:40:14 +02:00
parent e025778538
commit bfa71e7a73
2 changed files with 290 additions and 309 deletions

View File

@ -848,66 +848,66 @@ func Parse(r io.Reader) (*Node, error) {
p14.items = []parser{&p13} p14.items = []parser{&p13}
p15.options = []parser{&p2, &p4, &p6, &p8, &p10, &p12, &p14} p15.options = []parser{&p2, &p4, &p6, &p8, &p10, &p12, &p14}
var p54 = sequenceParser{id: 54, commit: 264, name: "comment", ranges: [][]int{{1, 1}, {0, -1}, {1, 1}, {0, -1}}, generalizations: []int{193, 194}} var p54 = sequenceParser{id: 54, commit: 264, name: "comment", ranges: [][]int{{1, 1}, {0, -1}, {1, 1}, {0, -1}}, generalizations: []int{193, 194}}
var p37 = choiceParser{id: 37, commit: 266, name: "comment-segment"} var p50 = choiceParser{id: 50, commit: 266, name: "comment-segment"}
var p36 = sequenceParser{id: 36, commit: 266, name: "line-comment", ranges: [][]int{{1, 1}, {0, -1}, {1, 1}, {0, -1}}, generalizations: []int{37}} var p49 = sequenceParser{id: 49, commit: 266, name: "line-comment", ranges: [][]int{{1, 1}, {0, -1}, {1, 1}, {0, -1}}, generalizations: []int{50}}
var p33 = sequenceParser{id: 33, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}, {1, 1}, {1, 1}}} var p46 = sequenceParser{id: 46, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}, {1, 1}, {1, 1}}}
var p31 = charParser{id: 31, chars: []rune{47}} var p44 = charParser{id: 44, chars: []rune{47}}
var p32 = charParser{id: 32, chars: []rune{47}} var p45 = charParser{id: 45, chars: []rune{47}}
p33.items = []parser{&p31, &p32} p46.items = []parser{&p44, &p45}
var p48 = sequenceParser{id: 48, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}}
var p47 = charParser{id: 47, not: true, chars: []rune{10}}
p48.items = []parser{&p47}
p49.items = []parser{&p46, &p48}
var p43 = sequenceParser{id: 43, commit: 266, name: "block-comment", ranges: [][]int{{1, 1}, {0, -1}, {1, 1}, {1, 1}, {0, -1}, {1, 1}}, generalizations: []int{50}}
var p31 = sequenceParser{id: 31, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}, {1, 1}, {1, 1}}}
var p29 = charParser{id: 29, chars: []rune{47}}
var p30 = charParser{id: 30, chars: []rune{42}}
p31.items = []parser{&p29, &p30}
var p39 = choiceParser{id: 39, commit: 10}
var p36 = sequenceParser{id: 36, commit: 10, ranges: [][]int{{1, 1}, {1, 1}, {1, 1}, {1, 1}}, generalizations: []int{39}}
var p33 = sequenceParser{id: 33, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}}
var p32 = charParser{id: 32, chars: []rune{42}}
p33.items = []parser{&p32}
var p35 = sequenceParser{id: 35, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} var p35 = sequenceParser{id: 35, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}}
var p34 = charParser{id: 34, not: true, chars: []rune{10}} var p34 = charParser{id: 34, not: true, chars: []rune{47}}
p35.items = []parser{&p34} p35.items = []parser{&p34}
p36.items = []parser{&p33, &p35} p36.items = []parser{&p33, &p35}
var p30 = sequenceParser{id: 30, commit: 266, name: "block-comment", ranges: [][]int{{1, 1}, {0, -1}, {1, 1}, {1, 1}, {0, -1}, {1, 1}}, generalizations: []int{37}} var p38 = sequenceParser{id: 38, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{39}}
var p18 = sequenceParser{id: 18, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}, {1, 1}, {1, 1}}} var p37 = charParser{id: 37, not: true, chars: []rune{42}}
var p16 = charParser{id: 16, chars: []rune{47}} p38.items = []parser{&p37}
var p17 = charParser{id: 17, chars: []rune{42}} p39.options = []parser{&p36, &p38}
p18.items = []parser{&p16, &p17} var p42 = sequenceParser{id: 42, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}, {1, 1}, {1, 1}}}
var p26 = choiceParser{id: 26, commit: 10} var p40 = charParser{id: 40, chars: []rune{42}}
var p23 = sequenceParser{id: 23, commit: 10, ranges: [][]int{{1, 1}, {1, 1}, {1, 1}, {1, 1}}, generalizations: []int{26}} var p41 = charParser{id: 41, chars: []rune{47}}
var p20 = sequenceParser{id: 20, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} p42.items = []parser{&p40, &p41}
var p19 = charParser{id: 19, chars: []rune{42}} p43.items = []parser{&p31, &p39, &p42}
p20.items = []parser{&p19} p50.options = []parser{&p49, &p43}
var p22 = sequenceParser{id: 22, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}}
var p21 = charParser{id: 21, not: true, chars: []rune{47}}
p22.items = []parser{&p21}
p23.items = []parser{&p20, &p22}
var p25 = sequenceParser{id: 25, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{26}}
var p24 = charParser{id: 24, not: true, chars: []rune{42}}
p25.items = []parser{&p24}
p26.options = []parser{&p23, &p25}
var p29 = sequenceParser{id: 29, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}, {1, 1}, {1, 1}}}
var p27 = charParser{id: 27, chars: []rune{42}}
var p28 = charParser{id: 28, chars: []rune{47}}
p29.items = []parser{&p27, &p28}
p30.items = []parser{&p18, &p26, &p29}
p37.options = []parser{&p36, &p30}
var p53 = sequenceParser{id: 53, commit: 10, ranges: [][]int{{0, -1}, {0, 1}, {0, -1}, {1, 1}, {0, -1}, {0, 1}, {0, -1}, {1, 1}}} var p53 = sequenceParser{id: 53, commit: 10, ranges: [][]int{{0, -1}, {0, 1}, {0, -1}, {1, 1}, {0, -1}, {0, 1}, {0, -1}, {1, 1}}}
var p50 = choiceParser{id: 50, commit: 266, name: "ws-no-nl"} var p28 = choiceParser{id: 28, commit: 266, name: "ws-no-nl"}
var p39 = sequenceParser{id: 39, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{50}} var p17 = sequenceParser{id: 17, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{28}}
var p38 = charParser{id: 38, chars: []rune{32}} var p16 = charParser{id: 16, chars: []rune{32}}
p39.items = []parser{&p38} p17.items = []parser{&p16}
var p41 = sequenceParser{id: 41, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{50}} var p19 = sequenceParser{id: 19, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{28}}
var p40 = charParser{id: 40, chars: []rune{9}} var p18 = charParser{id: 18, chars: []rune{9}}
p41.items = []parser{&p40} p19.items = []parser{&p18}
var p43 = sequenceParser{id: 43, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{50}} var p21 = sequenceParser{id: 21, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{28}}
var p42 = charParser{id: 42, chars: []rune{8}} var p20 = charParser{id: 20, chars: []rune{8}}
p43.items = []parser{&p42} p21.items = []parser{&p20}
var p45 = sequenceParser{id: 45, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{50}} var p23 = sequenceParser{id: 23, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{28}}
var p44 = charParser{id: 44, chars: []rune{12}} var p22 = charParser{id: 22, chars: []rune{12}}
p45.items = []parser{&p44} p23.items = []parser{&p22}
var p47 = sequenceParser{id: 47, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{50}} var p25 = sequenceParser{id: 25, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{28}}
var p46 = charParser{id: 46, chars: []rune{13}} var p24 = charParser{id: 24, chars: []rune{13}}
p47.items = []parser{&p46} p25.items = []parser{&p24}
var p49 = sequenceParser{id: 49, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{50}} var p27 = sequenceParser{id: 27, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{28}}
var p48 = charParser{id: 48, chars: []rune{11}} var p26 = charParser{id: 26, chars: []rune{11}}
p49.items = []parser{&p48} p27.items = []parser{&p26}
p50.options = []parser{&p39, &p41, &p43, &p45, &p47, &p49} p28.options = []parser{&p17, &p19, &p21, &p23, &p25, &p27}
var p52 = sequenceParser{id: 52, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} var p52 = sequenceParser{id: 52, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}}
var p51 = charParser{id: 51, chars: []rune{10}} var p51 = charParser{id: 51, chars: []rune{10}}
p52.items = []parser{&p51} p52.items = []parser{&p51}
p53.items = []parser{&p50, &p52, &p50, &p37} p53.items = []parser{&p28, &p52, &p28, &p50}
p54.items = []parser{&p37, &p53} p54.items = []parser{&p50, &p53}
p193.options = []parser{&p15, &p54} p193.options = []parser{&p15, &p54}
p194.options = []parser{&p193} p194.options = []parser{&p193}
var p195 = sequenceParser{id: 195, commit: 258, name: "syntax:wsroot", ranges: [][]int{{0, 1}, {0, -1}, {0, 1}, {0, 1}}} var p195 = sequenceParser{id: 195, commit: 258, name: "syntax:wsroot", ranges: [][]int{{0, 1}, {0, -1}, {0, 1}, {0, 1}}}
@ -921,7 +921,7 @@ func Parse(r io.Reader) (*Node, error) {
var p184 = sequenceParser{id: 184, commit: 258, name: "definitions", ranges: [][]int{{1, 1}, {0, 1}}} var p184 = sequenceParser{id: 184, commit: 258, name: "definitions", ranges: [][]int{{1, 1}, {0, 1}}}
var p177 = sequenceParser{id: 177, commit: 256, name: "definition", ranges: [][]int{{1, 1}, {0, -1}, {1, 1}, {0, -1}, {1, 1}}} var p177 = sequenceParser{id: 177, commit: 256, name: "definition", ranges: [][]int{{1, 1}, {0, -1}, {1, 1}, {0, -1}, {1, 1}}}
var p174 = sequenceParser{id: 174, commit: 266, name: "definition-name", ranges: [][]int{{1, 1}, {0, -1}, {1, 1}, {0, -1}}} var p174 = sequenceParser{id: 174, commit: 266, name: "definition-name", ranges: [][]int{{1, 1}, {0, -1}, {1, 1}, {0, -1}}}
var p92 = sequenceParser{id: 92, commit: 264, name: "symbol", ranges: [][]int{{1, -1}, {1, -1}}, generalizations: []int{133, 123, 127}} var p92 = sequenceParser{id: 92, commit: 264, name: "symbol", ranges: [][]int{{1, -1}, {1, -1}}, generalizations: []int{98, 124, 128}}
var p91 = sequenceParser{id: 91, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} var p91 = sequenceParser{id: 91, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}}
var p90 = charParser{id: 90, 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}} var p90 = charParser{id: 90, 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}}
p91.items = []parser{&p90} p91.items = []parser{&p90}
@ -980,12 +980,12 @@ func Parse(r io.Reader) (*Node, error) {
var p176 = sequenceParser{id: 176, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} var p176 = sequenceParser{id: 176, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}}
var p175 = charParser{id: 175, chars: []rune{61}} var p175 = charParser{id: 175, chars: []rune{61}}
p176.items = []parser{&p175} p176.items = []parser{&p175}
var p133 = choiceParser{id: 133, commit: 258, name: "expression"} var p98 = choiceParser{id: 98, commit: 258, name: "expression"}
var p89 = choiceParser{id: 89, commit: 258, name: "terminal", generalizations: []int{133, 123, 127}} var p89 = choiceParser{id: 89, commit: 258, name: "terminal", generalizations: []int{98, 124, 128}}
var p56 = sequenceParser{id: 56, commit: 264, name: "any-char", allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{89, 133, 123, 127}} var p56 = sequenceParser{id: 56, commit: 264, name: "any-char", allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{89, 98, 124, 128}}
var p55 = charParser{id: 55, chars: []rune{46}} var p55 = charParser{id: 55, chars: []rune{46}}
p56.items = []parser{&p55} p56.items = []parser{&p55}
var p75 = sequenceParser{id: 75, commit: 264, name: "char-class", ranges: [][]int{{1, 1}, {0, 1}, {0, -1}, {1, 1}, {1, 1}, {0, 1}, {0, -1}, {1, 1}}, generalizations: []int{89, 133, 123, 127}} var p75 = sequenceParser{id: 75, commit: 264, name: "char-class", ranges: [][]int{{1, 1}, {0, 1}, {0, -1}, {1, 1}, {1, 1}, {0, 1}, {0, -1}, {1, 1}}, generalizations: []int{89, 98, 124, 128}}
var p71 = sequenceParser{id: 71, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} var p71 = sequenceParser{id: 71, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}}
var p70 = charParser{id: 70, chars: []rune{91}} var p70 = charParser{id: 70, chars: []rune{91}}
p71.items = []parser{&p70} p71.items = []parser{&p70}
@ -1016,7 +1016,7 @@ func Parse(r io.Reader) (*Node, error) {
var p73 = charParser{id: 73, chars: []rune{93}} var p73 = charParser{id: 73, chars: []rune{93}}
p74.items = []parser{&p73} p74.items = []parser{&p73}
p75.items = []parser{&p71, &p58, &p72, &p74} p75.items = []parser{&p71, &p58, &p72, &p74}
var p88 = sequenceParser{id: 88, commit: 264, name: "char-sequence", ranges: [][]int{{1, 1}, {0, -1}, {1, 1}, {1, 1}, {0, -1}, {1, 1}}, generalizations: []int{89, 133, 123, 127}} var p88 = sequenceParser{id: 88, commit: 264, name: "char-sequence", ranges: [][]int{{1, 1}, {0, -1}, {1, 1}, {1, 1}, {0, -1}, {1, 1}}, generalizations: []int{89, 98, 124, 128}}
var p85 = sequenceParser{id: 85, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} var p85 = sequenceParser{id: 85, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}}
var p84 = charParser{id: 84, chars: []rune{34}} var p84 = charParser{id: 84, chars: []rune{34}}
p85.items = []parser{&p84} p85.items = []parser{&p84}
@ -1038,76 +1038,76 @@ func Parse(r io.Reader) (*Node, error) {
p87.items = []parser{&p86} p87.items = []parser{&p86}
p88.items = []parser{&p85, &p83, &p87} p88.items = []parser{&p85, &p83, &p87}
p89.options = []parser{&p56, &p75, &p88} p89.options = []parser{&p56, &p75, &p88}
var p97 = sequenceParser{id: 97, commit: 258, name: "group", ranges: [][]int{{1, 1}, {0, -1}, {1, 1}, {0, -1}, {1, 1}}, generalizations: []int{133, 123, 127}} var p97 = sequenceParser{id: 97, commit: 258, name: "group", ranges: [][]int{{1, 1}, {0, -1}, {1, 1}, {0, -1}, {1, 1}}, generalizations: []int{98, 124, 128}}
var p94 = sequenceParser{id: 94, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} var p94 = sequenceParser{id: 94, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}}
var p93 = charParser{id: 93, chars: []rune{40}} var p93 = charParser{id: 93, chars: []rune{40}}
p94.items = []parser{&p93} p94.items = []parser{&p93}
var p96 = sequenceParser{id: 96, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} var p96 = sequenceParser{id: 96, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}}
var p95 = charParser{id: 95, chars: []rune{41}} var p95 = charParser{id: 95, chars: []rune{41}}
p96.items = []parser{&p95} p96.items = []parser{&p95}
p97.items = []parser{&p94, &p194, &p133, &p194, &p96} p97.items = []parser{&p94, &p194, &p98, &p194, &p96}
var p126 = sequenceParser{id: 126, commit: 256, name: "sequence", ranges: [][]int{{1, 1}, {0, -1}}, generalizations: []int{133, 127}} var p127 = sequenceParser{id: 127, commit: 256, name: "sequence", ranges: [][]int{{1, 1}, {0, -1}}, generalizations: []int{98, 128}}
var p124 = sequenceParser{id: 124, commit: 264, name: "item", ranges: [][]int{{1, 1}, {0, 1}, {1, 1}, {0, 1}}} var p125 = sequenceParser{id: 125, commit: 264, name: "item", ranges: [][]int{{1, 1}, {0, 1}, {1, 1}, {0, 1}}}
var p123 = choiceParser{id: 123, commit: 10} var p124 = choiceParser{id: 124, commit: 10}
p123.options = []parser{&p89, &p92, &p97} p124.options = []parser{&p89, &p92, &p97}
var p122 = choiceParser{id: 122, commit: 258, name: "quantity"} var p123 = choiceParser{id: 123, commit: 258, name: "quantity"}
var p106 = sequenceParser{id: 106, commit: 256, name: "count-quantifier", ranges: [][]int{{1, 1}, {0, -1}, {1, 1}, {0, -1}, {1, 1}}, generalizations: []int{122}} var p107 = sequenceParser{id: 107, commit: 256, name: "count-quantifier", ranges: [][]int{{1, 1}, {0, -1}, {1, 1}, {0, -1}, {1, 1}}, generalizations: []int{123}}
var p103 = sequenceParser{id: 103, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} var p104 = sequenceParser{id: 104, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}}
var p102 = charParser{id: 102, chars: []rune{123}} var p103 = charParser{id: 103, chars: []rune{123}}
p103.items = []parser{&p102} p104.items = []parser{&p103}
var p101 = sequenceParser{id: 101, commit: 256, name: "count", ranges: [][]int{{1, 1}}} var p102 = sequenceParser{id: 102, commit: 256, name: "count", ranges: [][]int{{1, 1}}}
var p100 = sequenceParser{id: 100, commit: 266, name: "number", ranges: [][]int{{1, -1}, {1, -1}}} var p101 = sequenceParser{id: 101, commit: 266, name: "number", ranges: [][]int{{1, -1}, {1, -1}}}
var p99 = sequenceParser{id: 99, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} var p100 = sequenceParser{id: 100, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}}
var p98 = charParser{id: 98, ranges: [][]rune{{48, 57}}} var p99 = charParser{id: 99, ranges: [][]rune{{48, 57}}}
p99.items = []parser{&p98}
p100.items = []parser{&p99} p100.items = []parser{&p99}
p101.items = []parser{&p100} p101.items = []parser{&p100}
var p105 = sequenceParser{id: 105, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} p102.items = []parser{&p101}
var p104 = charParser{id: 104, chars: []rune{125}} var p106 = sequenceParser{id: 106, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}}
p105.items = []parser{&p104} var p105 = charParser{id: 105, chars: []rune{125}}
p106.items = []parser{&p103, &p194, &p101, &p194, &p105} p106.items = []parser{&p105}
var p115 = sequenceParser{id: 115, commit: 256, name: "range-quantifier", ranges: [][]int{{1, 1}, {0, -1}, {0, 1}, {0, -1}, {1, 1}, {0, -1}, {0, 1}, {0, -1}, {1, 1}}, generalizations: []int{122}} p107.items = []parser{&p104, &p194, &p102, &p194, &p106}
var p110 = sequenceParser{id: 110, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} var p116 = sequenceParser{id: 116, commit: 256, 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{123}}
var p109 = charParser{id: 109, chars: []rune{123}} var p111 = sequenceParser{id: 111, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}}
p110.items = []parser{&p109} var p110 = charParser{id: 110, chars: []rune{123}}
var p107 = sequenceParser{id: 107, commit: 256, name: "range-from", ranges: [][]int{{1, 1}}} p111.items = []parser{&p110}
p107.items = []parser{&p100} var p108 = sequenceParser{id: 108, commit: 256, name: "range-from", ranges: [][]int{{1, 1}}}
var p112 = sequenceParser{id: 112, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} p108.items = []parser{&p101}
var p111 = charParser{id: 111, chars: []rune{44}} var p113 = sequenceParser{id: 113, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}}
p112.items = []parser{&p111} var p112 = charParser{id: 112, chars: []rune{44}}
var p108 = sequenceParser{id: 108, commit: 256, name: "range-to", ranges: [][]int{{1, 1}}} p113.items = []parser{&p112}
p108.items = []parser{&p100} var p109 = sequenceParser{id: 109, commit: 256, name: "range-to", ranges: [][]int{{1, 1}}}
var p114 = sequenceParser{id: 114, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} p109.items = []parser{&p101}
var p113 = charParser{id: 113, chars: []rune{125}} var p115 = sequenceParser{id: 115, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}}
p114.items = []parser{&p113} var p114 = charParser{id: 114, chars: []rune{125}}
p115.items = []parser{&p110, &p194, &p107, &p194, &p112, &p194, &p108, &p194, &p114} p115.items = []parser{&p114}
var p117 = sequenceParser{id: 117, commit: 264, name: "one-or-more", allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{122}} p116.items = []parser{&p111, &p194, &p108, &p194, &p113, &p194, &p109, &p194, &p115}
var p116 = charParser{id: 116, chars: []rune{43}} var p118 = sequenceParser{id: 118, commit: 264, name: "one-or-more", allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{123}}
p117.items = []parser{&p116} var p117 = charParser{id: 117, chars: []rune{43}}
var p119 = sequenceParser{id: 119, commit: 264, name: "zero-or-more", allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{122}} p118.items = []parser{&p117}
var p118 = charParser{id: 118, chars: []rune{42}} var p120 = sequenceParser{id: 120, commit: 264, name: "zero-or-more", allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{123}}
p119.items = []parser{&p118} var p119 = charParser{id: 119, chars: []rune{42}}
var p121 = sequenceParser{id: 121, commit: 264, name: "zero-or-one", allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{122}} p120.items = []parser{&p119}
var p120 = charParser{id: 120, chars: []rune{63}} var p122 = sequenceParser{id: 122, commit: 264, name: "zero-or-one", allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{123}}
p121.items = []parser{&p120} var p121 = charParser{id: 121, chars: []rune{63}}
p122.options = []parser{&p106, &p115, &p117, &p119, &p121} p122.items = []parser{&p121}
p124.items = []parser{&p123, &p122} p123.options = []parser{&p107, &p116, &p118, &p120, &p122}
var p125 = sequenceParser{id: 125, commit: 2, ranges: [][]int{{0, -1}, {1, 1}}} p125.items = []parser{&p124, &p123}
p125.items = []parser{&p194, &p124} var p126 = sequenceParser{id: 126, commit: 2, ranges: [][]int{{0, -1}, {1, 1}}}
p126.items = []parser{&p124, &p125} p126.items = []parser{&p194, &p125}
var p132 = sequenceParser{id: 132, commit: 256, name: "choice", ranges: [][]int{{1, 1}, {0, -1}, {1, 1}, {0, -1}}, generalizations: []int{133}} p127.items = []parser{&p125, &p126}
var p127 = choiceParser{id: 127, commit: 258, name: "option"} var p133 = sequenceParser{id: 133, commit: 256, name: "choice", ranges: [][]int{{1, 1}, {0, -1}, {1, 1}, {0, -1}}, generalizations: []int{98}}
p127.options = []parser{&p89, &p92, &p97, &p126} var p128 = choiceParser{id: 128, commit: 258, name: "option"}
var p130 = sequenceParser{id: 130, commit: 2, ranges: [][]int{{1, 1}, {0, -1}, {1, 1}}} p128.options = []parser{&p89, &p92, &p97, &p127}
var p129 = sequenceParser{id: 129, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} var p131 = sequenceParser{id: 131, commit: 2, ranges: [][]int{{1, 1}, {0, -1}, {1, 1}}}
var p128 = charParser{id: 128, chars: []rune{124}} var p130 = sequenceParser{id: 130, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}}
p129.items = []parser{&p128} var p129 = charParser{id: 129, chars: []rune{124}}
p130.items = []parser{&p129, &p194, &p127} p130.items = []parser{&p129}
var p131 = sequenceParser{id: 131, commit: 2, ranges: [][]int{{0, -1}, {1, 1}}} p131.items = []parser{&p130, &p194, &p128}
p131.items = []parser{&p194, &p130} var p132 = sequenceParser{id: 132, commit: 2, ranges: [][]int{{0, -1}, {1, 1}}}
p132.items = []parser{&p127, &p194, &p130, &p131} p132.items = []parser{&p194, &p131}
p133.options = []parser{&p89, &p92, &p97, &p126, &p132} p133.items = []parser{&p128, &p194, &p131, &p132}
p177.items = []parser{&p174, &p194, &p176, &p194, &p133} p98.options = []parser{&p89, &p92, &p97, &p127, &p133}
p177.items = []parser{&p174, &p194, &p176, &p194, &p98}
var p183 = sequenceParser{id: 183, commit: 2, ranges: [][]int{{0, -1}, {1, 1}, {0, -1}}} var p183 = sequenceParser{id: 183, commit: 2, ranges: [][]int{{0, -1}, {1, 1}, {0, -1}}}
var p181 = sequenceParser{id: 181, commit: 2, ranges: [][]int{{1, 1}, {0, -1}, {0, -1}, {1, 1}}} var p181 = sequenceParser{id: 181, commit: 2, ranges: [][]int{{1, 1}, {0, -1}, {0, -1}, {1, 1}}}
var p179 = sequenceParser{id: 179, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} var p179 = sequenceParser{id: 179, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}}
@ -1156,66 +1156,66 @@ func Parse(r io.Reader) (*Node, error) {
b14.items = []builder{&b13} b14.items = []builder{&b13}
b15.options = []builder{&b2, &b4, &b6, &b8, &b10, &b12, &b14} b15.options = []builder{&b2, &b4, &b6, &b8, &b10, &b12, &b14}
var b54 = sequenceBuilder{id: 54, commit: 264, name: "comment", ranges: [][]int{{1, 1}, {0, -1}, {1, 1}, {0, -1}}, generalizations: []int{193, 194}} var b54 = sequenceBuilder{id: 54, commit: 264, name: "comment", ranges: [][]int{{1, 1}, {0, -1}, {1, 1}, {0, -1}}, generalizations: []int{193, 194}}
var b37 = choiceBuilder{id: 37, commit: 266} var b50 = choiceBuilder{id: 50, commit: 266}
var b36 = sequenceBuilder{id: 36, commit: 266, ranges: [][]int{{1, 1}, {0, -1}, {1, 1}, {0, -1}}, generalizations: []int{37}} var b49 = sequenceBuilder{id: 49, commit: 266, ranges: [][]int{{1, 1}, {0, -1}, {1, 1}, {0, -1}}, generalizations: []int{50}}
var b33 = sequenceBuilder{id: 33, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}, {1, 1}, {1, 1}}} var b46 = sequenceBuilder{id: 46, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}, {1, 1}, {1, 1}}}
var b31 = charBuilder{} var b44 = charBuilder{}
var b45 = charBuilder{}
b46.items = []builder{&b44, &b45}
var b48 = sequenceBuilder{id: 48, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}}
var b47 = charBuilder{}
b48.items = []builder{&b47}
b49.items = []builder{&b46, &b48}
var b43 = sequenceBuilder{id: 43, commit: 266, ranges: [][]int{{1, 1}, {0, -1}, {1, 1}, {1, 1}, {0, -1}, {1, 1}}, generalizations: []int{50}}
var b31 = sequenceBuilder{id: 31, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}, {1, 1}, {1, 1}}}
var b29 = charBuilder{}
var b30 = charBuilder{}
b31.items = []builder{&b29, &b30}
var b39 = choiceBuilder{id: 39, commit: 10}
var b36 = sequenceBuilder{id: 36, commit: 10, ranges: [][]int{{1, 1}, {1, 1}, {1, 1}, {1, 1}}, generalizations: []int{39}}
var b33 = sequenceBuilder{id: 33, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}}
var b32 = charBuilder{} var b32 = charBuilder{}
b33.items = []builder{&b31, &b32} b33.items = []builder{&b32}
var b35 = sequenceBuilder{id: 35, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} var b35 = sequenceBuilder{id: 35, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}}
var b34 = charBuilder{} var b34 = charBuilder{}
b35.items = []builder{&b34} b35.items = []builder{&b34}
b36.items = []builder{&b33, &b35} b36.items = []builder{&b33, &b35}
var b30 = sequenceBuilder{id: 30, commit: 266, ranges: [][]int{{1, 1}, {0, -1}, {1, 1}, {1, 1}, {0, -1}, {1, 1}}, generalizations: []int{37}} var b38 = sequenceBuilder{id: 38, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{39}}
var b18 = sequenceBuilder{id: 18, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}, {1, 1}, {1, 1}}} var b37 = charBuilder{}
b38.items = []builder{&b37}
b39.options = []builder{&b36, &b38}
var b42 = sequenceBuilder{id: 42, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}, {1, 1}, {1, 1}}}
var b40 = charBuilder{}
var b41 = charBuilder{}
b42.items = []builder{&b40, &b41}
b43.items = []builder{&b31, &b39, &b42}
b50.options = []builder{&b49, &b43}
var b53 = sequenceBuilder{id: 53, commit: 10, ranges: [][]int{{0, -1}, {0, 1}, {0, -1}, {1, 1}, {0, -1}, {0, 1}, {0, -1}, {1, 1}}}
var b28 = choiceBuilder{id: 28, commit: 266}
var b17 = sequenceBuilder{id: 17, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{28}}
var b16 = charBuilder{} var b16 = charBuilder{}
var b17 = charBuilder{} b17.items = []builder{&b16}
b18.items = []builder{&b16, &b17} var b19 = sequenceBuilder{id: 19, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{28}}
var b26 = choiceBuilder{id: 26, commit: 10} var b18 = charBuilder{}
var b23 = sequenceBuilder{id: 23, commit: 10, ranges: [][]int{{1, 1}, {1, 1}, {1, 1}, {1, 1}}, generalizations: []int{26}} b19.items = []builder{&b18}
var b20 = sequenceBuilder{id: 20, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} var b21 = sequenceBuilder{id: 21, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{28}}
var b19 = charBuilder{} var b20 = charBuilder{}
b20.items = []builder{&b19} b21.items = []builder{&b20}
var b22 = sequenceBuilder{id: 22, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} var b23 = sequenceBuilder{id: 23, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{28}}
var b21 = charBuilder{} var b22 = charBuilder{}
b22.items = []builder{&b21} b23.items = []builder{&b22}
b23.items = []builder{&b20, &b22} var b25 = sequenceBuilder{id: 25, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{28}}
var b25 = sequenceBuilder{id: 25, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{26}}
var b24 = charBuilder{} var b24 = charBuilder{}
b25.items = []builder{&b24} b25.items = []builder{&b24}
b26.options = []builder{&b23, &b25} var b27 = sequenceBuilder{id: 27, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{28}}
var b29 = sequenceBuilder{id: 29, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}, {1, 1}, {1, 1}}} var b26 = charBuilder{}
var b27 = charBuilder{} b27.items = []builder{&b26}
var b28 = charBuilder{} b28.options = []builder{&b17, &b19, &b21, &b23, &b25, &b27}
b29.items = []builder{&b27, &b28}
b30.items = []builder{&b18, &b26, &b29}
b37.options = []builder{&b36, &b30}
var b53 = sequenceBuilder{id: 53, commit: 10, ranges: [][]int{{0, -1}, {0, 1}, {0, -1}, {1, 1}, {0, -1}, {0, 1}, {0, -1}, {1, 1}}}
var b50 = choiceBuilder{id: 50, commit: 266}
var b39 = sequenceBuilder{id: 39, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{50}}
var b38 = charBuilder{}
b39.items = []builder{&b38}
var b41 = sequenceBuilder{id: 41, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{50}}
var b40 = charBuilder{}
b41.items = []builder{&b40}
var b43 = sequenceBuilder{id: 43, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{50}}
var b42 = charBuilder{}
b43.items = []builder{&b42}
var b45 = sequenceBuilder{id: 45, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{50}}
var b44 = charBuilder{}
b45.items = []builder{&b44}
var b47 = sequenceBuilder{id: 47, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{50}}
var b46 = charBuilder{}
b47.items = []builder{&b46}
var b49 = sequenceBuilder{id: 49, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{50}}
var b48 = charBuilder{}
b49.items = []builder{&b48}
b50.options = []builder{&b39, &b41, &b43, &b45, &b47, &b49}
var b52 = sequenceBuilder{id: 52, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} var b52 = sequenceBuilder{id: 52, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}}
var b51 = charBuilder{} var b51 = charBuilder{}
b52.items = []builder{&b51} b52.items = []builder{&b51}
b53.items = []builder{&b50, &b52, &b50, &b37} b53.items = []builder{&b28, &b52, &b28, &b50}
b54.items = []builder{&b37, &b53} b54.items = []builder{&b50, &b53}
b193.options = []builder{&b15, &b54} b193.options = []builder{&b15, &b54}
b194.options = []builder{&b193} b194.options = []builder{&b193}
var b195 = sequenceBuilder{id: 195, commit: 258, ranges: [][]int{{0, 1}, {0, -1}, {0, 1}, {0, 1}}} var b195 = sequenceBuilder{id: 195, commit: 258, ranges: [][]int{{0, 1}, {0, -1}, {0, 1}, {0, 1}}}
@ -1229,7 +1229,7 @@ func Parse(r io.Reader) (*Node, error) {
var b184 = sequenceBuilder{id: 184, commit: 258, ranges: [][]int{{1, 1}, {0, 1}}} var b184 = sequenceBuilder{id: 184, commit: 258, ranges: [][]int{{1, 1}, {0, 1}}}
var b177 = sequenceBuilder{id: 177, commit: 256, name: "definition", ranges: [][]int{{1, 1}, {0, -1}, {1, 1}, {0, -1}, {1, 1}}} var b177 = sequenceBuilder{id: 177, commit: 256, name: "definition", ranges: [][]int{{1, 1}, {0, -1}, {1, 1}, {0, -1}, {1, 1}}}
var b174 = sequenceBuilder{id: 174, commit: 266, ranges: [][]int{{1, 1}, {0, -1}, {1, 1}, {0, -1}}} var b174 = sequenceBuilder{id: 174, commit: 266, ranges: [][]int{{1, 1}, {0, -1}, {1, 1}, {0, -1}}}
var b92 = sequenceBuilder{id: 92, commit: 264, name: "symbol", ranges: [][]int{{1, -1}, {1, -1}}, generalizations: []int{133, 123, 127}} var b92 = sequenceBuilder{id: 92, commit: 264, name: "symbol", ranges: [][]int{{1, -1}, {1, -1}}, generalizations: []int{98, 124, 128}}
var b91 = sequenceBuilder{id: 91, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} var b91 = sequenceBuilder{id: 91, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}}
var b90 = charBuilder{} var b90 = charBuilder{}
b91.items = []builder{&b90} b91.items = []builder{&b90}
@ -1288,12 +1288,12 @@ func Parse(r io.Reader) (*Node, error) {
var b176 = sequenceBuilder{id: 176, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} var b176 = sequenceBuilder{id: 176, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}}
var b175 = charBuilder{} var b175 = charBuilder{}
b176.items = []builder{&b175} b176.items = []builder{&b175}
var b133 = choiceBuilder{id: 133, commit: 258} var b98 = choiceBuilder{id: 98, commit: 258}
var b89 = choiceBuilder{id: 89, commit: 258, generalizations: []int{133, 123, 127}} var b89 = choiceBuilder{id: 89, commit: 258, generalizations: []int{98, 124, 128}}
var b56 = sequenceBuilder{id: 56, commit: 264, name: "any-char", allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{89, 133, 123, 127}} var b56 = sequenceBuilder{id: 56, commit: 264, name: "any-char", allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{89, 98, 124, 128}}
var b55 = charBuilder{} var b55 = charBuilder{}
b56.items = []builder{&b55} b56.items = []builder{&b55}
var b75 = sequenceBuilder{id: 75, commit: 264, name: "char-class", ranges: [][]int{{1, 1}, {0, 1}, {0, -1}, {1, 1}, {1, 1}, {0, 1}, {0, -1}, {1, 1}}, generalizations: []int{89, 133, 123, 127}} var b75 = sequenceBuilder{id: 75, commit: 264, name: "char-class", ranges: [][]int{{1, 1}, {0, 1}, {0, -1}, {1, 1}, {1, 1}, {0, 1}, {0, -1}, {1, 1}}, generalizations: []int{89, 98, 124, 128}}
var b71 = sequenceBuilder{id: 71, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} var b71 = sequenceBuilder{id: 71, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}}
var b70 = charBuilder{} var b70 = charBuilder{}
b71.items = []builder{&b70} b71.items = []builder{&b70}
@ -1324,7 +1324,7 @@ func Parse(r io.Reader) (*Node, error) {
var b73 = charBuilder{} var b73 = charBuilder{}
b74.items = []builder{&b73} b74.items = []builder{&b73}
b75.items = []builder{&b71, &b58, &b72, &b74} b75.items = []builder{&b71, &b58, &b72, &b74}
var b88 = sequenceBuilder{id: 88, commit: 264, name: "char-sequence", ranges: [][]int{{1, 1}, {0, -1}, {1, 1}, {1, 1}, {0, -1}, {1, 1}}, generalizations: []int{89, 133, 123, 127}} var b88 = sequenceBuilder{id: 88, commit: 264, name: "char-sequence", ranges: [][]int{{1, 1}, {0, -1}, {1, 1}, {1, 1}, {0, -1}, {1, 1}}, generalizations: []int{89, 98, 124, 128}}
var b85 = sequenceBuilder{id: 85, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} var b85 = sequenceBuilder{id: 85, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}}
var b84 = charBuilder{} var b84 = charBuilder{}
b85.items = []builder{&b84} b85.items = []builder{&b84}
@ -1346,76 +1346,76 @@ func Parse(r io.Reader) (*Node, error) {
b87.items = []builder{&b86} b87.items = []builder{&b86}
b88.items = []builder{&b85, &b83, &b87} b88.items = []builder{&b85, &b83, &b87}
b89.options = []builder{&b56, &b75, &b88} b89.options = []builder{&b56, &b75, &b88}
var b97 = sequenceBuilder{id: 97, commit: 258, ranges: [][]int{{1, 1}, {0, -1}, {1, 1}, {0, -1}, {1, 1}}, generalizations: []int{133, 123, 127}} var b97 = sequenceBuilder{id: 97, commit: 258, ranges: [][]int{{1, 1}, {0, -1}, {1, 1}, {0, -1}, {1, 1}}, generalizations: []int{98, 124, 128}}
var b94 = sequenceBuilder{id: 94, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} var b94 = sequenceBuilder{id: 94, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}}
var b93 = charBuilder{} var b93 = charBuilder{}
b94.items = []builder{&b93} b94.items = []builder{&b93}
var b96 = sequenceBuilder{id: 96, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} var b96 = sequenceBuilder{id: 96, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}}
var b95 = charBuilder{} var b95 = charBuilder{}
b96.items = []builder{&b95} b96.items = []builder{&b95}
b97.items = []builder{&b94, &b194, &b133, &b194, &b96} b97.items = []builder{&b94, &b194, &b98, &b194, &b96}
var b126 = sequenceBuilder{id: 126, commit: 256, name: "sequence", ranges: [][]int{{1, 1}, {0, -1}}, generalizations: []int{133, 127}} var b127 = sequenceBuilder{id: 127, commit: 256, name: "sequence", ranges: [][]int{{1, 1}, {0, -1}}, generalizations: []int{98, 128}}
var b124 = sequenceBuilder{id: 124, commit: 264, name: "item", ranges: [][]int{{1, 1}, {0, 1}, {1, 1}, {0, 1}}} var b125 = sequenceBuilder{id: 125, commit: 264, name: "item", ranges: [][]int{{1, 1}, {0, 1}, {1, 1}, {0, 1}}}
var b123 = choiceBuilder{id: 123, commit: 10} var b124 = choiceBuilder{id: 124, commit: 10}
b123.options = []builder{&b89, &b92, &b97} b124.options = []builder{&b89, &b92, &b97}
var b122 = choiceBuilder{id: 122, commit: 258} var b123 = choiceBuilder{id: 123, commit: 258}
var b106 = sequenceBuilder{id: 106, commit: 256, name: "count-quantifier", ranges: [][]int{{1, 1}, {0, -1}, {1, 1}, {0, -1}, {1, 1}}, generalizations: []int{122}} var b107 = sequenceBuilder{id: 107, commit: 256, name: "count-quantifier", ranges: [][]int{{1, 1}, {0, -1}, {1, 1}, {0, -1}, {1, 1}}, generalizations: []int{123}}
var b103 = sequenceBuilder{id: 103, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} var b104 = sequenceBuilder{id: 104, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}}
var b102 = charBuilder{} var b103 = charBuilder{}
b103.items = []builder{&b102} b104.items = []builder{&b103}
var b101 = sequenceBuilder{id: 101, commit: 256, name: "count", ranges: [][]int{{1, 1}}} var b102 = sequenceBuilder{id: 102, commit: 256, name: "count", ranges: [][]int{{1, 1}}}
var b100 = sequenceBuilder{id: 100, commit: 266, ranges: [][]int{{1, -1}, {1, -1}}} var b101 = sequenceBuilder{id: 101, commit: 266, ranges: [][]int{{1, -1}, {1, -1}}}
var b99 = sequenceBuilder{id: 99, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} var b100 = sequenceBuilder{id: 100, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}}
var b98 = charBuilder{} var b99 = charBuilder{}
b99.items = []builder{&b98}
b100.items = []builder{&b99} b100.items = []builder{&b99}
b101.items = []builder{&b100} b101.items = []builder{&b100}
var b105 = sequenceBuilder{id: 105, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} b102.items = []builder{&b101}
var b104 = charBuilder{} var b106 = sequenceBuilder{id: 106, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}}
b105.items = []builder{&b104} var b105 = charBuilder{}
b106.items = []builder{&b103, &b194, &b101, &b194, &b105} b106.items = []builder{&b105}
var b115 = sequenceBuilder{id: 115, commit: 256, name: "range-quantifier", ranges: [][]int{{1, 1}, {0, -1}, {0, 1}, {0, -1}, {1, 1}, {0, -1}, {0, 1}, {0, -1}, {1, 1}}, generalizations: []int{122}} b107.items = []builder{&b104, &b194, &b102, &b194, &b106}
var b110 = sequenceBuilder{id: 110, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} var b116 = sequenceBuilder{id: 116, commit: 256, 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{123}}
var b109 = charBuilder{} var b111 = sequenceBuilder{id: 111, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}}
b110.items = []builder{&b109} var b110 = charBuilder{}
var b107 = sequenceBuilder{id: 107, commit: 256, name: "range-from", ranges: [][]int{{1, 1}}} b111.items = []builder{&b110}
b107.items = []builder{&b100} var b108 = sequenceBuilder{id: 108, commit: 256, name: "range-from", ranges: [][]int{{1, 1}}}
var b112 = sequenceBuilder{id: 112, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} b108.items = []builder{&b101}
var b111 = charBuilder{} var b113 = sequenceBuilder{id: 113, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}}
b112.items = []builder{&b111} var b112 = charBuilder{}
var b108 = sequenceBuilder{id: 108, commit: 256, name: "range-to", ranges: [][]int{{1, 1}}} b113.items = []builder{&b112}
b108.items = []builder{&b100} var b109 = sequenceBuilder{id: 109, commit: 256, name: "range-to", ranges: [][]int{{1, 1}}}
var b114 = sequenceBuilder{id: 114, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} b109.items = []builder{&b101}
var b113 = charBuilder{} var b115 = sequenceBuilder{id: 115, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}}
b114.items = []builder{&b113} var b114 = charBuilder{}
b115.items = []builder{&b110, &b194, &b107, &b194, &b112, &b194, &b108, &b194, &b114} b115.items = []builder{&b114}
var b117 = sequenceBuilder{id: 117, commit: 264, name: "one-or-more", allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{122}} b116.items = []builder{&b111, &b194, &b108, &b194, &b113, &b194, &b109, &b194, &b115}
var b116 = charBuilder{} var b118 = sequenceBuilder{id: 118, commit: 264, name: "one-or-more", allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{123}}
b117.items = []builder{&b116} var b117 = charBuilder{}
var b119 = sequenceBuilder{id: 119, commit: 264, name: "zero-or-more", allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{122}} b118.items = []builder{&b117}
var b118 = charBuilder{} var b120 = sequenceBuilder{id: 120, commit: 264, name: "zero-or-more", allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{123}}
b119.items = []builder{&b118} var b119 = charBuilder{}
var b121 = sequenceBuilder{id: 121, commit: 264, name: "zero-or-one", allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{122}} b120.items = []builder{&b119}
var b120 = charBuilder{} var b122 = sequenceBuilder{id: 122, commit: 264, name: "zero-or-one", allChars: true, ranges: [][]int{{1, 1}, {1, 1}}, generalizations: []int{123}}
b121.items = []builder{&b120} var b121 = charBuilder{}
b122.options = []builder{&b106, &b115, &b117, &b119, &b121} b122.items = []builder{&b121}
b124.items = []builder{&b123, &b122} b123.options = []builder{&b107, &b116, &b118, &b120, &b122}
var b125 = sequenceBuilder{id: 125, commit: 2, ranges: [][]int{{0, -1}, {1, 1}}} b125.items = []builder{&b124, &b123}
b125.items = []builder{&b194, &b124} var b126 = sequenceBuilder{id: 126, commit: 2, ranges: [][]int{{0, -1}, {1, 1}}}
b126.items = []builder{&b124, &b125} b126.items = []builder{&b194, &b125}
var b132 = sequenceBuilder{id: 132, commit: 256, name: "choice", ranges: [][]int{{1, 1}, {0, -1}, {1, 1}, {0, -1}}, generalizations: []int{133}} b127.items = []builder{&b125, &b126}
var b127 = choiceBuilder{id: 127, commit: 258} var b133 = sequenceBuilder{id: 133, commit: 256, name: "choice", ranges: [][]int{{1, 1}, {0, -1}, {1, 1}, {0, -1}}, generalizations: []int{98}}
b127.options = []builder{&b89, &b92, &b97, &b126} var b128 = choiceBuilder{id: 128, commit: 258}
var b130 = sequenceBuilder{id: 130, commit: 2, ranges: [][]int{{1, 1}, {0, -1}, {1, 1}}} b128.options = []builder{&b89, &b92, &b97, &b127}
var b129 = sequenceBuilder{id: 129, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} var b131 = sequenceBuilder{id: 131, commit: 2, ranges: [][]int{{1, 1}, {0, -1}, {1, 1}}}
var b128 = charBuilder{} var b130 = sequenceBuilder{id: 130, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}}
b129.items = []builder{&b128} var b129 = charBuilder{}
b130.items = []builder{&b129, &b194, &b127} b130.items = []builder{&b129}
var b131 = sequenceBuilder{id: 131, commit: 2, ranges: [][]int{{0, -1}, {1, 1}}} b131.items = []builder{&b130, &b194, &b128}
b131.items = []builder{&b194, &b130} var b132 = sequenceBuilder{id: 132, commit: 2, ranges: [][]int{{0, -1}, {1, 1}}}
b132.items = []builder{&b127, &b194, &b130, &b131} b132.items = []builder{&b194, &b131}
b133.options = []builder{&b89, &b92, &b97, &b126, &b132} b133.items = []builder{&b128, &b194, &b131, &b132}
b177.items = []builder{&b174, &b194, &b176, &b194, &b133} b98.options = []builder{&b89, &b92, &b97, &b127, &b133}
b177.items = []builder{&b174, &b194, &b176, &b194, &b98}
var b183 = sequenceBuilder{id: 183, commit: 2, ranges: [][]int{{0, -1}, {1, 1}, {0, -1}}} var b183 = sequenceBuilder{id: 183, commit: 2, ranges: [][]int{{0, -1}, {1, 1}, {0, -1}}}
var b181 = sequenceBuilder{id: 181, commit: 2, ranges: [][]int{{1, 1}, {0, -1}, {0, -1}, {1, 1}}} var b181 = sequenceBuilder{id: 181, commit: 2, ranges: [][]int{{1, 1}, {0, -1}, {0, -1}, {1, 1}}}
var b179 = sequenceBuilder{id: 179, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}} var b179 = sequenceBuilder{id: 179, commit: 10, allChars: true, ranges: [][]int{{1, 1}, {1, 1}}}

View File

@ -1,55 +1,36 @@
/* // whitespace handling:
foo wschar:alias = " " | "\t" | "\n" | "\b" | "\f" | "\r" | "\v";
*/
// bar
// bar
// baz
/* foo
bar baz */ // foo bar baz
wschar:alias = // foo
/* bar */
" " | "\t" | "\n" | "\b" | "\f" | "\r" | "\v";
wsc:ws = wschar | comment; wsc:ws = wschar | comment;
block-comment:alias:nows = /* foo */ // bar ws-no-nl:alias:nows = " " | "\t" | "\b" | "\f" | "\r" | "\v";
"/*" ("*" [^/] | [^*])* "*/";
line-comment:alias:nows = /*
foo
*/
"//" [^\n]*;
comment-segment:alias:nows = // bar
line-comment | block-comment;
ws-no-nl:alias:nows = " "
| "\t"
| "\b"
/* this one */ /* is a */
| "\f"
/* form feed */ /* for sure */
| "\r"
| "\v";
comment:nows = comment-segment
/* segment is not the best name */ /* but */
( ws-no-nl*
"\n"?
ws-no-nl*
/* fine */
comment-segment
)*;
any-char = "."; // equivalent to [^]
// caution: newline is accepted // comments:
/* class not */ block-comment:alias:nows = "/*" ("*" [^/] | [^*])* "*/";
line-comment:alias:nows = "//" [^\n]*;
comment-segment:alias:nows = line-comment | block-comment;
comment:nows = comment-segment (ws-no-nl* "\n"? ws-no-nl* comment-segment)*;
// characters:
any-char = "."; // equivalent to [^]
class-not = "^"; class-not = "^";
class-char:nows = [^\\\[\]\^\-] | "\\" .; /* foo class-char:nows = [^\\\[\]\^\-] | "\\" .; // caution: newline is accepted
bar */
char-range:nows = class-char "-" class-char; // foo char-range:nows = class-char "-" class-char; // foo
char-class:nows = "[" class-not? (class-char | char-range)* "]"; char-class:nows = "[" class-not? (class-char | char-range)* "]";
// newline is accepted // strings (char sequence):
sequence-char:nows = [^\\"] | "\\" .; sequence-char:nows = [^\\"] | "\\" .; // caution: newline is accepted
char-sequence:nows = "\"" sequence-char* "\""; char-sequence:nows = "\"" sequence-char* "\"";
// terminal parsers cannot be composed of other parsers:
terminal:alias = any-char | char-class | char-sequence; terminal:alias = any-char | char-class | char-sequence;
// symbols can reference other parser definitions, or recursively the containing parser:
symbol:nows = [^\\ \n\t\b\f\r\v/.\[\]\"{}\^+*?|():=;]+; symbol:nows = [^\\ \n\t\b\f\r\v/.\[\]\"{}\^+*?|():=;]+;
// grouping allows, for example, use choices as sequence items:
group:alias = "(" expression ")"; group:alias = "(" expression ")";
expression:alias = terminal | symbol | group | sequence | choice;
// sequences with ranges:
number:alias:nows = [0-9]+; number:alias:nows = [0-9]+;
count = number; count = number;
count-quantifier = "{" count "}"; count-quantifier = "{" count "}";
@ -62,14 +43,12 @@ zero-or-one = "?";
quantity:alias = count-quantifier | range-quantifier | one-or-more | zero-or-more | zero-or-one; quantity:alias = count-quantifier | range-quantifier | one-or-more | zero-or-more | zero-or-one;
item:nows = (terminal | symbol | group) quantity?; item:nows = (terminal | symbol | group) quantity?;
sequence = item+; sequence = item+;
option:alias = terminal | symbol | group | sequence;
// DOC: how the order matters // choices:
option:alias = terminal | symbol | group | sequence;
choice = option ("|" option)+; choice = option ("|" option)+;
// DOC: not having 'not' needs some tricks sometimes // flags control how the subtrees of the individual parser definitions are handled:
expression:alias = terminal | symbol | group | sequence | choice;
alias = "alias"; alias = "alias";
ws = "ws"; ws = "ws";
nows = "nows"; nows = "nows";
@ -78,6 +57,8 @@ nokw = "nokw";
failpass = "failpass"; failpass = "failpass";
root = "root"; root = "root";
flag:alias = alias | ws | nows | kw | nokw | failpass | root; flag:alias = alias | ws | nows | kw | nokw | failpass | root;
// a syntax document consists of definitions:
definition-name:alias:nows = symbol (":" flag)*; definition-name:alias:nows = symbol (":" flag)*;
definition = definition-name "=" expression; definition = definition-name "=" expression;
definitions:alias = definition (";"+ definition)*; definitions:alias = definition (";"+ definition)*;