diff --git a/pkg/parser/document_processing_apply_substitutions.go b/pkg/parser/document_processing_apply_substitutions.go index c7700a08..ef86b9f4 100644 --- a/pkg/parser/document_processing_apply_substitutions.go +++ b/pkg/parser/document_processing_apply_substitutions.go @@ -415,7 +415,7 @@ func enableExperimentalMacros(enabled bool) Option { // checks if the `experimental` doc attribute was set (no value is expected, but we set a flag to handle the case where the attribute was reset) func (c *current) isExperimentalEnabled() bool { enabled, found := c.globalStore[experimentalMacrosKey].(bool) - log.Debugf("experimental enabled: %t", (found && enabled)) + // log.Debugf("experimental enabled: %t", (found && enabled)) return found && enabled } diff --git a/pkg/parser/parser.go b/pkg/parser/parser.go index 9ff70acd..cb9c5ec4 100644 --- a/pkg/parser/parser.go +++ b/pkg/parser/parser.go @@ -97,10 +97,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 364, col: 49, offset: 11201}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonDocumentRawLine17, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -109,28 +109,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonDocumentRawLine20, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -139,9 +139,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -204,10 +204,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 366, col: 39, offset: 11322}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonDocumentRawLine38, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -216,28 +216,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonDocumentRawLine41, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -246,9 +246,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -326,10 +326,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 71, col: 97, offset: 1860}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonDocumentRawLine64, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -338,9 +338,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -412,10 +412,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 75, col: 99, offset: 2038}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonDocumentRawLine83, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -424,9 +424,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -466,22 +466,22 @@ var g = &grammar{ pos: position{line: 93, col: 11, offset: 2511}, label: "s", expr: &choiceExpr{ - pos: position{line: 650, col: 5, offset: 20820}, + pos: position{line: 657, col: 5, offset: 21090}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 650, col: 5, offset: 20820}, + pos: position{line: 657, col: 5, offset: 21090}, run: (*parser).callonDocumentRawLine97, expr: &seqExpr{ - pos: position{line: 650, col: 5, offset: 20820}, + pos: position{line: 657, col: 5, offset: 21090}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 650, col: 5, offset: 20820}, + pos: position{line: 657, col: 5, offset: 21090}, val: "\\{", ignoreCase: false, want: "\"\\\\{\"", }, &labeledExpr{ - pos: position{line: 650, col: 13, offset: 20828}, + pos: position{line: 657, col: 13, offset: 21098}, label: "name", expr: &actionExpr{ pos: position{line: 324, col: 18, offset: 10072}, @@ -515,7 +515,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 650, col: 32, offset: 20847}, + pos: position{line: 657, col: 32, offset: 21117}, val: "}", ignoreCase: false, want: "\"}\"", @@ -524,19 +524,19 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 657, col: 5, offset: 21088}, + pos: position{line: 664, col: 5, offset: 21358}, run: (*parser).callonDocumentRawLine107, expr: &seqExpr{ - pos: position{line: 657, col: 5, offset: 21088}, + pos: position{line: 664, col: 5, offset: 21358}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 657, col: 5, offset: 21088}, + pos: position{line: 664, col: 5, offset: 21358}, val: "{", ignoreCase: false, want: "\"{\"", }, &labeledExpr{ - pos: position{line: 657, col: 9, offset: 21092}, + pos: position{line: 664, col: 9, offset: 21362}, label: "name", expr: &actionExpr{ pos: position{line: 324, col: 18, offset: 10072}, @@ -570,7 +570,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 657, col: 28, offset: 21111}, + pos: position{line: 664, col: 28, offset: 21381}, val: "}", ignoreCase: false, want: "\"}\"", @@ -606,22 +606,22 @@ var g = &grammar{ pos: position{line: 94, col: 12, offset: 2574}, label: "s", expr: &choiceExpr{ - pos: position{line: 650, col: 5, offset: 20820}, + pos: position{line: 657, col: 5, offset: 21090}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 650, col: 5, offset: 20820}, + pos: position{line: 657, col: 5, offset: 21090}, run: (*parser).callonDocumentRawLine123, expr: &seqExpr{ - pos: position{line: 650, col: 5, offset: 20820}, + pos: position{line: 657, col: 5, offset: 21090}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 650, col: 5, offset: 20820}, + pos: position{line: 657, col: 5, offset: 21090}, val: "\\{", ignoreCase: false, want: "\"\\\\{\"", }, &labeledExpr{ - pos: position{line: 650, col: 13, offset: 20828}, + pos: position{line: 657, col: 13, offset: 21098}, label: "name", expr: &actionExpr{ pos: position{line: 324, col: 18, offset: 10072}, @@ -655,7 +655,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 650, col: 32, offset: 20847}, + pos: position{line: 657, col: 32, offset: 21117}, val: "}", ignoreCase: false, want: "\"}\"", @@ -664,19 +664,19 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 657, col: 5, offset: 21088}, + pos: position{line: 664, col: 5, offset: 21358}, run: (*parser).callonDocumentRawLine133, expr: &seqExpr{ - pos: position{line: 657, col: 5, offset: 21088}, + pos: position{line: 664, col: 5, offset: 21358}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 657, col: 5, offset: 21088}, + pos: position{line: 664, col: 5, offset: 21358}, val: "{", ignoreCase: false, want: "\"{\"", }, &labeledExpr{ - pos: position{line: 657, col: 9, offset: 21092}, + pos: position{line: 664, col: 9, offset: 21362}, label: "name", expr: &actionExpr{ pos: position{line: 324, col: 18, offset: 10072}, @@ -710,7 +710,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 657, col: 28, offset: 21111}, + pos: position{line: 664, col: 28, offset: 21381}, val: "}", ignoreCase: false, want: "\"}\"", @@ -737,22 +737,22 @@ var g = &grammar{ pos: position{line: 95, col: 8, offset: 2632}, label: "s", expr: &choiceExpr{ - pos: position{line: 650, col: 5, offset: 20820}, + pos: position{line: 657, col: 5, offset: 21090}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 650, col: 5, offset: 20820}, + pos: position{line: 657, col: 5, offset: 21090}, run: (*parser).callonDocumentRawLine147, expr: &seqExpr{ - pos: position{line: 650, col: 5, offset: 20820}, + pos: position{line: 657, col: 5, offset: 21090}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 650, col: 5, offset: 20820}, + pos: position{line: 657, col: 5, offset: 21090}, val: "\\{", ignoreCase: false, want: "\"\\\\{\"", }, &labeledExpr{ - pos: position{line: 650, col: 13, offset: 20828}, + pos: position{line: 657, col: 13, offset: 21098}, label: "name", expr: &actionExpr{ pos: position{line: 324, col: 18, offset: 10072}, @@ -786,7 +786,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 650, col: 32, offset: 20847}, + pos: position{line: 657, col: 32, offset: 21117}, val: "}", ignoreCase: false, want: "\"}\"", @@ -795,19 +795,19 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 657, col: 5, offset: 21088}, + pos: position{line: 664, col: 5, offset: 21358}, run: (*parser).callonDocumentRawLine157, expr: &seqExpr{ - pos: position{line: 657, col: 5, offset: 21088}, + pos: position{line: 664, col: 5, offset: 21358}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 657, col: 5, offset: 21088}, + pos: position{line: 664, col: 5, offset: 21358}, val: "{", ignoreCase: false, want: "\"{\"", }, &labeledExpr{ - pos: position{line: 657, col: 9, offset: 21092}, + pos: position{line: 664, col: 9, offset: 21362}, label: "name", expr: &actionExpr{ pos: position{line: 324, col: 18, offset: 10072}, @@ -841,7 +841,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 657, col: 28, offset: 21111}, + pos: position{line: 664, col: 28, offset: 21381}, val: "}", ignoreCase: false, want: "\"}\"", @@ -936,24 +936,24 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 3168, col: 12, offset: 103224}, + pos: position{line: 3064, col: 12, offset: 99861}, run: (*parser).callonDocumentRawLine183, expr: &seqExpr{ - pos: position{line: 3168, col: 13, offset: 103225}, + pos: position{line: 3064, col: 13, offset: 99862}, exprs: []interface{}{ &zeroOrOneExpr{ - pos: position{line: 3168, col: 13, offset: 103225}, + pos: position{line: 3064, col: 13, offset: 99862}, expr: &litMatcher{ - pos: position{line: 3168, col: 13, offset: 103225}, + pos: position{line: 3064, col: 13, offset: 99862}, val: "-", ignoreCase: false, want: "\"-\"", }, }, &oneOrMoreExpr{ - pos: position{line: 3168, col: 18, offset: 103230}, + pos: position{line: 3064, col: 18, offset: 99867}, expr: &charClassMatcher{ - pos: position{line: 3168, col: 18, offset: 103230}, + pos: position{line: 3064, col: 18, offset: 99867}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -969,10 +969,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 85, col: 35, offset: 2272}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonDocumentRawLine190, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -1052,10 +1052,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 86, col: 39, offset: 2318}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonDocumentRawLine207, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -1085,22 +1085,22 @@ var g = &grammar{ pos: position{line: 93, col: 11, offset: 2511}, label: "s", expr: &choiceExpr{ - pos: position{line: 650, col: 5, offset: 20820}, + pos: position{line: 657, col: 5, offset: 21090}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 650, col: 5, offset: 20820}, + pos: position{line: 657, col: 5, offset: 21090}, run: (*parser).callonDocumentRawLine216, expr: &seqExpr{ - pos: position{line: 650, col: 5, offset: 20820}, + pos: position{line: 657, col: 5, offset: 21090}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 650, col: 5, offset: 20820}, + pos: position{line: 657, col: 5, offset: 21090}, val: "\\{", ignoreCase: false, want: "\"\\\\{\"", }, &labeledExpr{ - pos: position{line: 650, col: 13, offset: 20828}, + pos: position{line: 657, col: 13, offset: 21098}, label: "name", expr: &actionExpr{ pos: position{line: 324, col: 18, offset: 10072}, @@ -1134,7 +1134,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 650, col: 32, offset: 20847}, + pos: position{line: 657, col: 32, offset: 21117}, val: "}", ignoreCase: false, want: "\"}\"", @@ -1143,19 +1143,19 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 657, col: 5, offset: 21088}, + pos: position{line: 664, col: 5, offset: 21358}, run: (*parser).callonDocumentRawLine226, expr: &seqExpr{ - pos: position{line: 657, col: 5, offset: 21088}, + pos: position{line: 664, col: 5, offset: 21358}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 657, col: 5, offset: 21088}, + pos: position{line: 664, col: 5, offset: 21358}, val: "{", ignoreCase: false, want: "\"{\"", }, &labeledExpr{ - pos: position{line: 657, col: 9, offset: 21092}, + pos: position{line: 664, col: 9, offset: 21362}, label: "name", expr: &actionExpr{ pos: position{line: 324, col: 18, offset: 10072}, @@ -1189,7 +1189,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 657, col: 28, offset: 21111}, + pos: position{line: 664, col: 28, offset: 21381}, val: "}", ignoreCase: false, want: "\"}\"", @@ -1225,22 +1225,22 @@ var g = &grammar{ pos: position{line: 94, col: 12, offset: 2574}, label: "s", expr: &choiceExpr{ - pos: position{line: 650, col: 5, offset: 20820}, + pos: position{line: 657, col: 5, offset: 21090}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 650, col: 5, offset: 20820}, + pos: position{line: 657, col: 5, offset: 21090}, run: (*parser).callonDocumentRawLine242, expr: &seqExpr{ - pos: position{line: 650, col: 5, offset: 20820}, + pos: position{line: 657, col: 5, offset: 21090}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 650, col: 5, offset: 20820}, + pos: position{line: 657, col: 5, offset: 21090}, val: "\\{", ignoreCase: false, want: "\"\\\\{\"", }, &labeledExpr{ - pos: position{line: 650, col: 13, offset: 20828}, + pos: position{line: 657, col: 13, offset: 21098}, label: "name", expr: &actionExpr{ pos: position{line: 324, col: 18, offset: 10072}, @@ -1274,7 +1274,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 650, col: 32, offset: 20847}, + pos: position{line: 657, col: 32, offset: 21117}, val: "}", ignoreCase: false, want: "\"}\"", @@ -1283,19 +1283,19 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 657, col: 5, offset: 21088}, + pos: position{line: 664, col: 5, offset: 21358}, run: (*parser).callonDocumentRawLine252, expr: &seqExpr{ - pos: position{line: 657, col: 5, offset: 21088}, + pos: position{line: 664, col: 5, offset: 21358}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 657, col: 5, offset: 21088}, + pos: position{line: 664, col: 5, offset: 21358}, val: "{", ignoreCase: false, want: "\"{\"", }, &labeledExpr{ - pos: position{line: 657, col: 9, offset: 21092}, + pos: position{line: 664, col: 9, offset: 21362}, label: "name", expr: &actionExpr{ pos: position{line: 324, col: 18, offset: 10072}, @@ -1329,7 +1329,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 657, col: 28, offset: 21111}, + pos: position{line: 664, col: 28, offset: 21381}, val: "}", ignoreCase: false, want: "\"}\"", @@ -1356,22 +1356,22 @@ var g = &grammar{ pos: position{line: 95, col: 8, offset: 2632}, label: "s", expr: &choiceExpr{ - pos: position{line: 650, col: 5, offset: 20820}, + pos: position{line: 657, col: 5, offset: 21090}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 650, col: 5, offset: 20820}, + pos: position{line: 657, col: 5, offset: 21090}, run: (*parser).callonDocumentRawLine266, expr: &seqExpr{ - pos: position{line: 650, col: 5, offset: 20820}, + pos: position{line: 657, col: 5, offset: 21090}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 650, col: 5, offset: 20820}, + pos: position{line: 657, col: 5, offset: 21090}, val: "\\{", ignoreCase: false, want: "\"\\\\{\"", }, &labeledExpr{ - pos: position{line: 650, col: 13, offset: 20828}, + pos: position{line: 657, col: 13, offset: 21098}, label: "name", expr: &actionExpr{ pos: position{line: 324, col: 18, offset: 10072}, @@ -1405,7 +1405,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 650, col: 32, offset: 20847}, + pos: position{line: 657, col: 32, offset: 21117}, val: "}", ignoreCase: false, want: "\"}\"", @@ -1414,19 +1414,19 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 657, col: 5, offset: 21088}, + pos: position{line: 664, col: 5, offset: 21358}, run: (*parser).callonDocumentRawLine276, expr: &seqExpr{ - pos: position{line: 657, col: 5, offset: 21088}, + pos: position{line: 664, col: 5, offset: 21358}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 657, col: 5, offset: 21088}, + pos: position{line: 664, col: 5, offset: 21358}, val: "{", ignoreCase: false, want: "\"{\"", }, &labeledExpr{ - pos: position{line: 657, col: 9, offset: 21092}, + pos: position{line: 664, col: 9, offset: 21362}, label: "name", expr: &actionExpr{ pos: position{line: 324, col: 18, offset: 10072}, @@ -1460,7 +1460,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 657, col: 28, offset: 21111}, + pos: position{line: 664, col: 28, offset: 21381}, val: "}", ignoreCase: false, want: "\"}\"", @@ -1555,24 +1555,24 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 3168, col: 12, offset: 103224}, + pos: position{line: 3064, col: 12, offset: 99861}, run: (*parser).callonDocumentRawLine302, expr: &seqExpr{ - pos: position{line: 3168, col: 13, offset: 103225}, + pos: position{line: 3064, col: 13, offset: 99862}, exprs: []interface{}{ &zeroOrOneExpr{ - pos: position{line: 3168, col: 13, offset: 103225}, + pos: position{line: 3064, col: 13, offset: 99862}, expr: &litMatcher{ - pos: position{line: 3168, col: 13, offset: 103225}, + pos: position{line: 3064, col: 13, offset: 99862}, val: "-", ignoreCase: false, want: "\"-\"", }, }, &oneOrMoreExpr{ - pos: position{line: 3168, col: 18, offset: 103230}, + pos: position{line: 3064, col: 18, offset: 99867}, expr: &charClassMatcher{ - pos: position{line: 3168, col: 18, offset: 103230}, + pos: position{line: 3064, col: 18, offset: 99867}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -1594,10 +1594,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 88, col: 5, offset: 2370}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonDocumentRawLine310, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -1606,9 +1606,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -1683,10 +1683,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 124, col: 98, offset: 3427}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonDocumentRawLine330, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -1695,24 +1695,24 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, }, }, &actionExpr{ - pos: position{line: 729, col: 5, offset: 23577}, + pos: position{line: 736, col: 5, offset: 23847}, run: (*parser).callonDocumentRawLine334, expr: &seqExpr{ - pos: position{line: 729, col: 5, offset: 23577}, + pos: position{line: 736, col: 5, offset: 23847}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 729, col: 5, offset: 23577}, + pos: position{line: 736, col: 5, offset: 23847}, expr: &charClassMatcher{ - pos: position{line: 3090, col: 13, offset: 100713}, + pos: position{line: 2986, col: 13, offset: 97350}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -1721,36 +1721,36 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 730, col: 5, offset: 23607}, + pos: position{line: 737, col: 5, offset: 23877}, label: "delimiter", expr: &choiceExpr{ - pos: position{line: 731, col: 9, offset: 23627}, + pos: position{line: 738, col: 9, offset: 23897}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 745, col: 5, offset: 24119}, + pos: position{line: 752, col: 5, offset: 24389}, run: (*parser).callonDocumentRawLine340, expr: &seqExpr{ - pos: position{line: 745, col: 5, offset: 24119}, + pos: position{line: 752, col: 5, offset: 24389}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 745, col: 5, offset: 24119}, + pos: position{line: 752, col: 5, offset: 24389}, label: "delimiter", expr: &actionExpr{ - pos: position{line: 745, col: 16, offset: 24130}, + pos: position{line: 752, col: 16, offset: 24400}, run: (*parser).callonDocumentRawLine343, expr: &seqExpr{ - pos: position{line: 745, col: 16, offset: 24130}, + pos: position{line: 752, col: 16, offset: 24400}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 745, col: 16, offset: 24130}, + pos: position{line: 752, col: 16, offset: 24400}, val: "////", ignoreCase: false, want: "\"////\"", }, &zeroOrMoreExpr{ - pos: position{line: 745, col: 23, offset: 24137}, + pos: position{line: 752, col: 23, offset: 24407}, expr: &litMatcher{ - pos: position{line: 745, col: 23, offset: 24137}, + pos: position{line: 752, col: 23, offset: 24407}, val: "/", ignoreCase: false, want: "\"/\"", @@ -1761,12 +1761,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 747, col: 8, offset: 24221}, + pos: position{line: 754, col: 8, offset: 24491}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonDocumentRawLine349, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -1775,28 +1775,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonDocumentRawLine352, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -1805,9 +1805,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -1816,30 +1816,30 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 752, col: 5, offset: 24367}, + pos: position{line: 759, col: 5, offset: 24637}, run: (*parser).callonDocumentRawLine359, expr: &seqExpr{ - pos: position{line: 752, col: 5, offset: 24367}, + pos: position{line: 759, col: 5, offset: 24637}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 752, col: 5, offset: 24367}, + pos: position{line: 759, col: 5, offset: 24637}, label: "delimiter", expr: &actionExpr{ - pos: position{line: 752, col: 16, offset: 24378}, + pos: position{line: 759, col: 16, offset: 24648}, run: (*parser).callonDocumentRawLine362, expr: &seqExpr{ - pos: position{line: 752, col: 16, offset: 24378}, + pos: position{line: 759, col: 16, offset: 24648}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 752, col: 16, offset: 24378}, + pos: position{line: 759, col: 16, offset: 24648}, val: "====", ignoreCase: false, want: "\"====\"", }, &zeroOrMoreExpr{ - pos: position{line: 752, col: 23, offset: 24385}, + pos: position{line: 759, col: 23, offset: 24655}, expr: &litMatcher{ - pos: position{line: 752, col: 23, offset: 24385}, + pos: position{line: 759, col: 23, offset: 24655}, val: "=", ignoreCase: false, want: "\"=\"", @@ -1850,12 +1850,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 754, col: 8, offset: 24469}, + pos: position{line: 761, col: 8, offset: 24739}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonDocumentRawLine368, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -1864,28 +1864,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonDocumentRawLine371, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -1894,9 +1894,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -1905,27 +1905,27 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 765, col: 26, offset: 24855}, + pos: position{line: 772, col: 26, offset: 25125}, run: (*parser).callonDocumentRawLine378, expr: &seqExpr{ - pos: position{line: 765, col: 26, offset: 24855}, + pos: position{line: 772, col: 26, offset: 25125}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 765, col: 26, offset: 24855}, + pos: position{line: 772, col: 26, offset: 25125}, val: "```", ignoreCase: false, want: "\"```\"", }, &labeledExpr{ - pos: position{line: 765, col: 32, offset: 24861}, + pos: position{line: 772, col: 32, offset: 25131}, label: "language", expr: &actionExpr{ - pos: position{line: 769, col: 13, offset: 24991}, + pos: position{line: 776, col: 13, offset: 25261}, run: (*parser).callonDocumentRawLine382, expr: &oneOrMoreExpr{ - pos: position{line: 769, col: 14, offset: 24992}, + pos: position{line: 776, col: 14, offset: 25262}, expr: &charClassMatcher{ - pos: position{line: 769, col: 14, offset: 24992}, + pos: position{line: 776, col: 14, offset: 25262}, val: "[^\\r\\n` ]", chars: []rune{'\r', '\n', '`', ' '}, ignoreCase: false, @@ -1935,12 +1935,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 765, col: 52, offset: 24881}, + pos: position{line: 772, col: 52, offset: 25151}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonDocumentRawLine386, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -1949,28 +1949,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonDocumentRawLine389, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -1979,9 +1979,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -1990,30 +1990,30 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 759, col: 5, offset: 24614}, + pos: position{line: 766, col: 5, offset: 24884}, run: (*parser).callonDocumentRawLine396, expr: &seqExpr{ - pos: position{line: 759, col: 5, offset: 24614}, + pos: position{line: 766, col: 5, offset: 24884}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 759, col: 5, offset: 24614}, + pos: position{line: 766, col: 5, offset: 24884}, label: "delimiter", expr: &actionExpr{ - pos: position{line: 759, col: 16, offset: 24625}, + pos: position{line: 766, col: 16, offset: 24895}, run: (*parser).callonDocumentRawLine399, expr: &seqExpr{ - pos: position{line: 759, col: 16, offset: 24625}, + pos: position{line: 766, col: 16, offset: 24895}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 759, col: 16, offset: 24625}, + pos: position{line: 766, col: 16, offset: 24895}, val: "```", ignoreCase: false, want: "\"```\"", }, &zeroOrMoreExpr{ - pos: position{line: 759, col: 22, offset: 24631}, + pos: position{line: 766, col: 22, offset: 24901}, expr: &litMatcher{ - pos: position{line: 759, col: 22, offset: 24631}, + pos: position{line: 766, col: 22, offset: 24901}, val: "`", ignoreCase: false, want: "\"`\"", @@ -2024,12 +2024,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 761, col: 8, offset: 24715}, + pos: position{line: 768, col: 8, offset: 24985}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonDocumentRawLine405, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -2038,28 +2038,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonDocumentRawLine408, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -2068,9 +2068,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -2079,30 +2079,30 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 774, col: 5, offset: 25151}, + pos: position{line: 781, col: 5, offset: 25421}, run: (*parser).callonDocumentRawLine415, expr: &seqExpr{ - pos: position{line: 774, col: 5, offset: 25151}, + pos: position{line: 781, col: 5, offset: 25421}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 774, col: 5, offset: 25151}, + pos: position{line: 781, col: 5, offset: 25421}, label: "delimiter", expr: &actionExpr{ - pos: position{line: 774, col: 16, offset: 25162}, + pos: position{line: 781, col: 16, offset: 25432}, run: (*parser).callonDocumentRawLine418, expr: &seqExpr{ - pos: position{line: 774, col: 16, offset: 25162}, + pos: position{line: 781, col: 16, offset: 25432}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 774, col: 16, offset: 25162}, + pos: position{line: 781, col: 16, offset: 25432}, val: "----", ignoreCase: false, want: "\"----\"", }, &zeroOrMoreExpr{ - pos: position{line: 774, col: 23, offset: 25169}, + pos: position{line: 781, col: 23, offset: 25439}, expr: &litMatcher{ - pos: position{line: 774, col: 23, offset: 25169}, + pos: position{line: 781, col: 23, offset: 25439}, val: "-", ignoreCase: false, want: "\"-\"", @@ -2113,12 +2113,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 776, col: 8, offset: 25253}, + pos: position{line: 783, col: 8, offset: 25523}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonDocumentRawLine424, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -2127,28 +2127,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonDocumentRawLine427, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -2157,9 +2157,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -2168,30 +2168,30 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 781, col: 5, offset: 25399}, + pos: position{line: 788, col: 5, offset: 25669}, run: (*parser).callonDocumentRawLine434, expr: &seqExpr{ - pos: position{line: 781, col: 5, offset: 25399}, + pos: position{line: 788, col: 5, offset: 25669}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 781, col: 5, offset: 25399}, + pos: position{line: 788, col: 5, offset: 25669}, label: "delimiter", expr: &actionExpr{ - pos: position{line: 781, col: 16, offset: 25410}, + pos: position{line: 788, col: 16, offset: 25680}, run: (*parser).callonDocumentRawLine437, expr: &seqExpr{ - pos: position{line: 781, col: 16, offset: 25410}, + pos: position{line: 788, col: 16, offset: 25680}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 781, col: 16, offset: 25410}, + pos: position{line: 788, col: 16, offset: 25680}, val: "....", ignoreCase: false, want: "\"....\"", }, &zeroOrMoreExpr{ - pos: position{line: 781, col: 23, offset: 25417}, + pos: position{line: 788, col: 23, offset: 25687}, expr: &litMatcher{ - pos: position{line: 781, col: 23, offset: 25417}, + pos: position{line: 788, col: 23, offset: 25687}, val: ".", ignoreCase: false, want: "\".\"", @@ -2202,12 +2202,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 783, col: 8, offset: 25501}, + pos: position{line: 790, col: 8, offset: 25771}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonDocumentRawLine443, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -2216,28 +2216,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonDocumentRawLine446, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -2246,9 +2246,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -2257,30 +2257,30 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 788, col: 5, offset: 25651}, + pos: position{line: 795, col: 5, offset: 25921}, run: (*parser).callonDocumentRawLine453, expr: &seqExpr{ - pos: position{line: 788, col: 5, offset: 25651}, + pos: position{line: 795, col: 5, offset: 25921}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 788, col: 5, offset: 25651}, + pos: position{line: 795, col: 5, offset: 25921}, label: "delimiter", expr: &actionExpr{ - pos: position{line: 788, col: 16, offset: 25662}, + pos: position{line: 795, col: 16, offset: 25932}, run: (*parser).callonDocumentRawLine456, expr: &seqExpr{ - pos: position{line: 788, col: 16, offset: 25662}, + pos: position{line: 795, col: 16, offset: 25932}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 788, col: 16, offset: 25662}, + pos: position{line: 795, col: 16, offset: 25932}, val: "++++", ignoreCase: false, want: "\"++++\"", }, &zeroOrMoreExpr{ - pos: position{line: 788, col: 23, offset: 25669}, + pos: position{line: 795, col: 23, offset: 25939}, expr: &litMatcher{ - pos: position{line: 788, col: 23, offset: 25669}, + pos: position{line: 795, col: 23, offset: 25939}, val: "+", ignoreCase: false, want: "\"+\"", @@ -2291,12 +2291,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 790, col: 8, offset: 25753}, + pos: position{line: 797, col: 8, offset: 26023}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonDocumentRawLine462, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -2305,28 +2305,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonDocumentRawLine465, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -2335,9 +2335,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -2346,30 +2346,30 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 795, col: 5, offset: 25901}, + pos: position{line: 802, col: 5, offset: 26171}, run: (*parser).callonDocumentRawLine472, expr: &seqExpr{ - pos: position{line: 795, col: 5, offset: 25901}, + pos: position{line: 802, col: 5, offset: 26171}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 795, col: 5, offset: 25901}, + pos: position{line: 802, col: 5, offset: 26171}, label: "delimiter", expr: &actionExpr{ - pos: position{line: 795, col: 16, offset: 25912}, + pos: position{line: 802, col: 16, offset: 26182}, run: (*parser).callonDocumentRawLine475, expr: &seqExpr{ - pos: position{line: 795, col: 16, offset: 25912}, + pos: position{line: 802, col: 16, offset: 26182}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 795, col: 16, offset: 25912}, + pos: position{line: 802, col: 16, offset: 26182}, val: "____", ignoreCase: false, want: "\"____\"", }, &zeroOrMoreExpr{ - pos: position{line: 795, col: 23, offset: 25919}, + pos: position{line: 802, col: 23, offset: 26189}, expr: &litMatcher{ - pos: position{line: 795, col: 23, offset: 25919}, + pos: position{line: 802, col: 23, offset: 26189}, val: "_", ignoreCase: false, want: "\"_\"", @@ -2380,12 +2380,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 797, col: 8, offset: 26003}, + pos: position{line: 804, col: 8, offset: 26273}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonDocumentRawLine481, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -2394,28 +2394,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonDocumentRawLine484, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -2424,9 +2424,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -2435,30 +2435,30 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 802, col: 5, offset: 26147}, + pos: position{line: 809, col: 5, offset: 26417}, run: (*parser).callonDocumentRawLine491, expr: &seqExpr{ - pos: position{line: 802, col: 5, offset: 26147}, + pos: position{line: 809, col: 5, offset: 26417}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 802, col: 5, offset: 26147}, + pos: position{line: 809, col: 5, offset: 26417}, label: "delimiter", expr: &actionExpr{ - pos: position{line: 802, col: 16, offset: 26158}, + pos: position{line: 809, col: 16, offset: 26428}, run: (*parser).callonDocumentRawLine494, expr: &seqExpr{ - pos: position{line: 802, col: 16, offset: 26158}, + pos: position{line: 809, col: 16, offset: 26428}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 802, col: 16, offset: 26158}, + pos: position{line: 809, col: 16, offset: 26428}, val: "****", ignoreCase: false, want: "\"****\"", }, &zeroOrMoreExpr{ - pos: position{line: 802, col: 23, offset: 26165}, + pos: position{line: 809, col: 23, offset: 26435}, expr: &litMatcher{ - pos: position{line: 802, col: 23, offset: 26165}, + pos: position{line: 809, col: 23, offset: 26435}, val: "*", ignoreCase: false, want: "\"*\"", @@ -2469,12 +2469,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 804, col: 8, offset: 26249}, + pos: position{line: 811, col: 8, offset: 26519}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonDocumentRawLine500, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -2483,28 +2483,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonDocumentRawLine503, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -2513,9 +2513,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -2565,12 +2565,12 @@ var g = &grammar{ run: (*parser).callonDocumentRawLine518, }, &actionExpr{ - pos: position{line: 3180, col: 11, offset: 103464}, + pos: position{line: 3076, col: 11, offset: 100101}, run: (*parser).callonDocumentRawLine519, expr: &oneOrMoreExpr{ - pos: position{line: 3180, col: 11, offset: 103464}, + pos: position{line: 3076, col: 11, offset: 100101}, expr: &charClassMatcher{ - pos: position{line: 3180, col: 12, offset: 103465}, + pos: position{line: 3076, col: 12, offset: 100102}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -2589,9 +2589,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -2601,9 +2601,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -2638,46 +2638,46 @@ var g = &grammar{ pos: position{line: 138, col: 9, offset: 3820}, label: "path", expr: &actionExpr{ - pos: position{line: 3132, col: 17, offset: 102015}, + pos: position{line: 3028, col: 17, offset: 98652}, run: (*parser).callonFileInclusion8, expr: &labeledExpr{ - pos: position{line: 3132, col: 17, offset: 102015}, + pos: position{line: 3028, col: 17, offset: 98652}, label: "path", expr: &oneOrMoreExpr{ - pos: position{line: 3132, col: 22, offset: 102020}, + pos: position{line: 3028, col: 22, offset: 98657}, expr: &choiceExpr{ - pos: position{line: 3132, col: 23, offset: 102021}, + pos: position{line: 3028, col: 23, offset: 98658}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3147, col: 5, offset: 102477}, + pos: position{line: 3043, col: 5, offset: 99114}, run: (*parser).callonFileInclusion12, expr: &seqExpr{ - pos: position{line: 3147, col: 5, offset: 102477}, + pos: position{line: 3043, col: 5, offset: 99114}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 3147, col: 5, offset: 102477}, + pos: position{line: 3043, col: 5, offset: 99114}, expr: &litMatcher{ - pos: position{line: 3147, col: 6, offset: 102478}, + pos: position{line: 3043, col: 6, offset: 99115}, val: "[", ignoreCase: false, want: "\"[\"", }, }, &labeledExpr{ - pos: position{line: 3148, col: 5, offset: 102502}, + pos: position{line: 3044, col: 5, offset: 99139}, label: "elements", expr: &oneOrMoreExpr{ - pos: position{line: 3148, col: 14, offset: 102511}, + pos: position{line: 3044, col: 14, offset: 99148}, expr: &choiceExpr{ - pos: position{line: 3149, col: 9, offset: 102521}, + pos: position{line: 3045, col: 9, offset: 99158}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3149, col: 9, offset: 102521}, + pos: position{line: 3045, col: 9, offset: 99158}, run: (*parser).callonFileInclusion19, expr: &oneOrMoreExpr{ - pos: position{line: 3149, col: 9, offset: 102521}, + pos: position{line: 3045, col: 9, offset: 99158}, expr: &charClassMatcher{ - pos: position{line: 3149, col: 10, offset: 102522}, + pos: position{line: 3045, col: 10, offset: 99159}, val: "[^\\r\\n[]�{.,;?!<> ]", chars: []rune{'\r', '\n', '[', ']', '�', '{', '.', ',', ';', '?', '!', '<', '>', ' '}, ignoreCase: false, @@ -2686,13 +2686,13 @@ var g = &grammar{ }, }, &seqExpr{ - pos: position{line: 3152, col: 11, offset: 102787}, + pos: position{line: 3048, col: 11, offset: 99424}, exprs: []interface{}{ &actionExpr{ - pos: position{line: 3122, col: 25, offset: 101758}, + pos: position{line: 3018, col: 25, offset: 98395}, run: (*parser).callonFileInclusion23, expr: &charClassMatcher{ - pos: position{line: 3122, col: 25, offset: 101758}, + pos: position{line: 3018, col: 25, offset: 98395}, val: "[.,;?!]", chars: []rune{'.', ',', ';', '?', '!'}, ignoreCase: false, @@ -2700,23 +2700,23 @@ var g = &grammar{ }, }, &andExpr{ - pos: position{line: 3152, col: 32, offset: 102808}, + pos: position{line: 3048, col: 32, offset: 99445}, expr: ¬Expr{ - pos: position{line: 3152, col: 34, offset: 102810}, + pos: position{line: 3048, col: 34, offset: 99447}, expr: &choiceExpr{ - pos: position{line: 3152, col: 36, offset: 102812}, + pos: position{line: 3048, col: 36, offset: 99449}, alternatives: []interface{}{ ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonFileInclusion30, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -2730,35 +2730,35 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 641, col: 5, offset: 20613}, + pos: position{line: 648, col: 5, offset: 20883}, run: (*parser).callonFileInclusion32, expr: &seqExpr{ - pos: position{line: 641, col: 5, offset: 20613}, + pos: position{line: 648, col: 5, offset: 20883}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 641, col: 5, offset: 20613}, + pos: position{line: 648, col: 5, offset: 20883}, run: (*parser).callonFileInclusion34, }, &labeledExpr{ - pos: position{line: 644, col: 5, offset: 20682}, + pos: position{line: 651, col: 5, offset: 20952}, label: "element", expr: &choiceExpr{ - pos: position{line: 644, col: 14, offset: 20691}, + pos: position{line: 651, col: 14, offset: 20961}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 664, col: 25, offset: 21344}, + pos: position{line: 671, col: 25, offset: 21614}, run: (*parser).callonFileInclusion37, expr: &seqExpr{ - pos: position{line: 664, col: 25, offset: 21344}, + pos: position{line: 671, col: 25, offset: 21614}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 664, col: 25, offset: 21344}, + pos: position{line: 671, col: 25, offset: 21614}, val: "{counter:", ignoreCase: false, want: "\"{counter:\"", }, &labeledExpr{ - pos: position{line: 664, col: 37, offset: 21356}, + pos: position{line: 671, col: 37, offset: 21626}, label: "name", expr: &actionExpr{ pos: position{line: 324, col: 18, offset: 10072}, @@ -2792,33 +2792,33 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 664, col: 56, offset: 21375}, + pos: position{line: 671, col: 56, offset: 21645}, label: "start", expr: &zeroOrOneExpr{ - pos: position{line: 664, col: 62, offset: 21381}, + pos: position{line: 671, col: 62, offset: 21651}, expr: &actionExpr{ - pos: position{line: 672, col: 17, offset: 21676}, + pos: position{line: 679, col: 17, offset: 21946}, run: (*parser).callonFileInclusion48, expr: &seqExpr{ - pos: position{line: 672, col: 17, offset: 21676}, + pos: position{line: 679, col: 17, offset: 21946}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 672, col: 17, offset: 21676}, + pos: position{line: 679, col: 17, offset: 21946}, val: ":", ignoreCase: false, want: "\":\"", }, &labeledExpr{ - pos: position{line: 672, col: 21, offset: 21680}, + pos: position{line: 679, col: 21, offset: 21950}, label: "start", expr: &choiceExpr{ - pos: position{line: 672, col: 28, offset: 21687}, + pos: position{line: 679, col: 28, offset: 21957}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 672, col: 28, offset: 21687}, + pos: position{line: 679, col: 28, offset: 21957}, run: (*parser).callonFileInclusion53, expr: &charClassMatcher{ - pos: position{line: 672, col: 28, offset: 21687}, + pos: position{line: 679, col: 28, offset: 21957}, val: "[A-Za-z]", ranges: []rune{'A', 'Z', 'a', 'z'}, ignoreCase: false, @@ -2826,12 +2826,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 674, col: 9, offset: 21741}, + pos: position{line: 681, col: 9, offset: 22011}, run: (*parser).callonFileInclusion55, expr: &oneOrMoreExpr{ - pos: position{line: 674, col: 9, offset: 21741}, + pos: position{line: 681, col: 9, offset: 22011}, expr: &charClassMatcher{ - pos: position{line: 674, col: 9, offset: 21741}, + pos: position{line: 681, col: 9, offset: 22011}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -2848,7 +2848,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 664, col: 78, offset: 21397}, + pos: position{line: 671, col: 78, offset: 21667}, val: "}", ignoreCase: false, want: "\"}\"", @@ -2857,19 +2857,19 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 668, col: 25, offset: 21515}, + pos: position{line: 675, col: 25, offset: 21785}, run: (*parser).callonFileInclusion59, expr: &seqExpr{ - pos: position{line: 668, col: 25, offset: 21515}, + pos: position{line: 675, col: 25, offset: 21785}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 668, col: 25, offset: 21515}, + pos: position{line: 675, col: 25, offset: 21785}, val: "{counter2:", ignoreCase: false, want: "\"{counter2:\"", }, &labeledExpr{ - pos: position{line: 668, col: 38, offset: 21528}, + pos: position{line: 675, col: 38, offset: 21798}, label: "name", expr: &actionExpr{ pos: position{line: 324, col: 18, offset: 10072}, @@ -2903,33 +2903,33 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 668, col: 57, offset: 21547}, + pos: position{line: 675, col: 57, offset: 21817}, label: "start", expr: &zeroOrOneExpr{ - pos: position{line: 668, col: 63, offset: 21553}, + pos: position{line: 675, col: 63, offset: 21823}, expr: &actionExpr{ - pos: position{line: 672, col: 17, offset: 21676}, + pos: position{line: 679, col: 17, offset: 21946}, run: (*parser).callonFileInclusion70, expr: &seqExpr{ - pos: position{line: 672, col: 17, offset: 21676}, + pos: position{line: 679, col: 17, offset: 21946}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 672, col: 17, offset: 21676}, + pos: position{line: 679, col: 17, offset: 21946}, val: ":", ignoreCase: false, want: "\":\"", }, &labeledExpr{ - pos: position{line: 672, col: 21, offset: 21680}, + pos: position{line: 679, col: 21, offset: 21950}, label: "start", expr: &choiceExpr{ - pos: position{line: 672, col: 28, offset: 21687}, + pos: position{line: 679, col: 28, offset: 21957}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 672, col: 28, offset: 21687}, + pos: position{line: 679, col: 28, offset: 21957}, run: (*parser).callonFileInclusion75, expr: &charClassMatcher{ - pos: position{line: 672, col: 28, offset: 21687}, + pos: position{line: 679, col: 28, offset: 21957}, val: "[A-Za-z]", ranges: []rune{'A', 'Z', 'a', 'z'}, ignoreCase: false, @@ -2937,12 +2937,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 674, col: 9, offset: 21741}, + pos: position{line: 681, col: 9, offset: 22011}, run: (*parser).callonFileInclusion77, expr: &oneOrMoreExpr{ - pos: position{line: 674, col: 9, offset: 21741}, + pos: position{line: 681, col: 9, offset: 22011}, expr: &charClassMatcher{ - pos: position{line: 674, col: 9, offset: 21741}, + pos: position{line: 681, col: 9, offset: 22011}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -2959,7 +2959,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 668, col: 79, offset: 21569}, + pos: position{line: 675, col: 79, offset: 21839}, val: "}", ignoreCase: false, want: "\"}\"", @@ -2968,19 +2968,19 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 650, col: 5, offset: 20820}, + pos: position{line: 657, col: 5, offset: 21090}, run: (*parser).callonFileInclusion81, expr: &seqExpr{ - pos: position{line: 650, col: 5, offset: 20820}, + pos: position{line: 657, col: 5, offset: 21090}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 650, col: 5, offset: 20820}, + pos: position{line: 657, col: 5, offset: 21090}, val: "\\{", ignoreCase: false, want: "\"\\\\{\"", }, &labeledExpr{ - pos: position{line: 650, col: 13, offset: 20828}, + pos: position{line: 657, col: 13, offset: 21098}, label: "name", expr: &actionExpr{ pos: position{line: 324, col: 18, offset: 10072}, @@ -3014,7 +3014,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 650, col: 32, offset: 20847}, + pos: position{line: 657, col: 32, offset: 21117}, val: "}", ignoreCase: false, want: "\"}\"", @@ -3023,19 +3023,19 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 657, col: 5, offset: 21088}, + pos: position{line: 664, col: 5, offset: 21358}, run: (*parser).callonFileInclusion91, expr: &seqExpr{ - pos: position{line: 657, col: 5, offset: 21088}, + pos: position{line: 664, col: 5, offset: 21358}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 657, col: 5, offset: 21088}, + pos: position{line: 664, col: 5, offset: 21358}, val: "{", ignoreCase: false, want: "\"{\"", }, &labeledExpr{ - pos: position{line: 657, col: 9, offset: 21092}, + pos: position{line: 664, col: 9, offset: 21362}, label: "name", expr: &actionExpr{ pos: position{line: 324, col: 18, offset: 10072}, @@ -3069,7 +3069,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 657, col: 28, offset: 21111}, + pos: position{line: 664, col: 28, offset: 21381}, val: "}", ignoreCase: false, want: "\"}\"", @@ -3084,49 +3084,49 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2859, col: 5, offset: 93679}, + pos: position{line: 2745, col: 5, offset: 90112}, run: (*parser).callonFileInclusion101, expr: &seqExpr{ - pos: position{line: 2859, col: 5, offset: 93679}, + pos: position{line: 2745, col: 5, offset: 90112}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 2859, col: 5, offset: 93679}, + pos: position{line: 2745, col: 5, offset: 90112}, run: (*parser).callonFileInclusion103, }, &labeledExpr{ - pos: position{line: 2862, col: 5, offset: 93755}, + pos: position{line: 2748, col: 5, offset: 90188}, label: "element", expr: &choiceExpr{ - pos: position{line: 2864, col: 9, offset: 93853}, + pos: position{line: 2750, col: 9, offset: 90286}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2864, col: 9, offset: 93853}, + pos: position{line: 2750, col: 9, offset: 90286}, run: (*parser).callonFileInclusion106, expr: &choiceExpr{ - pos: position{line: 692, col: 27, offset: 22395}, + pos: position{line: 699, col: 27, offset: 22665}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 692, col: 27, offset: 22395}, + pos: position{line: 699, col: 27, offset: 22665}, run: (*parser).callonFileInclusion108, expr: &seqExpr{ - pos: position{line: 692, col: 27, offset: 22395}, + pos: position{line: 699, col: 27, offset: 22665}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 692, col: 27, offset: 22395}, + pos: position{line: 699, col: 27, offset: 22665}, val: "<<", ignoreCase: false, want: "\"<<\"", }, &labeledExpr{ - pos: position{line: 692, col: 32, offset: 22400}, + pos: position{line: 699, col: 32, offset: 22670}, label: "id", expr: &actionExpr{ - pos: position{line: 3161, col: 7, offset: 103049}, + pos: position{line: 3057, col: 7, offset: 99686}, run: (*parser).callonFileInclusion112, expr: &oneOrMoreExpr{ - pos: position{line: 3161, col: 7, offset: 103049}, + pos: position{line: 3057, col: 7, offset: 99686}, expr: &charClassMatcher{ - pos: position{line: 3161, col: 7, offset: 103049}, + pos: position{line: 3057, col: 7, offset: 99686}, val: "[^[]<>,]", chars: []rune{'[', ']', '<', '>', ','}, ignoreCase: false, @@ -3136,12 +3136,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 692, col: 40, offset: 22408}, + pos: position{line: 699, col: 40, offset: 22678}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonFileInclusion116, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -3150,27 +3150,27 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 692, col: 47, offset: 22415}, + pos: position{line: 699, col: 47, offset: 22685}, val: ",", ignoreCase: false, want: "\",\"", }, &labeledExpr{ - pos: position{line: 692, col: 51, offset: 22419}, + pos: position{line: 699, col: 51, offset: 22689}, label: "label", expr: &oneOrMoreExpr{ - pos: position{line: 702, col: 24, offset: 22820}, + pos: position{line: 709, col: 24, offset: 23090}, expr: &choiceExpr{ - pos: position{line: 703, col: 5, offset: 22826}, + pos: position{line: 710, col: 5, offset: 23096}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 703, col: 6, offset: 22827}, + pos: position{line: 710, col: 6, offset: 23097}, run: (*parser).callonFileInclusion122, expr: &seqExpr{ - pos: position{line: 703, col: 6, offset: 22827}, + pos: position{line: 710, col: 6, offset: 23097}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 703, col: 6, offset: 22827}, + pos: position{line: 710, col: 6, offset: 23097}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -3178,9 +3178,9 @@ var g = &grammar{ inverted: false, }, &oneOrMoreExpr{ - pos: position{line: 703, col: 14, offset: 22835}, + pos: position{line: 710, col: 14, offset: 23105}, expr: &charClassMatcher{ - pos: position{line: 703, col: 14, offset: 22835}, + pos: position{line: 710, col: 14, offset: 23105}, val: "[^\\r\\n{<>]", chars: []rune{'\r', '\n', '{', '<', '>'}, ignoreCase: false, @@ -3191,19 +3191,19 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 650, col: 5, offset: 20820}, + pos: position{line: 657, col: 5, offset: 21090}, run: (*parser).callonFileInclusion127, expr: &seqExpr{ - pos: position{line: 650, col: 5, offset: 20820}, + pos: position{line: 657, col: 5, offset: 21090}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 650, col: 5, offset: 20820}, + pos: position{line: 657, col: 5, offset: 21090}, val: "\\{", ignoreCase: false, want: "\"\\\\{\"", }, &labeledExpr{ - pos: position{line: 650, col: 13, offset: 20828}, + pos: position{line: 657, col: 13, offset: 21098}, label: "name", expr: &actionExpr{ pos: position{line: 324, col: 18, offset: 10072}, @@ -3237,7 +3237,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 650, col: 32, offset: 20847}, + pos: position{line: 657, col: 32, offset: 21117}, val: "}", ignoreCase: false, want: "\"}\"", @@ -3246,19 +3246,19 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 657, col: 5, offset: 21088}, + pos: position{line: 664, col: 5, offset: 21358}, run: (*parser).callonFileInclusion137, expr: &seqExpr{ - pos: position{line: 657, col: 5, offset: 21088}, + pos: position{line: 664, col: 5, offset: 21358}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 657, col: 5, offset: 21088}, + pos: position{line: 664, col: 5, offset: 21358}, val: "{", ignoreCase: false, want: "\"{\"", }, &labeledExpr{ - pos: position{line: 657, col: 9, offset: 21092}, + pos: position{line: 664, col: 9, offset: 21362}, label: "name", expr: &actionExpr{ pos: position{line: 324, col: 18, offset: 10072}, @@ -3292,7 +3292,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 657, col: 28, offset: 21111}, + pos: position{line: 664, col: 28, offset: 21381}, val: "}", ignoreCase: false, want: "\"}\"", @@ -3301,10 +3301,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 707, col: 8, offset: 23061}, + pos: position{line: 714, col: 8, offset: 23331}, run: (*parser).callonFileInclusion147, expr: &litMatcher{ - pos: position{line: 707, col: 8, offset: 23061}, + pos: position{line: 714, col: 8, offset: 23331}, val: "{", ignoreCase: false, want: "\"{\"", @@ -3315,7 +3315,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 692, col: 79, offset: 22447}, + pos: position{line: 699, col: 79, offset: 22717}, val: ">>", ignoreCase: false, want: "\">>\"", @@ -3324,27 +3324,27 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 694, col: 9, offset: 22520}, + pos: position{line: 701, col: 9, offset: 22790}, run: (*parser).callonFileInclusion150, expr: &seqExpr{ - pos: position{line: 694, col: 9, offset: 22520}, + pos: position{line: 701, col: 9, offset: 22790}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 694, col: 9, offset: 22520}, + pos: position{line: 701, col: 9, offset: 22790}, val: "<<", ignoreCase: false, want: "\"<<\"", }, &labeledExpr{ - pos: position{line: 694, col: 14, offset: 22525}, + pos: position{line: 701, col: 14, offset: 22795}, label: "id", expr: &actionExpr{ - pos: position{line: 3161, col: 7, offset: 103049}, + pos: position{line: 3057, col: 7, offset: 99686}, run: (*parser).callonFileInclusion154, expr: &oneOrMoreExpr{ - pos: position{line: 3161, col: 7, offset: 103049}, + pos: position{line: 3057, col: 7, offset: 99686}, expr: &charClassMatcher{ - pos: position{line: 3161, col: 7, offset: 103049}, + pos: position{line: 3057, col: 7, offset: 99686}, val: "[^[]<>,]", chars: []rune{'[', ']', '<', '>', ','}, ignoreCase: false, @@ -3354,7 +3354,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 694, col: 22, offset: 22533}, + pos: position{line: 701, col: 22, offset: 22803}, val: ">>", ignoreCase: false, want: "\">>\"", @@ -3366,10 +3366,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2867, col: 11, offset: 93957}, + pos: position{line: 2753, col: 11, offset: 90390}, run: (*parser).callonFileInclusion158, expr: &charClassMatcher{ - pos: position{line: 2867, col: 12, offset: 93958}, + pos: position{line: 2753, col: 12, offset: 90391}, val: "[<>&]", chars: []rune{'<', '>', '&'}, ignoreCase: false, @@ -3383,10 +3383,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 3155, col: 11, offset: 102893}, + pos: position{line: 3051, col: 11, offset: 99530}, run: (*parser).callonFileInclusion160, expr: &litMatcher{ - pos: position{line: 3155, col: 11, offset: 102893}, + pos: position{line: 3051, col: 11, offset: 99530}, val: "{", ignoreCase: false, want: "\"{\"", @@ -3400,27 +3400,27 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1212, col: 23, offset: 37871}, + pos: position{line: 1219, col: 23, offset: 38141}, run: (*parser).callonFileInclusion162, expr: &seqExpr{ - pos: position{line: 1212, col: 23, offset: 37871}, + pos: position{line: 1219, col: 23, offset: 38141}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1210, col: 32, offset: 37839}, + pos: position{line: 1217, col: 32, offset: 38109}, val: "�", ignoreCase: false, want: "\"�\"", }, &labeledExpr{ - pos: position{line: 1212, col: 51, offset: 37899}, + pos: position{line: 1219, col: 51, offset: 38169}, label: "ref", expr: &actionExpr{ - pos: position{line: 1212, col: 56, offset: 37904}, + pos: position{line: 1219, col: 56, offset: 38174}, run: (*parser).callonFileInclusion166, expr: &oneOrMoreExpr{ - pos: position{line: 1212, col: 56, offset: 37904}, + pos: position{line: 1219, col: 56, offset: 38174}, expr: &charClassMatcher{ - pos: position{line: 1212, col: 56, offset: 37904}, + pos: position{line: 1219, col: 56, offset: 38174}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -3430,7 +3430,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1210, col: 32, offset: 37839}, + pos: position{line: 1217, col: 32, offset: 38109}, val: "�", ignoreCase: false, want: "\"�\"", @@ -3459,10 +3459,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 143, col: 5, offset: 4016}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonFileInclusion173, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -3471,28 +3471,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonFileInclusion176, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -3501,9 +3501,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -3549,24 +3549,24 @@ var g = &grammar{ pos: position{line: 166, col: 19, offset: 4718}, label: "start", expr: &actionExpr{ - pos: position{line: 3168, col: 12, offset: 103224}, + pos: position{line: 3064, col: 12, offset: 99861}, run: (*parser).callonLineRanges12, expr: &seqExpr{ - pos: position{line: 3168, col: 13, offset: 103225}, + pos: position{line: 3064, col: 13, offset: 99862}, exprs: []interface{}{ &zeroOrOneExpr{ - pos: position{line: 3168, col: 13, offset: 103225}, + pos: position{line: 3064, col: 13, offset: 99862}, expr: &litMatcher{ - pos: position{line: 3168, col: 13, offset: 103225}, + pos: position{line: 3064, col: 13, offset: 99862}, val: "-", ignoreCase: false, want: "\"-\"", }, }, &oneOrMoreExpr{ - pos: position{line: 3168, col: 18, offset: 103230}, + pos: position{line: 3064, col: 18, offset: 99867}, expr: &charClassMatcher{ - pos: position{line: 3168, col: 18, offset: 103230}, + pos: position{line: 3064, col: 18, offset: 99867}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -3587,24 +3587,24 @@ var g = &grammar{ pos: position{line: 166, col: 40, offset: 4739}, label: "end", expr: &actionExpr{ - pos: position{line: 3168, col: 12, offset: 103224}, + pos: position{line: 3064, col: 12, offset: 99861}, run: (*parser).callonLineRanges20, expr: &seqExpr{ - pos: position{line: 3168, col: 13, offset: 103225}, + pos: position{line: 3064, col: 13, offset: 99862}, exprs: []interface{}{ &zeroOrOneExpr{ - pos: position{line: 3168, col: 13, offset: 103225}, + pos: position{line: 3064, col: 13, offset: 99862}, expr: &litMatcher{ - pos: position{line: 3168, col: 13, offset: 103225}, + pos: position{line: 3064, col: 13, offset: 99862}, val: "-", ignoreCase: false, want: "\"-\"", }, }, &oneOrMoreExpr{ - pos: position{line: 3168, col: 18, offset: 103230}, + pos: position{line: 3064, col: 18, offset: 99867}, expr: &charClassMatcher{ - pos: position{line: 3168, col: 18, offset: 103230}, + pos: position{line: 3064, col: 18, offset: 99867}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -3625,24 +3625,24 @@ var g = &grammar{ pos: position{line: 170, col: 20, offset: 4860}, label: "singleline", expr: &actionExpr{ - pos: position{line: 3168, col: 12, offset: 103224}, + pos: position{line: 3064, col: 12, offset: 99861}, run: (*parser).callonLineRanges28, expr: &seqExpr{ - pos: position{line: 3168, col: 13, offset: 103225}, + pos: position{line: 3064, col: 13, offset: 99862}, exprs: []interface{}{ &zeroOrOneExpr{ - pos: position{line: 3168, col: 13, offset: 103225}, + pos: position{line: 3064, col: 13, offset: 99862}, expr: &litMatcher{ - pos: position{line: 3168, col: 13, offset: 103225}, + pos: position{line: 3064, col: 13, offset: 99862}, val: "-", ignoreCase: false, want: "\"-\"", }, }, &oneOrMoreExpr{ - pos: position{line: 3168, col: 18, offset: 103230}, + pos: position{line: 3064, col: 18, offset: 99867}, expr: &charClassMatcher{ - pos: position{line: 3168, col: 18, offset: 103230}, + pos: position{line: 3064, col: 18, offset: 99867}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -3691,24 +3691,24 @@ var g = &grammar{ pos: position{line: 166, col: 19, offset: 4718}, label: "start", expr: &actionExpr{ - pos: position{line: 3168, col: 12, offset: 103224}, + pos: position{line: 3064, col: 12, offset: 99861}, run: (*parser).callonLineRanges44, expr: &seqExpr{ - pos: position{line: 3168, col: 13, offset: 103225}, + pos: position{line: 3064, col: 13, offset: 99862}, exprs: []interface{}{ &zeroOrOneExpr{ - pos: position{line: 3168, col: 13, offset: 103225}, + pos: position{line: 3064, col: 13, offset: 99862}, expr: &litMatcher{ - pos: position{line: 3168, col: 13, offset: 103225}, + pos: position{line: 3064, col: 13, offset: 99862}, val: "-", ignoreCase: false, want: "\"-\"", }, }, &oneOrMoreExpr{ - pos: position{line: 3168, col: 18, offset: 103230}, + pos: position{line: 3064, col: 18, offset: 99867}, expr: &charClassMatcher{ - pos: position{line: 3168, col: 18, offset: 103230}, + pos: position{line: 3064, col: 18, offset: 99867}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -3729,24 +3729,24 @@ var g = &grammar{ pos: position{line: 166, col: 40, offset: 4739}, label: "end", expr: &actionExpr{ - pos: position{line: 3168, col: 12, offset: 103224}, + pos: position{line: 3064, col: 12, offset: 99861}, run: (*parser).callonLineRanges52, expr: &seqExpr{ - pos: position{line: 3168, col: 13, offset: 103225}, + pos: position{line: 3064, col: 13, offset: 99862}, exprs: []interface{}{ &zeroOrOneExpr{ - pos: position{line: 3168, col: 13, offset: 103225}, + pos: position{line: 3064, col: 13, offset: 99862}, expr: &litMatcher{ - pos: position{line: 3168, col: 13, offset: 103225}, + pos: position{line: 3064, col: 13, offset: 99862}, val: "-", ignoreCase: false, want: "\"-\"", }, }, &oneOrMoreExpr{ - pos: position{line: 3168, col: 18, offset: 103230}, + pos: position{line: 3064, col: 18, offset: 99867}, expr: &charClassMatcher{ - pos: position{line: 3168, col: 18, offset: 103230}, + pos: position{line: 3064, col: 18, offset: 99867}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -3767,24 +3767,24 @@ var g = &grammar{ pos: position{line: 170, col: 20, offset: 4860}, label: "singleline", expr: &actionExpr{ - pos: position{line: 3168, col: 12, offset: 103224}, + pos: position{line: 3064, col: 12, offset: 99861}, run: (*parser).callonLineRanges60, expr: &seqExpr{ - pos: position{line: 3168, col: 13, offset: 103225}, + pos: position{line: 3064, col: 13, offset: 99862}, exprs: []interface{}{ &zeroOrOneExpr{ - pos: position{line: 3168, col: 13, offset: 103225}, + pos: position{line: 3064, col: 13, offset: 99862}, expr: &litMatcher{ - pos: position{line: 3168, col: 13, offset: 103225}, + pos: position{line: 3064, col: 13, offset: 99862}, val: "-", ignoreCase: false, want: "\"-\"", }, }, &oneOrMoreExpr{ - pos: position{line: 3168, col: 18, offset: 103230}, + pos: position{line: 3064, col: 18, offset: 99867}, expr: &charClassMatcher{ - pos: position{line: 3168, col: 18, offset: 103230}, + pos: position{line: 3064, col: 18, offset: 99867}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -3817,24 +3817,24 @@ var g = &grammar{ pos: position{line: 166, col: 19, offset: 4718}, label: "start", expr: &actionExpr{ - pos: position{line: 3168, col: 12, offset: 103224}, + pos: position{line: 3064, col: 12, offset: 99861}, run: (*parser).callonLineRanges69, expr: &seqExpr{ - pos: position{line: 3168, col: 13, offset: 103225}, + pos: position{line: 3064, col: 13, offset: 99862}, exprs: []interface{}{ &zeroOrOneExpr{ - pos: position{line: 3168, col: 13, offset: 103225}, + pos: position{line: 3064, col: 13, offset: 99862}, expr: &litMatcher{ - pos: position{line: 3168, col: 13, offset: 103225}, + pos: position{line: 3064, col: 13, offset: 99862}, val: "-", ignoreCase: false, want: "\"-\"", }, }, &oneOrMoreExpr{ - pos: position{line: 3168, col: 18, offset: 103230}, + pos: position{line: 3064, col: 18, offset: 99867}, expr: &charClassMatcher{ - pos: position{line: 3168, col: 18, offset: 103230}, + pos: position{line: 3064, col: 18, offset: 99867}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -3855,24 +3855,24 @@ var g = &grammar{ pos: position{line: 166, col: 40, offset: 4739}, label: "end", expr: &actionExpr{ - pos: position{line: 3168, col: 12, offset: 103224}, + pos: position{line: 3064, col: 12, offset: 99861}, run: (*parser).callonLineRanges77, expr: &seqExpr{ - pos: position{line: 3168, col: 13, offset: 103225}, + pos: position{line: 3064, col: 13, offset: 99862}, exprs: []interface{}{ &zeroOrOneExpr{ - pos: position{line: 3168, col: 13, offset: 103225}, + pos: position{line: 3064, col: 13, offset: 99862}, expr: &litMatcher{ - pos: position{line: 3168, col: 13, offset: 103225}, + pos: position{line: 3064, col: 13, offset: 99862}, val: "-", ignoreCase: false, want: "\"-\"", }, }, &oneOrMoreExpr{ - pos: position{line: 3168, col: 18, offset: 103230}, + pos: position{line: 3064, col: 18, offset: 99867}, expr: &charClassMatcher{ - pos: position{line: 3168, col: 18, offset: 103230}, + pos: position{line: 3064, col: 18, offset: 99867}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -3893,24 +3893,24 @@ var g = &grammar{ pos: position{line: 170, col: 20, offset: 4860}, label: "singleline", expr: &actionExpr{ - pos: position{line: 3168, col: 12, offset: 103224}, + pos: position{line: 3064, col: 12, offset: 99861}, run: (*parser).callonLineRanges85, expr: &seqExpr{ - pos: position{line: 3168, col: 13, offset: 103225}, + pos: position{line: 3064, col: 13, offset: 99862}, exprs: []interface{}{ &zeroOrOneExpr{ - pos: position{line: 3168, col: 13, offset: 103225}, + pos: position{line: 3064, col: 13, offset: 99862}, expr: &litMatcher{ - pos: position{line: 3168, col: 13, offset: 103225}, + pos: position{line: 3064, col: 13, offset: 99862}, val: "-", ignoreCase: false, want: "\"-\"", }, }, &oneOrMoreExpr{ - pos: position{line: 3168, col: 18, offset: 103230}, + pos: position{line: 3064, col: 18, offset: 99867}, expr: &charClassMatcher{ - pos: position{line: 3168, col: 18, offset: 103230}, + pos: position{line: 3064, col: 18, offset: 99867}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -3926,9 +3926,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -3969,12 +3969,12 @@ var g = &grammar{ pos: position{line: 188, col: 18, offset: 5461}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3094, col: 14, offset: 100787}, + pos: position{line: 2990, col: 14, offset: 97424}, run: (*parser).callonTagRanges11, expr: &oneOrMoreExpr{ - pos: position{line: 3094, col: 14, offset: 100787}, + pos: position{line: 2990, col: 14, offset: 97424}, expr: &charClassMatcher{ - pos: position{line: 3094, col: 14, offset: 100787}, + pos: position{line: 2990, col: 14, offset: 97424}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -4036,12 +4036,12 @@ var g = &grammar{ pos: position{line: 190, col: 18, offset: 5558}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3094, col: 14, offset: 100787}, + pos: position{line: 2990, col: 14, offset: 97424}, run: (*parser).callonTagRanges26, expr: &oneOrMoreExpr{ - pos: position{line: 3094, col: 14, offset: 100787}, + pos: position{line: 2990, col: 14, offset: 97424}, expr: &charClassMatcher{ - pos: position{line: 3094, col: 14, offset: 100787}, + pos: position{line: 2990, col: 14, offset: 97424}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -4123,12 +4123,12 @@ var g = &grammar{ pos: position{line: 188, col: 18, offset: 5461}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3094, col: 14, offset: 100787}, + pos: position{line: 2990, col: 14, offset: 97424}, run: (*parser).callonTagRanges46, expr: &oneOrMoreExpr{ - pos: position{line: 3094, col: 14, offset: 100787}, + pos: position{line: 2990, col: 14, offset: 97424}, expr: &charClassMatcher{ - pos: position{line: 3094, col: 14, offset: 100787}, + pos: position{line: 2990, col: 14, offset: 97424}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -4190,12 +4190,12 @@ var g = &grammar{ pos: position{line: 190, col: 18, offset: 5558}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3094, col: 14, offset: 100787}, + pos: position{line: 2990, col: 14, offset: 97424}, run: (*parser).callonTagRanges61, expr: &oneOrMoreExpr{ - pos: position{line: 3094, col: 14, offset: 100787}, + pos: position{line: 2990, col: 14, offset: 97424}, expr: &charClassMatcher{ - pos: position{line: 3094, col: 14, offset: 100787}, + pos: position{line: 2990, col: 14, offset: 97424}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -4253,9 +4253,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -4298,12 +4298,12 @@ var g = &grammar{ pos: position{line: 208, col: 38, offset: 6112}, run: (*parser).callonIncludedFileLine10, expr: &actionExpr{ - pos: position{line: 3094, col: 14, offset: 100787}, + pos: position{line: 2990, col: 14, offset: 97424}, run: (*parser).callonIncludedFileLine11, expr: &oneOrMoreExpr{ - pos: position{line: 3094, col: 14, offset: 100787}, + pos: position{line: 2990, col: 14, offset: 97424}, expr: &charClassMatcher{ - pos: position{line: 3094, col: 14, offset: 100787}, + pos: position{line: 2990, col: 14, offset: 97424}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -4342,12 +4342,12 @@ var g = &grammar{ pos: position{line: 212, col: 36, offset: 6260}, run: (*parser).callonIncludedFileLine19, expr: &actionExpr{ - pos: position{line: 3094, col: 14, offset: 100787}, + pos: position{line: 2990, col: 14, offset: 97424}, run: (*parser).callonIncludedFileLine20, expr: &oneOrMoreExpr{ - pos: position{line: 3094, col: 14, offset: 100787}, + pos: position{line: 2990, col: 14, offset: 97424}, expr: &charClassMatcher{ - pos: position{line: 3094, col: 14, offset: 100787}, + pos: position{line: 2990, col: 14, offset: 97424}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -4379,28 +4379,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonIncludedFileLine27, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -4409,9 +4409,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -4432,9 +4432,9 @@ var g = &grammar{ ¬Expr{ pos: position{line: 229, col: 5, offset: 6810}, expr: ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -4532,10 +4532,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 364, col: 49, offset: 11201}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonDocumentFragment28, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -4544,28 +4544,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonDocumentFragment31, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -4574,9 +4574,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -4639,10 +4639,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 366, col: 39, offset: 11322}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonDocumentFragment49, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -4651,28 +4651,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonDocumentFragment52, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -4681,9 +4681,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -4692,27 +4692,27 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 683, col: 14, offset: 22042}, + pos: position{line: 690, col: 14, offset: 22312}, run: (*parser).callonDocumentFragment59, expr: &seqExpr{ - pos: position{line: 683, col: 14, offset: 22042}, + pos: position{line: 690, col: 14, offset: 22312}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 683, col: 14, offset: 22042}, + pos: position{line: 690, col: 14, offset: 22312}, expr: ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, &zeroOrMoreExpr{ - pos: position{line: 683, col: 19, offset: 22047}, + pos: position{line: 690, col: 19, offset: 22317}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonDocumentFragment65, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -4721,28 +4721,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonDocumentFragment68, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -4751,9 +4751,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -4762,25 +4762,25 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2726, col: 5, offset: 89829}, + pos: position{line: 2616, col: 5, offset: 86348}, run: (*parser).callonDocumentFragment75, expr: &seqExpr{ - pos: position{line: 2726, col: 5, offset: 89829}, + pos: position{line: 2616, col: 5, offset: 86348}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 2726, col: 5, offset: 89829}, + pos: position{line: 2616, col: 5, offset: 86348}, run: (*parser).callonDocumentFragment77, }, &labeledExpr{ - pos: position{line: 2729, col: 5, offset: 89892}, + pos: position{line: 2619, col: 5, offset: 86411}, label: "level", expr: &actionExpr{ - pos: position{line: 2729, col: 12, offset: 89899}, + pos: position{line: 2619, col: 12, offset: 86418}, run: (*parser).callonDocumentFragment79, expr: &oneOrMoreExpr{ - pos: position{line: 2729, col: 12, offset: 89899}, + pos: position{line: 2619, col: 12, offset: 86418}, expr: &litMatcher{ - pos: position{line: 2729, col: 13, offset: 89900}, + pos: position{line: 2619, col: 13, offset: 86419}, val: "=", ignoreCase: false, want: "\"=\"", @@ -4789,16 +4789,16 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 2733, col: 5, offset: 90008}, + pos: position{line: 2623, col: 5, offset: 86527}, run: (*parser).callonDocumentFragment82, }, &actionExpr{ - pos: position{line: 3180, col: 11, offset: 103464}, + pos: position{line: 3076, col: 11, offset: 100101}, run: (*parser).callonDocumentFragment83, expr: &oneOrMoreExpr{ - pos: position{line: 3180, col: 11, offset: 103464}, + pos: position{line: 3076, col: 11, offset: 100101}, expr: &charClassMatcher{ - pos: position{line: 3180, col: 12, offset: 103465}, + pos: position{line: 3076, col: 12, offset: 100102}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -4807,15 +4807,15 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 2737, col: 12, offset: 90167}, + pos: position{line: 2627, col: 12, offset: 86686}, label: "title", expr: &actionExpr{ - pos: position{line: 2741, col: 17, offset: 90286}, + pos: position{line: 2631, col: 17, offset: 86805}, run: (*parser).callonDocumentFragment87, expr: &oneOrMoreExpr{ - pos: position{line: 2741, col: 17, offset: 90286}, + pos: position{line: 2631, col: 17, offset: 86805}, expr: &charClassMatcher{ - pos: position{line: 2741, col: 17, offset: 90286}, + pos: position{line: 2631, col: 17, offset: 86805}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -4825,28 +4825,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonDocumentFragment91, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -4855,9 +4855,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -4866,36 +4866,36 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 820, col: 5, offset: 26700}, + pos: position{line: 827, col: 5, offset: 26970}, run: (*parser).callonDocumentFragment98, expr: &seqExpr{ - pos: position{line: 820, col: 5, offset: 26700}, + pos: position{line: 827, col: 5, offset: 26970}, exprs: []interface{}{ &actionExpr{ - pos: position{line: 745, col: 5, offset: 24119}, + pos: position{line: 752, col: 5, offset: 24389}, run: (*parser).callonDocumentFragment100, expr: &seqExpr{ - pos: position{line: 745, col: 5, offset: 24119}, + pos: position{line: 752, col: 5, offset: 24389}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 745, col: 5, offset: 24119}, + pos: position{line: 752, col: 5, offset: 24389}, label: "delimiter", expr: &actionExpr{ - pos: position{line: 745, col: 16, offset: 24130}, + pos: position{line: 752, col: 16, offset: 24400}, run: (*parser).callonDocumentFragment103, expr: &seqExpr{ - pos: position{line: 745, col: 16, offset: 24130}, + pos: position{line: 752, col: 16, offset: 24400}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 745, col: 16, offset: 24130}, + pos: position{line: 752, col: 16, offset: 24400}, val: "////", ignoreCase: false, want: "\"////\"", }, &zeroOrMoreExpr{ - pos: position{line: 745, col: 23, offset: 24137}, + pos: position{line: 752, col: 23, offset: 24407}, expr: &litMatcher{ - pos: position{line: 745, col: 23, offset: 24137}, + pos: position{line: 752, col: 23, offset: 24407}, val: "/", ignoreCase: false, want: "\"/\"", @@ -4906,12 +4906,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 747, col: 8, offset: 24221}, + pos: position{line: 754, col: 8, offset: 24491}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonDocumentFragment109, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -4920,28 +4920,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonDocumentFragment112, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -4950,9 +4950,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -4961,46 +4961,46 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 821, col: 5, offset: 26731}, + pos: position{line: 828, col: 5, offset: 27001}, label: "content", expr: &zeroOrMoreExpr{ - pos: position{line: 831, col: 5, offset: 27017}, + pos: position{line: 838, col: 5, offset: 27287}, expr: &actionExpr{ - pos: position{line: 831, col: 6, offset: 27018}, + pos: position{line: 838, col: 6, offset: 27288}, run: (*parser).callonDocumentFragment121, expr: &seqExpr{ - pos: position{line: 831, col: 6, offset: 27018}, + pos: position{line: 838, col: 6, offset: 27288}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 831, col: 6, offset: 27018}, + pos: position{line: 838, col: 6, offset: 27288}, expr: &choiceExpr{ - pos: position{line: 828, col: 29, offset: 26960}, + pos: position{line: 835, col: 29, offset: 27230}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 745, col: 5, offset: 24119}, + pos: position{line: 752, col: 5, offset: 24389}, run: (*parser).callonDocumentFragment125, expr: &seqExpr{ - pos: position{line: 745, col: 5, offset: 24119}, + pos: position{line: 752, col: 5, offset: 24389}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 745, col: 5, offset: 24119}, + pos: position{line: 752, col: 5, offset: 24389}, label: "delimiter", expr: &actionExpr{ - pos: position{line: 745, col: 16, offset: 24130}, + pos: position{line: 752, col: 16, offset: 24400}, run: (*parser).callonDocumentFragment128, expr: &seqExpr{ - pos: position{line: 745, col: 16, offset: 24130}, + pos: position{line: 752, col: 16, offset: 24400}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 745, col: 16, offset: 24130}, + pos: position{line: 752, col: 16, offset: 24400}, val: "////", ignoreCase: false, want: "\"////\"", }, &zeroOrMoreExpr{ - pos: position{line: 745, col: 23, offset: 24137}, + pos: position{line: 752, col: 23, offset: 24407}, expr: &litMatcher{ - pos: position{line: 745, col: 23, offset: 24137}, + pos: position{line: 752, col: 23, offset: 24407}, val: "/", ignoreCase: false, want: "\"/\"", @@ -5011,12 +5011,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 747, col: 8, offset: 24221}, + pos: position{line: 754, col: 8, offset: 24491}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonDocumentFragment134, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -5025,28 +5025,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonDocumentFragment137, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -5055,9 +5055,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -5066,42 +5066,42 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, }, }, &labeledExpr{ - pos: position{line: 832, col: 5, offset: 27048}, + pos: position{line: 839, col: 5, offset: 27318}, label: "line", expr: &actionExpr{ - pos: position{line: 809, col: 5, offset: 26395}, + pos: position{line: 816, col: 5, offset: 26665}, run: (*parser).callonDocumentFragment147, expr: &seqExpr{ - pos: position{line: 809, col: 5, offset: 26395}, + pos: position{line: 816, col: 5, offset: 26665}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 809, col: 5, offset: 26395}, + pos: position{line: 816, col: 5, offset: 26665}, expr: ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, &labeledExpr{ - pos: position{line: 810, col: 5, offset: 26468}, + pos: position{line: 817, col: 5, offset: 26738}, label: "content", expr: &actionExpr{ - pos: position{line: 810, col: 14, offset: 26477}, + pos: position{line: 817, col: 14, offset: 26747}, run: (*parser).callonDocumentFragment153, expr: &zeroOrMoreExpr{ - pos: position{line: 810, col: 14, offset: 26477}, + pos: position{line: 817, col: 14, offset: 26747}, expr: &charClassMatcher{ - pos: position{line: 810, col: 14, offset: 26477}, + pos: position{line: 817, col: 14, offset: 26747}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -5111,28 +5111,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonDocumentFragment157, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -5141,9 +5141,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -5158,35 +5158,35 @@ var g = &grammar{ }, }, &zeroOrOneExpr{ - pos: position{line: 822, col: 5, offset: 26765}, + pos: position{line: 829, col: 5, offset: 27035}, expr: &choiceExpr{ - pos: position{line: 828, col: 29, offset: 26960}, + pos: position{line: 835, col: 29, offset: 27230}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 745, col: 5, offset: 24119}, + pos: position{line: 752, col: 5, offset: 24389}, run: (*parser).callonDocumentFragment166, expr: &seqExpr{ - pos: position{line: 745, col: 5, offset: 24119}, + pos: position{line: 752, col: 5, offset: 24389}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 745, col: 5, offset: 24119}, + pos: position{line: 752, col: 5, offset: 24389}, label: "delimiter", expr: &actionExpr{ - pos: position{line: 745, col: 16, offset: 24130}, + pos: position{line: 752, col: 16, offset: 24400}, run: (*parser).callonDocumentFragment169, expr: &seqExpr{ - pos: position{line: 745, col: 16, offset: 24130}, + pos: position{line: 752, col: 16, offset: 24400}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 745, col: 16, offset: 24130}, + pos: position{line: 752, col: 16, offset: 24400}, val: "////", ignoreCase: false, want: "\"////\"", }, &zeroOrMoreExpr{ - pos: position{line: 745, col: 23, offset: 24137}, + pos: position{line: 752, col: 23, offset: 24407}, expr: &litMatcher{ - pos: position{line: 745, col: 23, offset: 24137}, + pos: position{line: 752, col: 23, offset: 24407}, val: "/", ignoreCase: false, want: "\"/\"", @@ -5197,12 +5197,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 747, col: 8, offset: 24221}, + pos: position{line: 754, col: 8, offset: 24491}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonDocumentFragment175, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -5211,28 +5211,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonDocumentFragment178, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -5241,9 +5241,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -5252,9 +5252,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -5264,39 +5264,39 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 840, col: 5, offset: 27201}, + pos: position{line: 847, col: 5, offset: 27471}, run: (*parser).callonDocumentFragment187, expr: &seqExpr{ - pos: position{line: 840, col: 5, offset: 27201}, + pos: position{line: 847, col: 5, offset: 27471}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 840, col: 5, offset: 27201}, + pos: position{line: 847, col: 5, offset: 27471}, label: "start", expr: &actionExpr{ - pos: position{line: 752, col: 5, offset: 24367}, + pos: position{line: 759, col: 5, offset: 24637}, run: (*parser).callonDocumentFragment190, expr: &seqExpr{ - pos: position{line: 752, col: 5, offset: 24367}, + pos: position{line: 759, col: 5, offset: 24637}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 752, col: 5, offset: 24367}, + pos: position{line: 759, col: 5, offset: 24637}, label: "delimiter", expr: &actionExpr{ - pos: position{line: 752, col: 16, offset: 24378}, + pos: position{line: 759, col: 16, offset: 24648}, run: (*parser).callonDocumentFragment193, expr: &seqExpr{ - pos: position{line: 752, col: 16, offset: 24378}, + pos: position{line: 759, col: 16, offset: 24648}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 752, col: 16, offset: 24378}, + pos: position{line: 759, col: 16, offset: 24648}, val: "====", ignoreCase: false, want: "\"====\"", }, &zeroOrMoreExpr{ - pos: position{line: 752, col: 23, offset: 24385}, + pos: position{line: 759, col: 23, offset: 24655}, expr: &litMatcher{ - pos: position{line: 752, col: 23, offset: 24385}, + pos: position{line: 759, col: 23, offset: 24655}, val: "=", ignoreCase: false, want: "\"=\"", @@ -5307,12 +5307,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 754, col: 8, offset: 24469}, + pos: position{line: 761, col: 8, offset: 24739}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonDocumentFragment199, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -5321,28 +5321,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonDocumentFragment202, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -5351,9 +5351,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -5363,56 +5363,56 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 841, col: 5, offset: 27240}, + pos: position{line: 848, col: 5, offset: 27510}, run: (*parser).callonDocumentFragment209, }, &labeledExpr{ - pos: position{line: 844, col: 5, offset: 27332}, + pos: position{line: 851, col: 5, offset: 27602}, label: "content", expr: &zeroOrMoreExpr{ - pos: position{line: 859, col: 4, offset: 27729}, + pos: position{line: 866, col: 4, offset: 27999}, expr: &actionExpr{ - pos: position{line: 859, col: 5, offset: 27730}, + pos: position{line: 866, col: 5, offset: 28000}, run: (*parser).callonDocumentFragment212, expr: &seqExpr{ - pos: position{line: 859, col: 5, offset: 27730}, + pos: position{line: 866, col: 5, offset: 28000}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 859, col: 5, offset: 27730}, + pos: position{line: 866, col: 5, offset: 28000}, expr: &choiceExpr{ - pos: position{line: 852, col: 5, offset: 27572}, + pos: position{line: 859, col: 5, offset: 27842}, alternatives: []interface{}{ &seqExpr{ - pos: position{line: 852, col: 5, offset: 27572}, + pos: position{line: 859, col: 5, offset: 27842}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 852, col: 5, offset: 27572}, + pos: position{line: 859, col: 5, offset: 27842}, label: "end", expr: &actionExpr{ - pos: position{line: 752, col: 5, offset: 24367}, + pos: position{line: 759, col: 5, offset: 24637}, run: (*parser).callonDocumentFragment218, expr: &seqExpr{ - pos: position{line: 752, col: 5, offset: 24367}, + pos: position{line: 759, col: 5, offset: 24637}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 752, col: 5, offset: 24367}, + pos: position{line: 759, col: 5, offset: 24637}, label: "delimiter", expr: &actionExpr{ - pos: position{line: 752, col: 16, offset: 24378}, + pos: position{line: 759, col: 16, offset: 24648}, run: (*parser).callonDocumentFragment221, expr: &seqExpr{ - pos: position{line: 752, col: 16, offset: 24378}, + pos: position{line: 759, col: 16, offset: 24648}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 752, col: 16, offset: 24378}, + pos: position{line: 759, col: 16, offset: 24648}, val: "====", ignoreCase: false, want: "\"====\"", }, &zeroOrMoreExpr{ - pos: position{line: 752, col: 23, offset: 24385}, + pos: position{line: 759, col: 23, offset: 24655}, expr: &litMatcher{ - pos: position{line: 752, col: 23, offset: 24385}, + pos: position{line: 759, col: 23, offset: 24655}, val: "=", ignoreCase: false, want: "\"=\"", @@ -5423,12 +5423,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 754, col: 8, offset: 24469}, + pos: position{line: 761, col: 8, offset: 24739}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonDocumentFragment227, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -5437,28 +5437,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonDocumentFragment230, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -5467,9 +5467,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -5479,48 +5479,48 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 853, col: 5, offset: 27603}, + pos: position{line: 860, col: 5, offset: 27873}, run: (*parser).callonDocumentFragment237, }, }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, }, }, &labeledExpr{ - pos: position{line: 860, col: 5, offset: 27760}, + pos: position{line: 867, col: 5, offset: 28030}, label: "line", expr: &actionExpr{ - pos: position{line: 809, col: 5, offset: 26395}, + pos: position{line: 816, col: 5, offset: 26665}, run: (*parser).callonDocumentFragment241, expr: &seqExpr{ - pos: position{line: 809, col: 5, offset: 26395}, + pos: position{line: 816, col: 5, offset: 26665}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 809, col: 5, offset: 26395}, + pos: position{line: 816, col: 5, offset: 26665}, expr: ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, &labeledExpr{ - pos: position{line: 810, col: 5, offset: 26468}, + pos: position{line: 817, col: 5, offset: 26738}, label: "content", expr: &actionExpr{ - pos: position{line: 810, col: 14, offset: 26477}, + pos: position{line: 817, col: 14, offset: 26747}, run: (*parser).callonDocumentFragment247, expr: &zeroOrMoreExpr{ - pos: position{line: 810, col: 14, offset: 26477}, + pos: position{line: 817, col: 14, offset: 26747}, expr: &charClassMatcher{ - pos: position{line: 810, col: 14, offset: 26477}, + pos: position{line: 817, col: 14, offset: 26747}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -5530,28 +5530,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonDocumentFragment251, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -5560,9 +5560,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -5577,44 +5577,44 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 845, col: 5, offset: 27366}, + pos: position{line: 852, col: 5, offset: 27636}, label: "end", expr: &zeroOrOneExpr{ - pos: position{line: 845, col: 9, offset: 27370}, + pos: position{line: 852, col: 9, offset: 27640}, expr: &choiceExpr{ - pos: position{line: 852, col: 5, offset: 27572}, + pos: position{line: 859, col: 5, offset: 27842}, alternatives: []interface{}{ &seqExpr{ - pos: position{line: 852, col: 5, offset: 27572}, + pos: position{line: 859, col: 5, offset: 27842}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 852, col: 5, offset: 27572}, + pos: position{line: 859, col: 5, offset: 27842}, label: "end", expr: &actionExpr{ - pos: position{line: 752, col: 5, offset: 24367}, + pos: position{line: 759, col: 5, offset: 24637}, run: (*parser).callonDocumentFragment263, expr: &seqExpr{ - pos: position{line: 752, col: 5, offset: 24367}, + pos: position{line: 759, col: 5, offset: 24637}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 752, col: 5, offset: 24367}, + pos: position{line: 759, col: 5, offset: 24637}, label: "delimiter", expr: &actionExpr{ - pos: position{line: 752, col: 16, offset: 24378}, + pos: position{line: 759, col: 16, offset: 24648}, run: (*parser).callonDocumentFragment266, expr: &seqExpr{ - pos: position{line: 752, col: 16, offset: 24378}, + pos: position{line: 759, col: 16, offset: 24648}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 752, col: 16, offset: 24378}, + pos: position{line: 759, col: 16, offset: 24648}, val: "====", ignoreCase: false, want: "\"====\"", }, &zeroOrMoreExpr{ - pos: position{line: 752, col: 23, offset: 24385}, + pos: position{line: 759, col: 23, offset: 24655}, expr: &litMatcher{ - pos: position{line: 752, col: 23, offset: 24385}, + pos: position{line: 759, col: 23, offset: 24655}, val: "=", ignoreCase: false, want: "\"=\"", @@ -5625,12 +5625,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 754, col: 8, offset: 24469}, + pos: position{line: 761, col: 8, offset: 24739}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonDocumentFragment272, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -5639,28 +5639,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonDocumentFragment275, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -5669,9 +5669,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -5681,15 +5681,15 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 853, col: 5, offset: 27603}, + pos: position{line: 860, col: 5, offset: 27873}, run: (*parser).callonDocumentFragment282, }, }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -5700,36 +5700,36 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 952, col: 5, offset: 30052}, + pos: position{line: 959, col: 5, offset: 30322}, run: (*parser).callonDocumentFragment285, expr: &seqExpr{ - pos: position{line: 952, col: 5, offset: 30052}, + pos: position{line: 959, col: 5, offset: 30322}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 952, col: 5, offset: 30052}, + pos: position{line: 959, col: 5, offset: 30322}, label: "delimiter", expr: &actionExpr{ - pos: position{line: 765, col: 26, offset: 24855}, + pos: position{line: 772, col: 26, offset: 25125}, run: (*parser).callonDocumentFragment288, expr: &seqExpr{ - pos: position{line: 765, col: 26, offset: 24855}, + pos: position{line: 772, col: 26, offset: 25125}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 765, col: 26, offset: 24855}, + pos: position{line: 772, col: 26, offset: 25125}, val: "```", ignoreCase: false, want: "\"```\"", }, &labeledExpr{ - pos: position{line: 765, col: 32, offset: 24861}, + pos: position{line: 772, col: 32, offset: 25131}, label: "language", expr: &actionExpr{ - pos: position{line: 769, col: 13, offset: 24991}, + pos: position{line: 776, col: 13, offset: 25261}, run: (*parser).callonDocumentFragment292, expr: &oneOrMoreExpr{ - pos: position{line: 769, col: 14, offset: 24992}, + pos: position{line: 776, col: 14, offset: 25262}, expr: &charClassMatcher{ - pos: position{line: 769, col: 14, offset: 24992}, + pos: position{line: 776, col: 14, offset: 25262}, val: "[^\\r\\n` ]", chars: []rune{'\r', '\n', '`', ' '}, ignoreCase: false, @@ -5739,12 +5739,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 765, col: 52, offset: 24881}, + pos: position{line: 772, col: 52, offset: 25151}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonDocumentFragment296, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -5753,28 +5753,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonDocumentFragment299, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -5783,9 +5783,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -5795,34 +5795,34 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 953, col: 5, offset: 30098}, + pos: position{line: 960, col: 5, offset: 30368}, label: "content", expr: &zeroOrMoreExpr{ - pos: position{line: 966, col: 5, offset: 30571}, + pos: position{line: 973, col: 5, offset: 30841}, expr: &actionExpr{ - pos: position{line: 966, col: 6, offset: 30572}, + pos: position{line: 973, col: 6, offset: 30842}, run: (*parser).callonDocumentFragment308, expr: &seqExpr{ - pos: position{line: 966, col: 6, offset: 30572}, + pos: position{line: 973, col: 6, offset: 30842}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 966, col: 6, offset: 30572}, + pos: position{line: 973, col: 6, offset: 30842}, expr: &seqExpr{ - pos: position{line: 963, col: 34, offset: 30519}, + pos: position{line: 970, col: 34, offset: 30789}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 963, col: 34, offset: 30519}, + pos: position{line: 970, col: 34, offset: 30789}, val: "```", ignoreCase: false, want: "\"```\"", }, &zeroOrMoreExpr{ - pos: position{line: 963, col: 40, offset: 30525}, + pos: position{line: 970, col: 40, offset: 30795}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonDocumentFragment314, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -5831,28 +5831,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonDocumentFragment317, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -5861,9 +5861,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -5872,33 +5872,33 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 967, col: 5, offset: 30607}, + pos: position{line: 974, col: 5, offset: 30877}, label: "line", expr: &actionExpr{ - pos: position{line: 809, col: 5, offset: 26395}, + pos: position{line: 816, col: 5, offset: 26665}, run: (*parser).callonDocumentFragment325, expr: &seqExpr{ - pos: position{line: 809, col: 5, offset: 26395}, + pos: position{line: 816, col: 5, offset: 26665}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 809, col: 5, offset: 26395}, + pos: position{line: 816, col: 5, offset: 26665}, expr: ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, &labeledExpr{ - pos: position{line: 810, col: 5, offset: 26468}, + pos: position{line: 817, col: 5, offset: 26738}, label: "content", expr: &actionExpr{ - pos: position{line: 810, col: 14, offset: 26477}, + pos: position{line: 817, col: 14, offset: 26747}, run: (*parser).callonDocumentFragment331, expr: &zeroOrMoreExpr{ - pos: position{line: 810, col: 14, offset: 26477}, + pos: position{line: 817, col: 14, offset: 26747}, expr: &charClassMatcher{ - pos: position{line: 810, col: 14, offset: 26477}, + pos: position{line: 817, col: 14, offset: 26747}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -5908,28 +5908,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonDocumentFragment335, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -5938,9 +5938,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -5955,23 +5955,23 @@ var g = &grammar{ }, }, &zeroOrOneExpr{ - pos: position{line: 954, col: 5, offset: 30137}, + pos: position{line: 961, col: 5, offset: 30407}, expr: &seqExpr{ - pos: position{line: 963, col: 34, offset: 30519}, + pos: position{line: 970, col: 34, offset: 30789}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 963, col: 34, offset: 30519}, + pos: position{line: 970, col: 34, offset: 30789}, val: "```", ignoreCase: false, want: "\"```\"", }, &zeroOrMoreExpr{ - pos: position{line: 963, col: 40, offset: 30525}, + pos: position{line: 970, col: 40, offset: 30795}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonDocumentFragment346, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -5980,28 +5980,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonDocumentFragment349, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -6010,9 +6010,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -6024,39 +6024,39 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 868, col: 5, offset: 27913}, + pos: position{line: 875, col: 5, offset: 28183}, run: (*parser).callonDocumentFragment356, expr: &seqExpr{ - pos: position{line: 868, col: 5, offset: 27913}, + pos: position{line: 875, col: 5, offset: 28183}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 868, col: 5, offset: 27913}, + pos: position{line: 875, col: 5, offset: 28183}, label: "start", expr: &actionExpr{ - pos: position{line: 759, col: 5, offset: 24614}, + pos: position{line: 766, col: 5, offset: 24884}, run: (*parser).callonDocumentFragment359, expr: &seqExpr{ - pos: position{line: 759, col: 5, offset: 24614}, + pos: position{line: 766, col: 5, offset: 24884}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 759, col: 5, offset: 24614}, + pos: position{line: 766, col: 5, offset: 24884}, label: "delimiter", expr: &actionExpr{ - pos: position{line: 759, col: 16, offset: 24625}, + pos: position{line: 766, col: 16, offset: 24895}, run: (*parser).callonDocumentFragment362, expr: &seqExpr{ - pos: position{line: 759, col: 16, offset: 24625}, + pos: position{line: 766, col: 16, offset: 24895}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 759, col: 16, offset: 24625}, + pos: position{line: 766, col: 16, offset: 24895}, val: "```", ignoreCase: false, want: "\"```\"", }, &zeroOrMoreExpr{ - pos: position{line: 759, col: 22, offset: 24631}, + pos: position{line: 766, col: 22, offset: 24901}, expr: &litMatcher{ - pos: position{line: 759, col: 22, offset: 24631}, + pos: position{line: 766, col: 22, offset: 24901}, val: "`", ignoreCase: false, want: "\"`\"", @@ -6067,12 +6067,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 761, col: 8, offset: 24715}, + pos: position{line: 768, col: 8, offset: 24985}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonDocumentFragment368, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -6081,28 +6081,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonDocumentFragment371, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -6111,9 +6111,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -6123,56 +6123,56 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 869, col: 5, offset: 27951}, + pos: position{line: 876, col: 5, offset: 28221}, run: (*parser).callonDocumentFragment378, }, &labeledExpr{ - pos: position{line: 872, col: 5, offset: 28043}, + pos: position{line: 879, col: 5, offset: 28313}, label: "content", expr: &zeroOrMoreExpr{ - pos: position{line: 887, col: 5, offset: 28433}, + pos: position{line: 894, col: 5, offset: 28703}, expr: &actionExpr{ - pos: position{line: 887, col: 6, offset: 28434}, + pos: position{line: 894, col: 6, offset: 28704}, run: (*parser).callonDocumentFragment381, expr: &seqExpr{ - pos: position{line: 887, col: 6, offset: 28434}, + pos: position{line: 894, col: 6, offset: 28704}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 887, col: 6, offset: 28434}, + pos: position{line: 894, col: 6, offset: 28704}, expr: &choiceExpr{ - pos: position{line: 880, col: 5, offset: 28277}, + pos: position{line: 887, col: 5, offset: 28547}, alternatives: []interface{}{ &seqExpr{ - pos: position{line: 880, col: 5, offset: 28277}, + pos: position{line: 887, col: 5, offset: 28547}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 880, col: 5, offset: 28277}, + pos: position{line: 887, col: 5, offset: 28547}, label: "end", expr: &actionExpr{ - pos: position{line: 759, col: 5, offset: 24614}, + pos: position{line: 766, col: 5, offset: 24884}, run: (*parser).callonDocumentFragment387, expr: &seqExpr{ - pos: position{line: 759, col: 5, offset: 24614}, + pos: position{line: 766, col: 5, offset: 24884}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 759, col: 5, offset: 24614}, + pos: position{line: 766, col: 5, offset: 24884}, label: "delimiter", expr: &actionExpr{ - pos: position{line: 759, col: 16, offset: 24625}, + pos: position{line: 766, col: 16, offset: 24895}, run: (*parser).callonDocumentFragment390, expr: &seqExpr{ - pos: position{line: 759, col: 16, offset: 24625}, + pos: position{line: 766, col: 16, offset: 24895}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 759, col: 16, offset: 24625}, + pos: position{line: 766, col: 16, offset: 24895}, val: "```", ignoreCase: false, want: "\"```\"", }, &zeroOrMoreExpr{ - pos: position{line: 759, col: 22, offset: 24631}, + pos: position{line: 766, col: 22, offset: 24901}, expr: &litMatcher{ - pos: position{line: 759, col: 22, offset: 24631}, + pos: position{line: 766, col: 22, offset: 24901}, val: "`", ignoreCase: false, want: "\"`\"", @@ -6183,12 +6183,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 761, col: 8, offset: 24715}, + pos: position{line: 768, col: 8, offset: 24985}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonDocumentFragment396, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -6197,28 +6197,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonDocumentFragment399, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -6227,9 +6227,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -6239,48 +6239,48 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 881, col: 5, offset: 28307}, + pos: position{line: 888, col: 5, offset: 28577}, run: (*parser).callonDocumentFragment406, }, }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, }, }, &labeledExpr{ - pos: position{line: 888, col: 5, offset: 28463}, + pos: position{line: 895, col: 5, offset: 28733}, label: "line", expr: &actionExpr{ - pos: position{line: 809, col: 5, offset: 26395}, + pos: position{line: 816, col: 5, offset: 26665}, run: (*parser).callonDocumentFragment410, expr: &seqExpr{ - pos: position{line: 809, col: 5, offset: 26395}, + pos: position{line: 816, col: 5, offset: 26665}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 809, col: 5, offset: 26395}, + pos: position{line: 816, col: 5, offset: 26665}, expr: ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, &labeledExpr{ - pos: position{line: 810, col: 5, offset: 26468}, + pos: position{line: 817, col: 5, offset: 26738}, label: "content", expr: &actionExpr{ - pos: position{line: 810, col: 14, offset: 26477}, + pos: position{line: 817, col: 14, offset: 26747}, run: (*parser).callonDocumentFragment416, expr: &zeroOrMoreExpr{ - pos: position{line: 810, col: 14, offset: 26477}, + pos: position{line: 817, col: 14, offset: 26747}, expr: &charClassMatcher{ - pos: position{line: 810, col: 14, offset: 26477}, + pos: position{line: 817, col: 14, offset: 26747}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -6290,28 +6290,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonDocumentFragment420, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -6320,9 +6320,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -6337,44 +6337,44 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 873, col: 5, offset: 28076}, + pos: position{line: 880, col: 5, offset: 28346}, label: "end", expr: &zeroOrOneExpr{ - pos: position{line: 873, col: 9, offset: 28080}, + pos: position{line: 880, col: 9, offset: 28350}, expr: &choiceExpr{ - pos: position{line: 880, col: 5, offset: 28277}, + pos: position{line: 887, col: 5, offset: 28547}, alternatives: []interface{}{ &seqExpr{ - pos: position{line: 880, col: 5, offset: 28277}, + pos: position{line: 887, col: 5, offset: 28547}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 880, col: 5, offset: 28277}, + pos: position{line: 887, col: 5, offset: 28547}, label: "end", expr: &actionExpr{ - pos: position{line: 759, col: 5, offset: 24614}, + pos: position{line: 766, col: 5, offset: 24884}, run: (*parser).callonDocumentFragment432, expr: &seqExpr{ - pos: position{line: 759, col: 5, offset: 24614}, + pos: position{line: 766, col: 5, offset: 24884}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 759, col: 5, offset: 24614}, + pos: position{line: 766, col: 5, offset: 24884}, label: "delimiter", expr: &actionExpr{ - pos: position{line: 759, col: 16, offset: 24625}, + pos: position{line: 766, col: 16, offset: 24895}, run: (*parser).callonDocumentFragment435, expr: &seqExpr{ - pos: position{line: 759, col: 16, offset: 24625}, + pos: position{line: 766, col: 16, offset: 24895}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 759, col: 16, offset: 24625}, + pos: position{line: 766, col: 16, offset: 24895}, val: "```", ignoreCase: false, want: "\"```\"", }, &zeroOrMoreExpr{ - pos: position{line: 759, col: 22, offset: 24631}, + pos: position{line: 766, col: 22, offset: 24901}, expr: &litMatcher{ - pos: position{line: 759, col: 22, offset: 24631}, + pos: position{line: 766, col: 22, offset: 24901}, val: "`", ignoreCase: false, want: "\"`\"", @@ -6385,12 +6385,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 761, col: 8, offset: 24715}, + pos: position{line: 768, col: 8, offset: 24985}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonDocumentFragment441, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -6399,28 +6399,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonDocumentFragment444, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -6429,9 +6429,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -6441,15 +6441,15 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 881, col: 5, offset: 28307}, + pos: position{line: 888, col: 5, offset: 28577}, run: (*parser).callonDocumentFragment451, }, }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -6460,39 +6460,39 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 896, col: 5, offset: 28618}, + pos: position{line: 903, col: 5, offset: 28888}, run: (*parser).callonDocumentFragment454, expr: &seqExpr{ - pos: position{line: 896, col: 5, offset: 28618}, + pos: position{line: 903, col: 5, offset: 28888}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 896, col: 5, offset: 28618}, + pos: position{line: 903, col: 5, offset: 28888}, label: "start", expr: &actionExpr{ - pos: position{line: 774, col: 5, offset: 25151}, + pos: position{line: 781, col: 5, offset: 25421}, run: (*parser).callonDocumentFragment457, expr: &seqExpr{ - pos: position{line: 774, col: 5, offset: 25151}, + pos: position{line: 781, col: 5, offset: 25421}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 774, col: 5, offset: 25151}, + pos: position{line: 781, col: 5, offset: 25421}, label: "delimiter", expr: &actionExpr{ - pos: position{line: 774, col: 16, offset: 25162}, + pos: position{line: 781, col: 16, offset: 25432}, run: (*parser).callonDocumentFragment460, expr: &seqExpr{ - pos: position{line: 774, col: 16, offset: 25162}, + pos: position{line: 781, col: 16, offset: 25432}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 774, col: 16, offset: 25162}, + pos: position{line: 781, col: 16, offset: 25432}, val: "----", ignoreCase: false, want: "\"----\"", }, &zeroOrMoreExpr{ - pos: position{line: 774, col: 23, offset: 25169}, + pos: position{line: 781, col: 23, offset: 25439}, expr: &litMatcher{ - pos: position{line: 774, col: 23, offset: 25169}, + pos: position{line: 781, col: 23, offset: 25439}, val: "-", ignoreCase: false, want: "\"-\"", @@ -6503,12 +6503,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 776, col: 8, offset: 25253}, + pos: position{line: 783, col: 8, offset: 25523}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonDocumentFragment466, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -6517,28 +6517,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonDocumentFragment469, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -6547,9 +6547,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -6559,56 +6559,56 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 897, col: 5, offset: 28657}, + pos: position{line: 904, col: 5, offset: 28927}, run: (*parser).callonDocumentFragment476, }, &labeledExpr{ - pos: position{line: 900, col: 5, offset: 28749}, + pos: position{line: 907, col: 5, offset: 29019}, label: "content", expr: &zeroOrMoreExpr{ - pos: position{line: 915, col: 5, offset: 29147}, + pos: position{line: 922, col: 5, offset: 29417}, expr: &actionExpr{ - pos: position{line: 915, col: 6, offset: 29148}, + pos: position{line: 922, col: 6, offset: 29418}, run: (*parser).callonDocumentFragment479, expr: &seqExpr{ - pos: position{line: 915, col: 6, offset: 29148}, + pos: position{line: 922, col: 6, offset: 29418}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 915, col: 6, offset: 29148}, + pos: position{line: 922, col: 6, offset: 29418}, expr: &choiceExpr{ - pos: position{line: 908, col: 5, offset: 28989}, + pos: position{line: 915, col: 5, offset: 29259}, alternatives: []interface{}{ &seqExpr{ - pos: position{line: 908, col: 5, offset: 28989}, + pos: position{line: 915, col: 5, offset: 29259}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 908, col: 5, offset: 28989}, + pos: position{line: 915, col: 5, offset: 29259}, label: "end", expr: &actionExpr{ - pos: position{line: 774, col: 5, offset: 25151}, + pos: position{line: 781, col: 5, offset: 25421}, run: (*parser).callonDocumentFragment485, expr: &seqExpr{ - pos: position{line: 774, col: 5, offset: 25151}, + pos: position{line: 781, col: 5, offset: 25421}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 774, col: 5, offset: 25151}, + pos: position{line: 781, col: 5, offset: 25421}, label: "delimiter", expr: &actionExpr{ - pos: position{line: 774, col: 16, offset: 25162}, + pos: position{line: 781, col: 16, offset: 25432}, run: (*parser).callonDocumentFragment488, expr: &seqExpr{ - pos: position{line: 774, col: 16, offset: 25162}, + pos: position{line: 781, col: 16, offset: 25432}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 774, col: 16, offset: 25162}, + pos: position{line: 781, col: 16, offset: 25432}, val: "----", ignoreCase: false, want: "\"----\"", }, &zeroOrMoreExpr{ - pos: position{line: 774, col: 23, offset: 25169}, + pos: position{line: 781, col: 23, offset: 25439}, expr: &litMatcher{ - pos: position{line: 774, col: 23, offset: 25169}, + pos: position{line: 781, col: 23, offset: 25439}, val: "-", ignoreCase: false, want: "\"-\"", @@ -6619,12 +6619,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 776, col: 8, offset: 25253}, + pos: position{line: 783, col: 8, offset: 25523}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonDocumentFragment494, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -6633,28 +6633,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonDocumentFragment497, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -6663,9 +6663,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -6675,48 +6675,48 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 909, col: 5, offset: 29020}, + pos: position{line: 916, col: 5, offset: 29290}, run: (*parser).callonDocumentFragment504, }, }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, }, }, &labeledExpr{ - pos: position{line: 916, col: 5, offset: 29178}, + pos: position{line: 923, col: 5, offset: 29448}, label: "line", expr: &actionExpr{ - pos: position{line: 809, col: 5, offset: 26395}, + pos: position{line: 816, col: 5, offset: 26665}, run: (*parser).callonDocumentFragment508, expr: &seqExpr{ - pos: position{line: 809, col: 5, offset: 26395}, + pos: position{line: 816, col: 5, offset: 26665}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 809, col: 5, offset: 26395}, + pos: position{line: 816, col: 5, offset: 26665}, expr: ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, &labeledExpr{ - pos: position{line: 810, col: 5, offset: 26468}, + pos: position{line: 817, col: 5, offset: 26738}, label: "content", expr: &actionExpr{ - pos: position{line: 810, col: 14, offset: 26477}, + pos: position{line: 817, col: 14, offset: 26747}, run: (*parser).callonDocumentFragment514, expr: &zeroOrMoreExpr{ - pos: position{line: 810, col: 14, offset: 26477}, + pos: position{line: 817, col: 14, offset: 26747}, expr: &charClassMatcher{ - pos: position{line: 810, col: 14, offset: 26477}, + pos: position{line: 817, col: 14, offset: 26747}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -6726,28 +6726,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonDocumentFragment518, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -6756,9 +6756,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -6773,44 +6773,44 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 901, col: 5, offset: 28783}, + pos: position{line: 908, col: 5, offset: 29053}, label: "end", expr: &zeroOrOneExpr{ - pos: position{line: 901, col: 9, offset: 28787}, + pos: position{line: 908, col: 9, offset: 29057}, expr: &choiceExpr{ - pos: position{line: 908, col: 5, offset: 28989}, + pos: position{line: 915, col: 5, offset: 29259}, alternatives: []interface{}{ &seqExpr{ - pos: position{line: 908, col: 5, offset: 28989}, + pos: position{line: 915, col: 5, offset: 29259}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 908, col: 5, offset: 28989}, + pos: position{line: 915, col: 5, offset: 29259}, label: "end", expr: &actionExpr{ - pos: position{line: 774, col: 5, offset: 25151}, + pos: position{line: 781, col: 5, offset: 25421}, run: (*parser).callonDocumentFragment530, expr: &seqExpr{ - pos: position{line: 774, col: 5, offset: 25151}, + pos: position{line: 781, col: 5, offset: 25421}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 774, col: 5, offset: 25151}, + pos: position{line: 781, col: 5, offset: 25421}, label: "delimiter", expr: &actionExpr{ - pos: position{line: 774, col: 16, offset: 25162}, + pos: position{line: 781, col: 16, offset: 25432}, run: (*parser).callonDocumentFragment533, expr: &seqExpr{ - pos: position{line: 774, col: 16, offset: 25162}, + pos: position{line: 781, col: 16, offset: 25432}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 774, col: 16, offset: 25162}, + pos: position{line: 781, col: 16, offset: 25432}, val: "----", ignoreCase: false, want: "\"----\"", }, &zeroOrMoreExpr{ - pos: position{line: 774, col: 23, offset: 25169}, + pos: position{line: 781, col: 23, offset: 25439}, expr: &litMatcher{ - pos: position{line: 774, col: 23, offset: 25169}, + pos: position{line: 781, col: 23, offset: 25439}, val: "-", ignoreCase: false, want: "\"-\"", @@ -6821,12 +6821,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 776, col: 8, offset: 25253}, + pos: position{line: 783, col: 8, offset: 25523}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonDocumentFragment539, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -6835,28 +6835,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonDocumentFragment542, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -6865,9 +6865,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -6877,15 +6877,15 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 909, col: 5, offset: 29020}, + pos: position{line: 916, col: 5, offset: 29290}, run: (*parser).callonDocumentFragment549, }, }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -6896,39 +6896,39 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 924, col: 5, offset: 29333}, + pos: position{line: 931, col: 5, offset: 29603}, run: (*parser).callonDocumentFragment552, expr: &seqExpr{ - pos: position{line: 924, col: 5, offset: 29333}, + pos: position{line: 931, col: 5, offset: 29603}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 924, col: 5, offset: 29333}, + pos: position{line: 931, col: 5, offset: 29603}, label: "start", expr: &actionExpr{ - pos: position{line: 781, col: 5, offset: 25399}, + pos: position{line: 788, col: 5, offset: 25669}, run: (*parser).callonDocumentFragment555, expr: &seqExpr{ - pos: position{line: 781, col: 5, offset: 25399}, + pos: position{line: 788, col: 5, offset: 25669}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 781, col: 5, offset: 25399}, + pos: position{line: 788, col: 5, offset: 25669}, label: "delimiter", expr: &actionExpr{ - pos: position{line: 781, col: 16, offset: 25410}, + pos: position{line: 788, col: 16, offset: 25680}, run: (*parser).callonDocumentFragment558, expr: &seqExpr{ - pos: position{line: 781, col: 16, offset: 25410}, + pos: position{line: 788, col: 16, offset: 25680}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 781, col: 16, offset: 25410}, + pos: position{line: 788, col: 16, offset: 25680}, val: "....", ignoreCase: false, want: "\"....\"", }, &zeroOrMoreExpr{ - pos: position{line: 781, col: 23, offset: 25417}, + pos: position{line: 788, col: 23, offset: 25687}, expr: &litMatcher{ - pos: position{line: 781, col: 23, offset: 25417}, + pos: position{line: 788, col: 23, offset: 25687}, val: ".", ignoreCase: false, want: "\".\"", @@ -6939,12 +6939,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 783, col: 8, offset: 25501}, + pos: position{line: 790, col: 8, offset: 25771}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonDocumentFragment564, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -6953,28 +6953,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonDocumentFragment567, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -6983,9 +6983,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -6995,56 +6995,56 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 925, col: 5, offset: 29372}, + pos: position{line: 932, col: 5, offset: 29642}, run: (*parser).callonDocumentFragment574, }, &labeledExpr{ - pos: position{line: 928, col: 5, offset: 29464}, + pos: position{line: 935, col: 5, offset: 29734}, label: "content", expr: &zeroOrMoreExpr{ - pos: position{line: 943, col: 5, offset: 29862}, + pos: position{line: 950, col: 5, offset: 30132}, expr: &actionExpr{ - pos: position{line: 943, col: 6, offset: 29863}, + pos: position{line: 950, col: 6, offset: 30133}, run: (*parser).callonDocumentFragment577, expr: &seqExpr{ - pos: position{line: 943, col: 6, offset: 29863}, + pos: position{line: 950, col: 6, offset: 30133}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 943, col: 6, offset: 29863}, + pos: position{line: 950, col: 6, offset: 30133}, expr: &choiceExpr{ - pos: position{line: 936, col: 5, offset: 29704}, + pos: position{line: 943, col: 5, offset: 29974}, alternatives: []interface{}{ &seqExpr{ - pos: position{line: 936, col: 5, offset: 29704}, + pos: position{line: 943, col: 5, offset: 29974}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 936, col: 5, offset: 29704}, + pos: position{line: 943, col: 5, offset: 29974}, label: "end", expr: &actionExpr{ - pos: position{line: 781, col: 5, offset: 25399}, + pos: position{line: 788, col: 5, offset: 25669}, run: (*parser).callonDocumentFragment583, expr: &seqExpr{ - pos: position{line: 781, col: 5, offset: 25399}, + pos: position{line: 788, col: 5, offset: 25669}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 781, col: 5, offset: 25399}, + pos: position{line: 788, col: 5, offset: 25669}, label: "delimiter", expr: &actionExpr{ - pos: position{line: 781, col: 16, offset: 25410}, + pos: position{line: 788, col: 16, offset: 25680}, run: (*parser).callonDocumentFragment586, expr: &seqExpr{ - pos: position{line: 781, col: 16, offset: 25410}, + pos: position{line: 788, col: 16, offset: 25680}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 781, col: 16, offset: 25410}, + pos: position{line: 788, col: 16, offset: 25680}, val: "....", ignoreCase: false, want: "\"....\"", }, &zeroOrMoreExpr{ - pos: position{line: 781, col: 23, offset: 25417}, + pos: position{line: 788, col: 23, offset: 25687}, expr: &litMatcher{ - pos: position{line: 781, col: 23, offset: 25417}, + pos: position{line: 788, col: 23, offset: 25687}, val: ".", ignoreCase: false, want: "\".\"", @@ -7055,12 +7055,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 783, col: 8, offset: 25501}, + pos: position{line: 790, col: 8, offset: 25771}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonDocumentFragment592, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -7069,28 +7069,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonDocumentFragment595, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -7099,9 +7099,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -7111,48 +7111,48 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 937, col: 5, offset: 29735}, + pos: position{line: 944, col: 5, offset: 30005}, run: (*parser).callonDocumentFragment602, }, }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, }, }, &labeledExpr{ - pos: position{line: 944, col: 5, offset: 29893}, + pos: position{line: 951, col: 5, offset: 30163}, label: "line", expr: &actionExpr{ - pos: position{line: 809, col: 5, offset: 26395}, + pos: position{line: 816, col: 5, offset: 26665}, run: (*parser).callonDocumentFragment606, expr: &seqExpr{ - pos: position{line: 809, col: 5, offset: 26395}, + pos: position{line: 816, col: 5, offset: 26665}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 809, col: 5, offset: 26395}, + pos: position{line: 816, col: 5, offset: 26665}, expr: ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, &labeledExpr{ - pos: position{line: 810, col: 5, offset: 26468}, + pos: position{line: 817, col: 5, offset: 26738}, label: "content", expr: &actionExpr{ - pos: position{line: 810, col: 14, offset: 26477}, + pos: position{line: 817, col: 14, offset: 26747}, run: (*parser).callonDocumentFragment612, expr: &zeroOrMoreExpr{ - pos: position{line: 810, col: 14, offset: 26477}, + pos: position{line: 817, col: 14, offset: 26747}, expr: &charClassMatcher{ - pos: position{line: 810, col: 14, offset: 26477}, + pos: position{line: 817, col: 14, offset: 26747}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -7162,28 +7162,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonDocumentFragment616, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -7192,9 +7192,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -7209,44 +7209,44 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 929, col: 5, offset: 29498}, + pos: position{line: 936, col: 5, offset: 29768}, label: "end", expr: &zeroOrOneExpr{ - pos: position{line: 929, col: 9, offset: 29502}, + pos: position{line: 936, col: 9, offset: 29772}, expr: &choiceExpr{ - pos: position{line: 936, col: 5, offset: 29704}, + pos: position{line: 943, col: 5, offset: 29974}, alternatives: []interface{}{ &seqExpr{ - pos: position{line: 936, col: 5, offset: 29704}, + pos: position{line: 943, col: 5, offset: 29974}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 936, col: 5, offset: 29704}, + pos: position{line: 943, col: 5, offset: 29974}, label: "end", expr: &actionExpr{ - pos: position{line: 781, col: 5, offset: 25399}, + pos: position{line: 788, col: 5, offset: 25669}, run: (*parser).callonDocumentFragment628, expr: &seqExpr{ - pos: position{line: 781, col: 5, offset: 25399}, + pos: position{line: 788, col: 5, offset: 25669}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 781, col: 5, offset: 25399}, + pos: position{line: 788, col: 5, offset: 25669}, label: "delimiter", expr: &actionExpr{ - pos: position{line: 781, col: 16, offset: 25410}, + pos: position{line: 788, col: 16, offset: 25680}, run: (*parser).callonDocumentFragment631, expr: &seqExpr{ - pos: position{line: 781, col: 16, offset: 25410}, + pos: position{line: 788, col: 16, offset: 25680}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 781, col: 16, offset: 25410}, + pos: position{line: 788, col: 16, offset: 25680}, val: "....", ignoreCase: false, want: "\"....\"", }, &zeroOrMoreExpr{ - pos: position{line: 781, col: 23, offset: 25417}, + pos: position{line: 788, col: 23, offset: 25687}, expr: &litMatcher{ - pos: position{line: 781, col: 23, offset: 25417}, + pos: position{line: 788, col: 23, offset: 25687}, val: ".", ignoreCase: false, want: "\".\"", @@ -7257,12 +7257,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 783, col: 8, offset: 25501}, + pos: position{line: 790, col: 8, offset: 25771}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonDocumentFragment637, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -7271,28 +7271,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonDocumentFragment640, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -7301,9 +7301,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -7313,15 +7313,15 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 937, col: 5, offset: 29735}, + pos: position{line: 944, col: 5, offset: 30005}, run: (*parser).callonDocumentFragment647, }, }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -7332,44 +7332,44 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 975, col: 5, offset: 30776}, + pos: position{line: 982, col: 5, offset: 31046}, run: (*parser).callonDocumentFragment650, expr: &seqExpr{ - pos: position{line: 975, col: 5, offset: 30776}, + pos: position{line: 982, col: 5, offset: 31046}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 975, col: 5, offset: 30776}, + pos: position{line: 982, col: 5, offset: 31046}, label: "firstLine", expr: &actionExpr{ - pos: position{line: 982, col: 5, offset: 31035}, + pos: position{line: 989, col: 5, offset: 31305}, run: (*parser).callonDocumentFragment653, expr: &seqExpr{ - pos: position{line: 982, col: 5, offset: 31035}, + pos: position{line: 989, col: 5, offset: 31305}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 982, col: 5, offset: 31035}, + pos: position{line: 989, col: 5, offset: 31305}, expr: &actionExpr{ - pos: position{line: 683, col: 14, offset: 22042}, + pos: position{line: 690, col: 14, offset: 22312}, run: (*parser).callonDocumentFragment656, expr: &seqExpr{ - pos: position{line: 683, col: 14, offset: 22042}, + pos: position{line: 690, col: 14, offset: 22312}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 683, col: 14, offset: 22042}, + pos: position{line: 690, col: 14, offset: 22312}, expr: ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, &zeroOrMoreExpr{ - pos: position{line: 683, col: 19, offset: 22047}, + pos: position{line: 690, col: 19, offset: 22317}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonDocumentFragment662, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -7378,28 +7378,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonDocumentFragment665, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -7408,9 +7408,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -7420,21 +7420,21 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 983, col: 5, offset: 31050}, + pos: position{line: 990, col: 5, offset: 31320}, val: "> ", ignoreCase: false, want: "\"> \"", }, &labeledExpr{ - pos: position{line: 984, col: 5, offset: 31060}, + pos: position{line: 991, col: 5, offset: 31330}, label: "content", expr: &actionExpr{ - pos: position{line: 984, col: 14, offset: 31069}, + pos: position{line: 991, col: 14, offset: 31339}, run: (*parser).callonDocumentFragment674, expr: &oneOrMoreExpr{ - pos: position{line: 984, col: 15, offset: 31070}, + pos: position{line: 991, col: 15, offset: 31340}, expr: &charClassMatcher{ - pos: position{line: 984, col: 15, offset: 31070}, + pos: position{line: 991, col: 15, offset: 31340}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -7444,28 +7444,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonDocumentFragment678, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -7474,9 +7474,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -7486,43 +7486,43 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 976, col: 5, offset: 30813}, + pos: position{line: 983, col: 5, offset: 31083}, label: "otherLines", expr: &zeroOrMoreExpr{ - pos: position{line: 976, col: 16, offset: 30824}, + pos: position{line: 983, col: 16, offset: 31094}, expr: &choiceExpr{ - pos: position{line: 976, col: 17, offset: 30825}, + pos: position{line: 983, col: 17, offset: 31095}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 982, col: 5, offset: 31035}, + pos: position{line: 989, col: 5, offset: 31305}, run: (*parser).callonDocumentFragment688, expr: &seqExpr{ - pos: position{line: 982, col: 5, offset: 31035}, + pos: position{line: 989, col: 5, offset: 31305}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 982, col: 5, offset: 31035}, + pos: position{line: 989, col: 5, offset: 31305}, expr: &actionExpr{ - pos: position{line: 683, col: 14, offset: 22042}, + pos: position{line: 690, col: 14, offset: 22312}, run: (*parser).callonDocumentFragment691, expr: &seqExpr{ - pos: position{line: 683, col: 14, offset: 22042}, + pos: position{line: 690, col: 14, offset: 22312}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 683, col: 14, offset: 22042}, + pos: position{line: 690, col: 14, offset: 22312}, expr: ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, &zeroOrMoreExpr{ - pos: position{line: 683, col: 19, offset: 22047}, + pos: position{line: 690, col: 19, offset: 22317}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonDocumentFragment697, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -7531,28 +7531,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonDocumentFragment700, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -7561,9 +7561,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -7573,21 +7573,21 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 983, col: 5, offset: 31050}, + pos: position{line: 990, col: 5, offset: 31320}, val: "> ", ignoreCase: false, want: "\"> \"", }, &labeledExpr{ - pos: position{line: 984, col: 5, offset: 31060}, + pos: position{line: 991, col: 5, offset: 31330}, label: "content", expr: &actionExpr{ - pos: position{line: 984, col: 14, offset: 31069}, + pos: position{line: 991, col: 14, offset: 31339}, run: (*parser).callonDocumentFragment709, expr: &oneOrMoreExpr{ - pos: position{line: 984, col: 15, offset: 31070}, + pos: position{line: 991, col: 15, offset: 31340}, expr: &charClassMatcher{ - pos: position{line: 984, col: 15, offset: 31070}, + pos: position{line: 991, col: 15, offset: 31340}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -7597,28 +7597,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonDocumentFragment713, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -7627,9 +7627,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -7638,21 +7638,21 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1850, col: 5, offset: 60767}, + pos: position{line: 1857, col: 5, offset: 61022}, run: (*parser).callonDocumentFragment720, expr: &seqExpr{ - pos: position{line: 1850, col: 5, offset: 60767}, + pos: position{line: 1857, col: 5, offset: 61022}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1850, col: 5, offset: 60767}, + pos: position{line: 1857, col: 5, offset: 61022}, label: "content", expr: &actionExpr{ - pos: position{line: 1850, col: 14, offset: 60776}, + pos: position{line: 1857, col: 14, offset: 61031}, run: (*parser).callonDocumentFragment723, expr: &oneOrMoreExpr{ - pos: position{line: 1850, col: 14, offset: 60776}, + pos: position{line: 1857, col: 14, offset: 61031}, expr: &charClassMatcher{ - pos: position{line: 1850, col: 14, offset: 60776}, + pos: position{line: 1857, col: 14, offset: 61031}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -7662,32 +7662,32 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1853, col: 5, offset: 60883}, + pos: position{line: 1860, col: 5, offset: 61138}, run: (*parser).callonDocumentFragment726, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonDocumentFragment728, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -7696,9 +7696,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -7714,39 +7714,39 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1001, col: 5, offset: 31428}, + pos: position{line: 1008, col: 5, offset: 31698}, run: (*parser).callonDocumentFragment735, expr: &seqExpr{ - pos: position{line: 1001, col: 5, offset: 31428}, + pos: position{line: 1008, col: 5, offset: 31698}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1001, col: 5, offset: 31428}, + pos: position{line: 1008, col: 5, offset: 31698}, label: "start", expr: &actionExpr{ - pos: position{line: 788, col: 5, offset: 25651}, + pos: position{line: 795, col: 5, offset: 25921}, run: (*parser).callonDocumentFragment738, expr: &seqExpr{ - pos: position{line: 788, col: 5, offset: 25651}, + pos: position{line: 795, col: 5, offset: 25921}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 788, col: 5, offset: 25651}, + pos: position{line: 795, col: 5, offset: 25921}, label: "delimiter", expr: &actionExpr{ - pos: position{line: 788, col: 16, offset: 25662}, + pos: position{line: 795, col: 16, offset: 25932}, run: (*parser).callonDocumentFragment741, expr: &seqExpr{ - pos: position{line: 788, col: 16, offset: 25662}, + pos: position{line: 795, col: 16, offset: 25932}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 788, col: 16, offset: 25662}, + pos: position{line: 795, col: 16, offset: 25932}, val: "++++", ignoreCase: false, want: "\"++++\"", }, &zeroOrMoreExpr{ - pos: position{line: 788, col: 23, offset: 25669}, + pos: position{line: 795, col: 23, offset: 25939}, expr: &litMatcher{ - pos: position{line: 788, col: 23, offset: 25669}, + pos: position{line: 795, col: 23, offset: 25939}, val: "+", ignoreCase: false, want: "\"+\"", @@ -7757,12 +7757,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 790, col: 8, offset: 25753}, + pos: position{line: 797, col: 8, offset: 26023}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonDocumentFragment747, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -7771,28 +7771,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonDocumentFragment750, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -7801,9 +7801,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -7813,56 +7813,56 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1002, col: 5, offset: 31471}, + pos: position{line: 1009, col: 5, offset: 31741}, run: (*parser).callonDocumentFragment757, }, &labeledExpr{ - pos: position{line: 1005, col: 5, offset: 31563}, + pos: position{line: 1012, col: 5, offset: 31833}, label: "content", expr: &zeroOrMoreExpr{ - pos: position{line: 1020, col: 5, offset: 31993}, + pos: position{line: 1027, col: 5, offset: 32263}, expr: &actionExpr{ - pos: position{line: 1020, col: 6, offset: 31994}, + pos: position{line: 1027, col: 6, offset: 32264}, run: (*parser).callonDocumentFragment760, expr: &seqExpr{ - pos: position{line: 1020, col: 6, offset: 31994}, + pos: position{line: 1027, col: 6, offset: 32264}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 1020, col: 6, offset: 31994}, + pos: position{line: 1027, col: 6, offset: 32264}, expr: &choiceExpr{ - pos: position{line: 1013, col: 5, offset: 31827}, + pos: position{line: 1020, col: 5, offset: 32097}, alternatives: []interface{}{ &seqExpr{ - pos: position{line: 1013, col: 5, offset: 31827}, + pos: position{line: 1020, col: 5, offset: 32097}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1013, col: 5, offset: 31827}, + pos: position{line: 1020, col: 5, offset: 32097}, label: "end", expr: &actionExpr{ - pos: position{line: 788, col: 5, offset: 25651}, + pos: position{line: 795, col: 5, offset: 25921}, run: (*parser).callonDocumentFragment766, expr: &seqExpr{ - pos: position{line: 788, col: 5, offset: 25651}, + pos: position{line: 795, col: 5, offset: 25921}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 788, col: 5, offset: 25651}, + pos: position{line: 795, col: 5, offset: 25921}, label: "delimiter", expr: &actionExpr{ - pos: position{line: 788, col: 16, offset: 25662}, + pos: position{line: 795, col: 16, offset: 25932}, run: (*parser).callonDocumentFragment769, expr: &seqExpr{ - pos: position{line: 788, col: 16, offset: 25662}, + pos: position{line: 795, col: 16, offset: 25932}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 788, col: 16, offset: 25662}, + pos: position{line: 795, col: 16, offset: 25932}, val: "++++", ignoreCase: false, want: "\"++++\"", }, &zeroOrMoreExpr{ - pos: position{line: 788, col: 23, offset: 25669}, + pos: position{line: 795, col: 23, offset: 25939}, expr: &litMatcher{ - pos: position{line: 788, col: 23, offset: 25669}, + pos: position{line: 795, col: 23, offset: 25939}, val: "+", ignoreCase: false, want: "\"+\"", @@ -7873,12 +7873,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 790, col: 8, offset: 25753}, + pos: position{line: 797, col: 8, offset: 26023}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonDocumentFragment775, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -7887,28 +7887,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonDocumentFragment778, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -7917,9 +7917,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -7929,48 +7929,48 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1014, col: 5, offset: 31862}, + pos: position{line: 1021, col: 5, offset: 32132}, run: (*parser).callonDocumentFragment785, }, }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, }, }, &labeledExpr{ - pos: position{line: 1021, col: 5, offset: 32028}, + pos: position{line: 1028, col: 5, offset: 32298}, label: "line", expr: &actionExpr{ - pos: position{line: 809, col: 5, offset: 26395}, + pos: position{line: 816, col: 5, offset: 26665}, run: (*parser).callonDocumentFragment789, expr: &seqExpr{ - pos: position{line: 809, col: 5, offset: 26395}, + pos: position{line: 816, col: 5, offset: 26665}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 809, col: 5, offset: 26395}, + pos: position{line: 816, col: 5, offset: 26665}, expr: ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, &labeledExpr{ - pos: position{line: 810, col: 5, offset: 26468}, + pos: position{line: 817, col: 5, offset: 26738}, label: "content", expr: &actionExpr{ - pos: position{line: 810, col: 14, offset: 26477}, + pos: position{line: 817, col: 14, offset: 26747}, run: (*parser).callonDocumentFragment795, expr: &zeroOrMoreExpr{ - pos: position{line: 810, col: 14, offset: 26477}, + pos: position{line: 817, col: 14, offset: 26747}, expr: &charClassMatcher{ - pos: position{line: 810, col: 14, offset: 26477}, + pos: position{line: 817, col: 14, offset: 26747}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -7980,28 +7980,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonDocumentFragment799, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -8010,9 +8010,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -8027,44 +8027,44 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1006, col: 5, offset: 31601}, + pos: position{line: 1013, col: 5, offset: 31871}, label: "end", expr: &zeroOrOneExpr{ - pos: position{line: 1006, col: 9, offset: 31605}, + pos: position{line: 1013, col: 9, offset: 31875}, expr: &choiceExpr{ - pos: position{line: 1013, col: 5, offset: 31827}, + pos: position{line: 1020, col: 5, offset: 32097}, alternatives: []interface{}{ &seqExpr{ - pos: position{line: 1013, col: 5, offset: 31827}, + pos: position{line: 1020, col: 5, offset: 32097}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1013, col: 5, offset: 31827}, + pos: position{line: 1020, col: 5, offset: 32097}, label: "end", expr: &actionExpr{ - pos: position{line: 788, col: 5, offset: 25651}, + pos: position{line: 795, col: 5, offset: 25921}, run: (*parser).callonDocumentFragment811, expr: &seqExpr{ - pos: position{line: 788, col: 5, offset: 25651}, + pos: position{line: 795, col: 5, offset: 25921}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 788, col: 5, offset: 25651}, + pos: position{line: 795, col: 5, offset: 25921}, label: "delimiter", expr: &actionExpr{ - pos: position{line: 788, col: 16, offset: 25662}, + pos: position{line: 795, col: 16, offset: 25932}, run: (*parser).callonDocumentFragment814, expr: &seqExpr{ - pos: position{line: 788, col: 16, offset: 25662}, + pos: position{line: 795, col: 16, offset: 25932}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 788, col: 16, offset: 25662}, + pos: position{line: 795, col: 16, offset: 25932}, val: "++++", ignoreCase: false, want: "\"++++\"", }, &zeroOrMoreExpr{ - pos: position{line: 788, col: 23, offset: 25669}, + pos: position{line: 795, col: 23, offset: 25939}, expr: &litMatcher{ - pos: position{line: 788, col: 23, offset: 25669}, + pos: position{line: 795, col: 23, offset: 25939}, val: "+", ignoreCase: false, want: "\"+\"", @@ -8075,12 +8075,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 790, col: 8, offset: 25753}, + pos: position{line: 797, col: 8, offset: 26023}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonDocumentFragment820, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -8089,28 +8089,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonDocumentFragment823, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -8119,9 +8119,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -8131,15 +8131,15 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1014, col: 5, offset: 31862}, + pos: position{line: 1021, col: 5, offset: 32132}, run: (*parser).callonDocumentFragment830, }, }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -8150,39 +8150,39 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1029, col: 5, offset: 32179}, + pos: position{line: 1036, col: 5, offset: 32449}, run: (*parser).callonDocumentFragment833, expr: &seqExpr{ - pos: position{line: 1029, col: 5, offset: 32179}, + pos: position{line: 1036, col: 5, offset: 32449}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1029, col: 5, offset: 32179}, + pos: position{line: 1036, col: 5, offset: 32449}, label: "start", expr: &actionExpr{ - pos: position{line: 795, col: 5, offset: 25901}, + pos: position{line: 802, col: 5, offset: 26171}, run: (*parser).callonDocumentFragment836, expr: &seqExpr{ - pos: position{line: 795, col: 5, offset: 25901}, + pos: position{line: 802, col: 5, offset: 26171}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 795, col: 5, offset: 25901}, + pos: position{line: 802, col: 5, offset: 26171}, label: "delimiter", expr: &actionExpr{ - pos: position{line: 795, col: 16, offset: 25912}, + pos: position{line: 802, col: 16, offset: 26182}, run: (*parser).callonDocumentFragment839, expr: &seqExpr{ - pos: position{line: 795, col: 16, offset: 25912}, + pos: position{line: 802, col: 16, offset: 26182}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 795, col: 16, offset: 25912}, + pos: position{line: 802, col: 16, offset: 26182}, val: "____", ignoreCase: false, want: "\"____\"", }, &zeroOrMoreExpr{ - pos: position{line: 795, col: 23, offset: 25919}, + pos: position{line: 802, col: 23, offset: 26189}, expr: &litMatcher{ - pos: position{line: 795, col: 23, offset: 25919}, + pos: position{line: 802, col: 23, offset: 26189}, val: "_", ignoreCase: false, want: "\"_\"", @@ -8193,12 +8193,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 797, col: 8, offset: 26003}, + pos: position{line: 804, col: 8, offset: 26273}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonDocumentFragment845, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -8207,28 +8207,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonDocumentFragment848, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -8237,9 +8237,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -8249,56 +8249,56 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1030, col: 5, offset: 32216}, + pos: position{line: 1037, col: 5, offset: 32486}, run: (*parser).callonDocumentFragment855, }, &labeledExpr{ - pos: position{line: 1033, col: 5, offset: 32308}, + pos: position{line: 1040, col: 5, offset: 32578}, label: "content", expr: &zeroOrMoreExpr{ - pos: position{line: 1048, col: 4, offset: 32689}, + pos: position{line: 1055, col: 4, offset: 32959}, expr: &actionExpr{ - pos: position{line: 1048, col: 5, offset: 32690}, + pos: position{line: 1055, col: 5, offset: 32960}, run: (*parser).callonDocumentFragment858, expr: &seqExpr{ - pos: position{line: 1048, col: 5, offset: 32690}, + pos: position{line: 1055, col: 5, offset: 32960}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 1048, col: 5, offset: 32690}, + pos: position{line: 1055, col: 5, offset: 32960}, expr: &choiceExpr{ - pos: position{line: 1041, col: 5, offset: 32536}, + pos: position{line: 1048, col: 5, offset: 32806}, alternatives: []interface{}{ &seqExpr{ - pos: position{line: 1041, col: 5, offset: 32536}, + pos: position{line: 1048, col: 5, offset: 32806}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1041, col: 5, offset: 32536}, + pos: position{line: 1048, col: 5, offset: 32806}, label: "end", expr: &actionExpr{ - pos: position{line: 795, col: 5, offset: 25901}, + pos: position{line: 802, col: 5, offset: 26171}, run: (*parser).callonDocumentFragment864, expr: &seqExpr{ - pos: position{line: 795, col: 5, offset: 25901}, + pos: position{line: 802, col: 5, offset: 26171}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 795, col: 5, offset: 25901}, + pos: position{line: 802, col: 5, offset: 26171}, label: "delimiter", expr: &actionExpr{ - pos: position{line: 795, col: 16, offset: 25912}, + pos: position{line: 802, col: 16, offset: 26182}, run: (*parser).callonDocumentFragment867, expr: &seqExpr{ - pos: position{line: 795, col: 16, offset: 25912}, + pos: position{line: 802, col: 16, offset: 26182}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 795, col: 16, offset: 25912}, + pos: position{line: 802, col: 16, offset: 26182}, val: "____", ignoreCase: false, want: "\"____\"", }, &zeroOrMoreExpr{ - pos: position{line: 795, col: 23, offset: 25919}, + pos: position{line: 802, col: 23, offset: 26189}, expr: &litMatcher{ - pos: position{line: 795, col: 23, offset: 25919}, + pos: position{line: 802, col: 23, offset: 26189}, val: "_", ignoreCase: false, want: "\"_\"", @@ -8309,12 +8309,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 797, col: 8, offset: 26003}, + pos: position{line: 804, col: 8, offset: 26273}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonDocumentFragment873, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -8323,28 +8323,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonDocumentFragment876, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -8353,9 +8353,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -8365,48 +8365,48 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1042, col: 5, offset: 32565}, + pos: position{line: 1049, col: 5, offset: 32835}, run: (*parser).callonDocumentFragment883, }, }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, }, }, &labeledExpr{ - pos: position{line: 1049, col: 5, offset: 32718}, + pos: position{line: 1056, col: 5, offset: 32988}, label: "line", expr: &actionExpr{ - pos: position{line: 809, col: 5, offset: 26395}, + pos: position{line: 816, col: 5, offset: 26665}, run: (*parser).callonDocumentFragment887, expr: &seqExpr{ - pos: position{line: 809, col: 5, offset: 26395}, + pos: position{line: 816, col: 5, offset: 26665}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 809, col: 5, offset: 26395}, + pos: position{line: 816, col: 5, offset: 26665}, expr: ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, &labeledExpr{ - pos: position{line: 810, col: 5, offset: 26468}, + pos: position{line: 817, col: 5, offset: 26738}, label: "content", expr: &actionExpr{ - pos: position{line: 810, col: 14, offset: 26477}, + pos: position{line: 817, col: 14, offset: 26747}, run: (*parser).callonDocumentFragment893, expr: &zeroOrMoreExpr{ - pos: position{line: 810, col: 14, offset: 26477}, + pos: position{line: 817, col: 14, offset: 26747}, expr: &charClassMatcher{ - pos: position{line: 810, col: 14, offset: 26477}, + pos: position{line: 817, col: 14, offset: 26747}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -8416,28 +8416,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonDocumentFragment897, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -8446,9 +8446,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -8463,44 +8463,44 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1034, col: 5, offset: 32340}, + pos: position{line: 1041, col: 5, offset: 32610}, label: "end", expr: &zeroOrOneExpr{ - pos: position{line: 1034, col: 9, offset: 32344}, + pos: position{line: 1041, col: 9, offset: 32614}, expr: &choiceExpr{ - pos: position{line: 1041, col: 5, offset: 32536}, + pos: position{line: 1048, col: 5, offset: 32806}, alternatives: []interface{}{ &seqExpr{ - pos: position{line: 1041, col: 5, offset: 32536}, + pos: position{line: 1048, col: 5, offset: 32806}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1041, col: 5, offset: 32536}, + pos: position{line: 1048, col: 5, offset: 32806}, label: "end", expr: &actionExpr{ - pos: position{line: 795, col: 5, offset: 25901}, + pos: position{line: 802, col: 5, offset: 26171}, run: (*parser).callonDocumentFragment909, expr: &seqExpr{ - pos: position{line: 795, col: 5, offset: 25901}, + pos: position{line: 802, col: 5, offset: 26171}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 795, col: 5, offset: 25901}, + pos: position{line: 802, col: 5, offset: 26171}, label: "delimiter", expr: &actionExpr{ - pos: position{line: 795, col: 16, offset: 25912}, + pos: position{line: 802, col: 16, offset: 26182}, run: (*parser).callonDocumentFragment912, expr: &seqExpr{ - pos: position{line: 795, col: 16, offset: 25912}, + pos: position{line: 802, col: 16, offset: 26182}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 795, col: 16, offset: 25912}, + pos: position{line: 802, col: 16, offset: 26182}, val: "____", ignoreCase: false, want: "\"____\"", }, &zeroOrMoreExpr{ - pos: position{line: 795, col: 23, offset: 25919}, + pos: position{line: 802, col: 23, offset: 26189}, expr: &litMatcher{ - pos: position{line: 795, col: 23, offset: 25919}, + pos: position{line: 802, col: 23, offset: 26189}, val: "_", ignoreCase: false, want: "\"_\"", @@ -8511,12 +8511,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 797, col: 8, offset: 26003}, + pos: position{line: 804, col: 8, offset: 26273}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonDocumentFragment918, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -8525,28 +8525,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonDocumentFragment921, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -8555,9 +8555,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -8567,15 +8567,15 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1042, col: 5, offset: 32565}, + pos: position{line: 1049, col: 5, offset: 32835}, run: (*parser).callonDocumentFragment928, }, }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -8586,39 +8586,39 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1057, col: 5, offset: 32873}, + pos: position{line: 1064, col: 5, offset: 33143}, run: (*parser).callonDocumentFragment931, expr: &seqExpr{ - pos: position{line: 1057, col: 5, offset: 32873}, + pos: position{line: 1064, col: 5, offset: 33143}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1057, col: 5, offset: 32873}, + pos: position{line: 1064, col: 5, offset: 33143}, label: "start", expr: &actionExpr{ - pos: position{line: 802, col: 5, offset: 26147}, + pos: position{line: 809, col: 5, offset: 26417}, run: (*parser).callonDocumentFragment934, expr: &seqExpr{ - pos: position{line: 802, col: 5, offset: 26147}, + pos: position{line: 809, col: 5, offset: 26417}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 802, col: 5, offset: 26147}, + pos: position{line: 809, col: 5, offset: 26417}, label: "delimiter", expr: &actionExpr{ - pos: position{line: 802, col: 16, offset: 26158}, + pos: position{line: 809, col: 16, offset: 26428}, run: (*parser).callonDocumentFragment937, expr: &seqExpr{ - pos: position{line: 802, col: 16, offset: 26158}, + pos: position{line: 809, col: 16, offset: 26428}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 802, col: 16, offset: 26158}, + pos: position{line: 809, col: 16, offset: 26428}, val: "****", ignoreCase: false, want: "\"****\"", }, &zeroOrMoreExpr{ - pos: position{line: 802, col: 23, offset: 26165}, + pos: position{line: 809, col: 23, offset: 26435}, expr: &litMatcher{ - pos: position{line: 802, col: 23, offset: 26165}, + pos: position{line: 809, col: 23, offset: 26435}, val: "*", ignoreCase: false, want: "\"*\"", @@ -8629,12 +8629,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 804, col: 8, offset: 26249}, + pos: position{line: 811, col: 8, offset: 26519}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonDocumentFragment943, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -8643,28 +8643,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonDocumentFragment946, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -8673,9 +8673,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -8685,56 +8685,56 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1058, col: 5, offset: 32912}, + pos: position{line: 1065, col: 5, offset: 33182}, run: (*parser).callonDocumentFragment953, }, &labeledExpr{ - pos: position{line: 1061, col: 5, offset: 33004}, + pos: position{line: 1068, col: 5, offset: 33274}, label: "content", expr: &zeroOrMoreExpr{ - pos: position{line: 1076, col: 4, offset: 33401}, + pos: position{line: 1083, col: 4, offset: 33671}, expr: &actionExpr{ - pos: position{line: 1076, col: 5, offset: 33402}, + pos: position{line: 1083, col: 5, offset: 33672}, run: (*parser).callonDocumentFragment956, expr: &seqExpr{ - pos: position{line: 1076, col: 5, offset: 33402}, + pos: position{line: 1083, col: 5, offset: 33672}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 1076, col: 5, offset: 33402}, + pos: position{line: 1083, col: 5, offset: 33672}, expr: &choiceExpr{ - pos: position{line: 1069, col: 5, offset: 33244}, + pos: position{line: 1076, col: 5, offset: 33514}, alternatives: []interface{}{ &seqExpr{ - pos: position{line: 1069, col: 5, offset: 33244}, + pos: position{line: 1076, col: 5, offset: 33514}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1069, col: 5, offset: 33244}, + pos: position{line: 1076, col: 5, offset: 33514}, label: "end", expr: &actionExpr{ - pos: position{line: 802, col: 5, offset: 26147}, + pos: position{line: 809, col: 5, offset: 26417}, run: (*parser).callonDocumentFragment962, expr: &seqExpr{ - pos: position{line: 802, col: 5, offset: 26147}, + pos: position{line: 809, col: 5, offset: 26417}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 802, col: 5, offset: 26147}, + pos: position{line: 809, col: 5, offset: 26417}, label: "delimiter", expr: &actionExpr{ - pos: position{line: 802, col: 16, offset: 26158}, + pos: position{line: 809, col: 16, offset: 26428}, run: (*parser).callonDocumentFragment965, expr: &seqExpr{ - pos: position{line: 802, col: 16, offset: 26158}, + pos: position{line: 809, col: 16, offset: 26428}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 802, col: 16, offset: 26158}, + pos: position{line: 809, col: 16, offset: 26428}, val: "****", ignoreCase: false, want: "\"****\"", }, &zeroOrMoreExpr{ - pos: position{line: 802, col: 23, offset: 26165}, + pos: position{line: 809, col: 23, offset: 26435}, expr: &litMatcher{ - pos: position{line: 802, col: 23, offset: 26165}, + pos: position{line: 809, col: 23, offset: 26435}, val: "*", ignoreCase: false, want: "\"*\"", @@ -8745,12 +8745,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 804, col: 8, offset: 26249}, + pos: position{line: 811, col: 8, offset: 26519}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonDocumentFragment971, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -8759,28 +8759,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonDocumentFragment974, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -8789,9 +8789,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -8801,48 +8801,48 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1070, col: 5, offset: 33275}, + pos: position{line: 1077, col: 5, offset: 33545}, run: (*parser).callonDocumentFragment981, }, }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, }, }, &labeledExpr{ - pos: position{line: 1077, col: 5, offset: 33432}, + pos: position{line: 1084, col: 5, offset: 33702}, label: "line", expr: &actionExpr{ - pos: position{line: 809, col: 5, offset: 26395}, + pos: position{line: 816, col: 5, offset: 26665}, run: (*parser).callonDocumentFragment985, expr: &seqExpr{ - pos: position{line: 809, col: 5, offset: 26395}, + pos: position{line: 816, col: 5, offset: 26665}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 809, col: 5, offset: 26395}, + pos: position{line: 816, col: 5, offset: 26665}, expr: ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, &labeledExpr{ - pos: position{line: 810, col: 5, offset: 26468}, + pos: position{line: 817, col: 5, offset: 26738}, label: "content", expr: &actionExpr{ - pos: position{line: 810, col: 14, offset: 26477}, + pos: position{line: 817, col: 14, offset: 26747}, run: (*parser).callonDocumentFragment991, expr: &zeroOrMoreExpr{ - pos: position{line: 810, col: 14, offset: 26477}, + pos: position{line: 817, col: 14, offset: 26747}, expr: &charClassMatcher{ - pos: position{line: 810, col: 14, offset: 26477}, + pos: position{line: 817, col: 14, offset: 26747}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -8852,28 +8852,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonDocumentFragment995, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -8882,9 +8882,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -8899,44 +8899,44 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1062, col: 5, offset: 33038}, + pos: position{line: 1069, col: 5, offset: 33308}, label: "end", expr: &zeroOrOneExpr{ - pos: position{line: 1062, col: 9, offset: 33042}, + pos: position{line: 1069, col: 9, offset: 33312}, expr: &choiceExpr{ - pos: position{line: 1069, col: 5, offset: 33244}, + pos: position{line: 1076, col: 5, offset: 33514}, alternatives: []interface{}{ &seqExpr{ - pos: position{line: 1069, col: 5, offset: 33244}, + pos: position{line: 1076, col: 5, offset: 33514}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1069, col: 5, offset: 33244}, + pos: position{line: 1076, col: 5, offset: 33514}, label: "end", expr: &actionExpr{ - pos: position{line: 802, col: 5, offset: 26147}, + pos: position{line: 809, col: 5, offset: 26417}, run: (*parser).callonDocumentFragment1007, expr: &seqExpr{ - pos: position{line: 802, col: 5, offset: 26147}, + pos: position{line: 809, col: 5, offset: 26417}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 802, col: 5, offset: 26147}, + pos: position{line: 809, col: 5, offset: 26417}, label: "delimiter", expr: &actionExpr{ - pos: position{line: 802, col: 16, offset: 26158}, + pos: position{line: 809, col: 16, offset: 26428}, run: (*parser).callonDocumentFragment1010, expr: &seqExpr{ - pos: position{line: 802, col: 16, offset: 26158}, + pos: position{line: 809, col: 16, offset: 26428}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 802, col: 16, offset: 26158}, + pos: position{line: 809, col: 16, offset: 26428}, val: "****", ignoreCase: false, want: "\"****\"", }, &zeroOrMoreExpr{ - pos: position{line: 802, col: 23, offset: 26165}, + pos: position{line: 809, col: 23, offset: 26435}, expr: &litMatcher{ - pos: position{line: 802, col: 23, offset: 26165}, + pos: position{line: 809, col: 23, offset: 26435}, val: "*", ignoreCase: false, want: "\"*\"", @@ -8947,12 +8947,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 804, col: 8, offset: 26249}, + pos: position{line: 811, col: 8, offset: 26519}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonDocumentFragment1016, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -8961,28 +8961,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonDocumentFragment1019, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -8991,9 +8991,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -9003,15 +9003,15 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1070, col: 5, offset: 33275}, + pos: position{line: 1077, col: 5, offset: 33545}, run: (*parser).callonDocumentFragment1026, }, }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -9022,52 +9022,52 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 3045, col: 18, offset: 99184}, + pos: position{line: 2941, col: 18, offset: 95821}, run: (*parser).callonDocumentFragment1029, expr: &seqExpr{ - pos: position{line: 3045, col: 18, offset: 99184}, + pos: position{line: 2941, col: 18, offset: 95821}, exprs: []interface{}{ &choiceExpr{ - pos: position{line: 3046, col: 9, offset: 99194}, + pos: position{line: 2942, col: 9, offset: 95831}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3046, col: 9, offset: 99194}, + pos: position{line: 2942, col: 9, offset: 95831}, val: "'''", ignoreCase: false, want: "\"'''\"", }, &litMatcher{ - pos: position{line: 3047, col: 11, offset: 99230}, + pos: position{line: 2943, col: 11, offset: 95867}, val: "***", ignoreCase: false, want: "\"***\"", }, &litMatcher{ - pos: position{line: 3047, col: 19, offset: 99238}, + pos: position{line: 2943, col: 19, offset: 95875}, val: "* * *", ignoreCase: false, want: "\"* * *\"", }, &litMatcher{ - pos: position{line: 3047, col: 29, offset: 99248}, + pos: position{line: 2943, col: 29, offset: 95885}, val: "---", ignoreCase: false, want: "\"---\"", }, &litMatcher{ - pos: position{line: 3047, col: 37, offset: 99256}, + pos: position{line: 2943, col: 37, offset: 95893}, val: "- - -", ignoreCase: false, want: "\"- - -\"", }, &litMatcher{ - pos: position{line: 3047, col: 47, offset: 99266}, + pos: position{line: 2943, col: 47, offset: 95903}, val: "___", ignoreCase: false, want: "\"___\"", }, &litMatcher{ - pos: position{line: 3047, col: 55, offset: 99274}, + pos: position{line: 2943, col: 55, offset: 95911}, val: "_ _ _", ignoreCase: false, want: "\"_ _ _\"", @@ -9075,12 +9075,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 3048, col: 11, offset: 99332}, + pos: position{line: 2944, col: 11, offset: 95969}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonDocumentFragment1040, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -9089,28 +9089,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonDocumentFragment1043, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -9119,36 +9119,36 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonDocumentFragment1051, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -9157,9 +9157,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -9172,24 +9172,24 @@ var g = &grammar{ name: "ListElements", }, &actionExpr{ - pos: position{line: 2943, col: 5, offset: 96313}, + pos: position{line: 2839, col: 5, offset: 92950}, run: (*parser).callonDocumentFragment1059, expr: &seqExpr{ - pos: position{line: 2943, col: 5, offset: 96313}, + pos: position{line: 2839, col: 5, offset: 92950}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2951, col: 19, offset: 96490}, + pos: position{line: 2847, col: 19, offset: 93127}, val: "|===", ignoreCase: false, want: "\"|===\"", }, &zeroOrMoreExpr{ - pos: position{line: 2951, col: 26, offset: 96497}, + pos: position{line: 2847, col: 26, offset: 93134}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonDocumentFragment1063, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -9198,28 +9198,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonDocumentFragment1066, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -9228,48 +9228,48 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, }, &labeledExpr{ - pos: position{line: 2944, col: 5, offset: 96337}, + pos: position{line: 2840, col: 5, offset: 92974}, label: "header", expr: &zeroOrOneExpr{ - pos: position{line: 2944, col: 12, offset: 96344}, + pos: position{line: 2840, col: 12, offset: 92981}, expr: &actionExpr{ - pos: position{line: 2959, col: 5, offset: 96657}, + pos: position{line: 2855, col: 5, offset: 93294}, run: (*parser).callonDocumentFragment1075, expr: &seqExpr{ - pos: position{line: 2959, col: 5, offset: 96657}, + pos: position{line: 2855, col: 5, offset: 93294}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 2959, col: 5, offset: 96657}, + pos: position{line: 2855, col: 5, offset: 93294}, label: "cells", expr: &oneOrMoreExpr{ - pos: position{line: 2959, col: 11, offset: 96663}, + pos: position{line: 2855, col: 11, offset: 93300}, expr: &actionExpr{ - pos: position{line: 2965, col: 5, offset: 96780}, + pos: position{line: 2861, col: 5, offset: 93417}, run: (*parser).callonDocumentFragment1079, expr: &seqExpr{ - pos: position{line: 2965, col: 5, offset: 96780}, + pos: position{line: 2861, col: 5, offset: 93417}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2965, col: 5, offset: 96780}, + pos: position{line: 2861, col: 5, offset: 93417}, val: "|", ignoreCase: false, want: "\"|\"", }, &zeroOrMoreExpr{ - pos: position{line: 2965, col: 9, offset: 96784}, + pos: position{line: 2861, col: 9, offset: 93421}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonDocumentFragment1083, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -9278,23 +9278,23 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 2966, col: 5, offset: 96796}, + pos: position{line: 2862, col: 5, offset: 93433}, label: "content", expr: &zeroOrOneExpr{ - pos: position{line: 2966, col: 14, offset: 96805}, + pos: position{line: 2862, col: 14, offset: 93442}, expr: &actionExpr{ - pos: position{line: 2998, col: 5, offset: 97593}, + pos: position{line: 2894, col: 5, offset: 94230}, run: (*parser).callonDocumentFragment1087, expr: &labeledExpr{ - pos: position{line: 2998, col: 5, offset: 97593}, + pos: position{line: 2894, col: 5, offset: 94230}, label: "content", expr: &actionExpr{ - pos: position{line: 2998, col: 14, offset: 97602}, + pos: position{line: 2894, col: 14, offset: 94239}, run: (*parser).callonDocumentFragment1089, expr: &oneOrMoreExpr{ - pos: position{line: 2998, col: 14, offset: 97602}, + pos: position{line: 2894, col: 14, offset: 94239}, expr: &charClassMatcher{ - pos: position{line: 2998, col: 14, offset: 97602}, + pos: position{line: 2894, col: 14, offset: 94239}, val: "[^\\r\\n|]", chars: []rune{'\r', '\n', '|'}, ignoreCase: false, @@ -9312,28 +9312,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonDocumentFragment1093, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -9342,37 +9342,37 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, }, &oneOrMoreExpr{ - pos: position{line: 2960, col: 5, offset: 96685}, + pos: position{line: 2856, col: 5, offset: 93322}, expr: &actionExpr{ - pos: position{line: 683, col: 14, offset: 22042}, + pos: position{line: 690, col: 14, offset: 22312}, run: (*parser).callonDocumentFragment1101, expr: &seqExpr{ - pos: position{line: 683, col: 14, offset: 22042}, + pos: position{line: 690, col: 14, offset: 22312}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 683, col: 14, offset: 22042}, + pos: position{line: 690, col: 14, offset: 22312}, expr: ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, &zeroOrMoreExpr{ - pos: position{line: 683, col: 19, offset: 22047}, + pos: position{line: 690, col: 19, offset: 22317}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonDocumentFragment1107, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -9381,28 +9381,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonDocumentFragment1110, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -9411,9 +9411,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -9428,40 +9428,40 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 2945, col: 5, offset: 96363}, + pos: position{line: 2841, col: 5, offset: 93000}, label: "rows", expr: &zeroOrMoreExpr{ - pos: position{line: 2945, col: 10, offset: 96368}, + pos: position{line: 2841, col: 10, offset: 93005}, expr: &choiceExpr{ - pos: position{line: 2970, col: 13, offset: 96902}, + pos: position{line: 2866, col: 13, offset: 93539}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2980, col: 5, offset: 97121}, + pos: position{line: 2876, col: 5, offset: 93758}, run: (*parser).callonDocumentFragment1120, expr: &seqExpr{ - pos: position{line: 2980, col: 5, offset: 97121}, + pos: position{line: 2876, col: 5, offset: 93758}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 2980, col: 5, offset: 97121}, + pos: position{line: 2876, col: 5, offset: 93758}, expr: &choiceExpr{ - pos: position{line: 2955, col: 22, offset: 96570}, + pos: position{line: 2851, col: 22, offset: 93207}, alternatives: []interface{}{ &seqExpr{ - pos: position{line: 2951, col: 19, offset: 96490}, + pos: position{line: 2847, col: 19, offset: 93127}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2951, col: 19, offset: 96490}, + pos: position{line: 2847, col: 19, offset: 93127}, val: "|===", ignoreCase: false, want: "\"|===\"", }, &zeroOrMoreExpr{ - pos: position{line: 2951, col: 26, offset: 96497}, + pos: position{line: 2847, col: 26, offset: 93134}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonDocumentFragment1127, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -9470,28 +9470,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonDocumentFragment1130, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -9500,9 +9500,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -9510,55 +9510,55 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, }, }, &labeledExpr{ - pos: position{line: 2981, col: 5, offset: 97144}, + pos: position{line: 2877, col: 5, offset: 93781}, label: "cells", expr: &oneOrMoreExpr{ - pos: position{line: 2981, col: 11, offset: 97150}, + pos: position{line: 2877, col: 11, offset: 93787}, expr: &actionExpr{ - pos: position{line: 2981, col: 12, offset: 97151}, + pos: position{line: 2877, col: 12, offset: 93788}, run: (*parser).callonDocumentFragment1141, expr: &seqExpr{ - pos: position{line: 2981, col: 12, offset: 97151}, + pos: position{line: 2877, col: 12, offset: 93788}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 2981, col: 12, offset: 97151}, + pos: position{line: 2877, col: 12, offset: 93788}, label: "cell", expr: &actionExpr{ - pos: position{line: 2990, col: 5, offset: 97392}, + pos: position{line: 2886, col: 5, offset: 94029}, run: (*parser).callonDocumentFragment1144, expr: &seqExpr{ - pos: position{line: 2990, col: 5, offset: 97392}, + pos: position{line: 2886, col: 5, offset: 94029}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 2990, col: 5, offset: 97392}, + pos: position{line: 2886, col: 5, offset: 94029}, expr: &choiceExpr{ - pos: position{line: 2955, col: 22, offset: 96570}, + pos: position{line: 2851, col: 22, offset: 93207}, alternatives: []interface{}{ &seqExpr{ - pos: position{line: 2951, col: 19, offset: 96490}, + pos: position{line: 2847, col: 19, offset: 93127}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2951, col: 19, offset: 96490}, + pos: position{line: 2847, col: 19, offset: 93127}, val: "|===", ignoreCase: false, want: "\"|===\"", }, &zeroOrMoreExpr{ - pos: position{line: 2951, col: 26, offset: 96497}, + pos: position{line: 2847, col: 26, offset: 93134}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonDocumentFragment1151, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -9567,28 +9567,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonDocumentFragment1154, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -9597,9 +9597,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -9607,38 +9607,38 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, }, }, ¬Expr{ - pos: position{line: 2991, col: 5, offset: 97415}, + pos: position{line: 2887, col: 5, offset: 94052}, expr: &actionExpr{ - pos: position{line: 683, col: 14, offset: 22042}, + pos: position{line: 690, col: 14, offset: 22312}, run: (*parser).callonDocumentFragment1164, expr: &seqExpr{ - pos: position{line: 683, col: 14, offset: 22042}, + pos: position{line: 690, col: 14, offset: 22312}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 683, col: 14, offset: 22042}, + pos: position{line: 690, col: 14, offset: 22312}, expr: ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, &zeroOrMoreExpr{ - pos: position{line: 683, col: 19, offset: 22047}, + pos: position{line: 690, col: 19, offset: 22317}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonDocumentFragment1170, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -9647,28 +9647,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonDocumentFragment1173, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -9677,9 +9677,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -9689,18 +9689,18 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 2992, col: 5, offset: 97430}, + pos: position{line: 2888, col: 5, offset: 94067}, val: "|", ignoreCase: false, want: "\"|\"", }, &zeroOrMoreExpr{ - pos: position{line: 2992, col: 9, offset: 97434}, + pos: position{line: 2888, col: 9, offset: 94071}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonDocumentFragment1182, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -9709,23 +9709,23 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 2992, col: 16, offset: 97441}, + pos: position{line: 2888, col: 16, offset: 94078}, label: "content", expr: &zeroOrOneExpr{ - pos: position{line: 2992, col: 25, offset: 97450}, + pos: position{line: 2888, col: 25, offset: 94087}, expr: &actionExpr{ - pos: position{line: 2998, col: 5, offset: 97593}, + pos: position{line: 2894, col: 5, offset: 94230}, run: (*parser).callonDocumentFragment1186, expr: &labeledExpr{ - pos: position{line: 2998, col: 5, offset: 97593}, + pos: position{line: 2894, col: 5, offset: 94230}, label: "content", expr: &actionExpr{ - pos: position{line: 2998, col: 14, offset: 97602}, + pos: position{line: 2894, col: 14, offset: 94239}, run: (*parser).callonDocumentFragment1188, expr: &oneOrMoreExpr{ - pos: position{line: 2998, col: 14, offset: 97602}, + pos: position{line: 2894, col: 14, offset: 94239}, expr: &charClassMatcher{ - pos: position{line: 2998, col: 14, offset: 97602}, + pos: position{line: 2894, col: 14, offset: 94239}, val: "[^\\r\\n|]", chars: []rune{'\r', '\n', '|'}, ignoreCase: false, @@ -9742,28 +9742,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonDocumentFragment1192, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -9772,9 +9772,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -9785,32 +9785,32 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2984, col: 6, offset: 97213}, + pos: position{line: 2880, col: 6, offset: 93850}, alternatives: []interface{}{ &oneOrMoreExpr{ - pos: position{line: 2984, col: 6, offset: 97213}, + pos: position{line: 2880, col: 6, offset: 93850}, expr: &actionExpr{ - pos: position{line: 683, col: 14, offset: 22042}, + pos: position{line: 690, col: 14, offset: 22312}, run: (*parser).callonDocumentFragment1201, expr: &seqExpr{ - pos: position{line: 683, col: 14, offset: 22042}, + pos: position{line: 690, col: 14, offset: 22312}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 683, col: 14, offset: 22042}, + pos: position{line: 690, col: 14, offset: 22312}, expr: ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, &zeroOrMoreExpr{ - pos: position{line: 683, col: 19, offset: 22047}, + pos: position{line: 690, col: 19, offset: 22317}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonDocumentFragment1207, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -9819,28 +9819,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonDocumentFragment1210, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -9849,9 +9849,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -9861,26 +9861,26 @@ var g = &grammar{ }, }, &andExpr{ - pos: position{line: 2984, col: 19, offset: 97226}, + pos: position{line: 2880, col: 19, offset: 93863}, expr: &choiceExpr{ - pos: position{line: 2955, col: 22, offset: 96570}, + pos: position{line: 2851, col: 22, offset: 93207}, alternatives: []interface{}{ &seqExpr{ - pos: position{line: 2951, col: 19, offset: 96490}, + pos: position{line: 2847, col: 19, offset: 93127}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2951, col: 19, offset: 96490}, + pos: position{line: 2847, col: 19, offset: 93127}, val: "|===", ignoreCase: false, want: "\"|===\"", }, &zeroOrMoreExpr{ - pos: position{line: 2951, col: 26, offset: 96497}, + pos: position{line: 2847, col: 26, offset: 93134}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonDocumentFragment1222, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -9889,28 +9889,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonDocumentFragment1225, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -9919,9 +9919,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -9929,9 +9929,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -9943,32 +9943,32 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2973, col: 5, offset: 96969}, + pos: position{line: 2869, col: 5, offset: 93606}, run: (*parser).callonDocumentFragment1234, expr: &seqExpr{ - pos: position{line: 2973, col: 5, offset: 96969}, + pos: position{line: 2869, col: 5, offset: 93606}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 2973, col: 5, offset: 96969}, + pos: position{line: 2869, col: 5, offset: 93606}, expr: &choiceExpr{ - pos: position{line: 2955, col: 22, offset: 96570}, + pos: position{line: 2851, col: 22, offset: 93207}, alternatives: []interface{}{ &seqExpr{ - pos: position{line: 2951, col: 19, offset: 96490}, + pos: position{line: 2847, col: 19, offset: 93127}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2951, col: 19, offset: 96490}, + pos: position{line: 2847, col: 19, offset: 93127}, val: "|===", ignoreCase: false, want: "\"|===\"", }, &zeroOrMoreExpr{ - pos: position{line: 2951, col: 26, offset: 96497}, + pos: position{line: 2847, col: 26, offset: 93134}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonDocumentFragment1241, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -9977,28 +9977,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonDocumentFragment1244, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -10007,9 +10007,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -10017,46 +10017,46 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, }, }, &labeledExpr{ - pos: position{line: 2974, col: 5, offset: 96992}, + pos: position{line: 2870, col: 5, offset: 93629}, label: "cells", expr: &oneOrMoreExpr{ - pos: position{line: 2974, col: 11, offset: 96998}, + pos: position{line: 2870, col: 11, offset: 93635}, expr: &actionExpr{ - pos: position{line: 2990, col: 5, offset: 97392}, + pos: position{line: 2886, col: 5, offset: 94029}, run: (*parser).callonDocumentFragment1255, expr: &seqExpr{ - pos: position{line: 2990, col: 5, offset: 97392}, + pos: position{line: 2886, col: 5, offset: 94029}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 2990, col: 5, offset: 97392}, + pos: position{line: 2886, col: 5, offset: 94029}, expr: &choiceExpr{ - pos: position{line: 2955, col: 22, offset: 96570}, + pos: position{line: 2851, col: 22, offset: 93207}, alternatives: []interface{}{ &seqExpr{ - pos: position{line: 2951, col: 19, offset: 96490}, + pos: position{line: 2847, col: 19, offset: 93127}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2951, col: 19, offset: 96490}, + pos: position{line: 2847, col: 19, offset: 93127}, val: "|===", ignoreCase: false, want: "\"|===\"", }, &zeroOrMoreExpr{ - pos: position{line: 2951, col: 26, offset: 96497}, + pos: position{line: 2847, col: 26, offset: 93134}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonDocumentFragment1262, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -10065,28 +10065,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonDocumentFragment1265, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -10095,9 +10095,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -10105,38 +10105,38 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, }, }, ¬Expr{ - pos: position{line: 2991, col: 5, offset: 97415}, + pos: position{line: 2887, col: 5, offset: 94052}, expr: &actionExpr{ - pos: position{line: 683, col: 14, offset: 22042}, + pos: position{line: 690, col: 14, offset: 22312}, run: (*parser).callonDocumentFragment1275, expr: &seqExpr{ - pos: position{line: 683, col: 14, offset: 22042}, + pos: position{line: 690, col: 14, offset: 22312}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 683, col: 14, offset: 22042}, + pos: position{line: 690, col: 14, offset: 22312}, expr: ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, &zeroOrMoreExpr{ - pos: position{line: 683, col: 19, offset: 22047}, + pos: position{line: 690, col: 19, offset: 22317}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonDocumentFragment1281, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -10145,28 +10145,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonDocumentFragment1284, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -10175,9 +10175,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -10187,18 +10187,18 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 2992, col: 5, offset: 97430}, + pos: position{line: 2888, col: 5, offset: 94067}, val: "|", ignoreCase: false, want: "\"|\"", }, &zeroOrMoreExpr{ - pos: position{line: 2992, col: 9, offset: 97434}, + pos: position{line: 2888, col: 9, offset: 94071}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonDocumentFragment1293, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -10207,23 +10207,23 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 2992, col: 16, offset: 97441}, + pos: position{line: 2888, col: 16, offset: 94078}, label: "content", expr: &zeroOrOneExpr{ - pos: position{line: 2992, col: 25, offset: 97450}, + pos: position{line: 2888, col: 25, offset: 94087}, expr: &actionExpr{ - pos: position{line: 2998, col: 5, offset: 97593}, + pos: position{line: 2894, col: 5, offset: 94230}, run: (*parser).callonDocumentFragment1297, expr: &labeledExpr{ - pos: position{line: 2998, col: 5, offset: 97593}, + pos: position{line: 2894, col: 5, offset: 94230}, label: "content", expr: &actionExpr{ - pos: position{line: 2998, col: 14, offset: 97602}, + pos: position{line: 2894, col: 14, offset: 94239}, run: (*parser).callonDocumentFragment1299, expr: &oneOrMoreExpr{ - pos: position{line: 2998, col: 14, offset: 97602}, + pos: position{line: 2894, col: 14, offset: 94239}, expr: &charClassMatcher{ - pos: position{line: 2998, col: 14, offset: 97602}, + pos: position{line: 2894, col: 14, offset: 94239}, val: "[^\\r\\n|]", chars: []rune{'\r', '\n', '|'}, ignoreCase: false, @@ -10241,28 +10241,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonDocumentFragment1303, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -10271,37 +10271,37 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, }, &zeroOrMoreExpr{ - pos: position{line: 2975, col: 5, offset: 97019}, + pos: position{line: 2871, col: 5, offset: 93656}, expr: &actionExpr{ - pos: position{line: 683, col: 14, offset: 22042}, + pos: position{line: 690, col: 14, offset: 22312}, run: (*parser).callonDocumentFragment1311, expr: &seqExpr{ - pos: position{line: 683, col: 14, offset: 22042}, + pos: position{line: 690, col: 14, offset: 22312}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 683, col: 14, offset: 22042}, + pos: position{line: 690, col: 14, offset: 22312}, expr: ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, &zeroOrMoreExpr{ - pos: position{line: 683, col: 19, offset: 22047}, + pos: position{line: 690, col: 19, offset: 22317}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonDocumentFragment1317, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -10310,28 +10310,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonDocumentFragment1320, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -10340,9 +10340,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -10359,24 +10359,24 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2955, col: 22, offset: 96570}, + pos: position{line: 2851, col: 22, offset: 93207}, alternatives: []interface{}{ &seqExpr{ - pos: position{line: 2951, col: 19, offset: 96490}, + pos: position{line: 2847, col: 19, offset: 93127}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2951, col: 19, offset: 96490}, + pos: position{line: 2847, col: 19, offset: 93127}, val: "|===", ignoreCase: false, want: "\"|===\"", }, &zeroOrMoreExpr{ - pos: position{line: 2951, col: 26, offset: 96497}, + pos: position{line: 2847, col: 26, offset: 93134}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonDocumentFragment1331, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -10385,28 +10385,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonDocumentFragment1334, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -10415,9 +10415,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -10425,9 +10425,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -10436,36 +10436,36 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2876, col: 22, offset: 94317}, + pos: position{line: 2762, col: 22, offset: 90750}, run: (*parser).callonDocumentFragment1343, expr: &seqExpr{ - pos: position{line: 2876, col: 22, offset: 94317}, + pos: position{line: 2762, col: 22, offset: 90750}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2881, col: 31, offset: 94538}, + pos: position{line: 2767, col: 31, offset: 90971}, val: "//", ignoreCase: false, want: "\"//\"", }, ¬Expr{ - pos: position{line: 2881, col: 36, offset: 94543}, + pos: position{line: 2767, col: 36, offset: 90976}, expr: &litMatcher{ - pos: position{line: 2881, col: 37, offset: 94544}, + pos: position{line: 2767, col: 37, offset: 90977}, val: "//", ignoreCase: false, want: "\"//\"", }, }, &labeledExpr{ - pos: position{line: 2876, col: 49, offset: 94344}, + pos: position{line: 2762, col: 49, offset: 90777}, label: "content", expr: &actionExpr{ - pos: position{line: 2883, col: 29, offset: 94579}, + pos: position{line: 2769, col: 29, offset: 91012}, run: (*parser).callonDocumentFragment1349, expr: &zeroOrMoreExpr{ - pos: position{line: 2883, col: 29, offset: 94579}, + pos: position{line: 2769, col: 29, offset: 91012}, expr: &charClassMatcher{ - pos: position{line: 2883, col: 29, offset: 94579}, + pos: position{line: 2769, col: 29, offset: 91012}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -10475,28 +10475,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonDocumentFragment1353, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -10505,9 +10505,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -10516,13 +10516,13 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1838, col: 5, offset: 60391}, + pos: position{line: 1845, col: 5, offset: 60646}, run: (*parser).callonDocumentFragment1360, expr: &seqExpr{ - pos: position{line: 1838, col: 5, offset: 60391}, + pos: position{line: 1845, col: 5, offset: 60646}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1838, col: 5, offset: 60391}, + pos: position{line: 1845, col: 5, offset: 60646}, label: "kind", expr: &choiceExpr{ pos: position{line: 293, col: 19, offset: 9062}, @@ -10581,30 +10581,30 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1838, col: 27, offset: 60413}, + pos: position{line: 1845, col: 27, offset: 60668}, val: ": ", ignoreCase: false, want: "\": \"", }, &labeledExpr{ - pos: position{line: 1839, col: 5, offset: 60423}, + pos: position{line: 1846, col: 5, offset: 60678}, label: "firstLine", expr: &actionExpr{ - pos: position{line: 1850, col: 5, offset: 60767}, + pos: position{line: 1857, col: 5, offset: 61022}, run: (*parser).callonDocumentFragment1376, expr: &seqExpr{ - pos: position{line: 1850, col: 5, offset: 60767}, + pos: position{line: 1857, col: 5, offset: 61022}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1850, col: 5, offset: 60767}, + pos: position{line: 1857, col: 5, offset: 61022}, label: "content", expr: &actionExpr{ - pos: position{line: 1850, col: 14, offset: 60776}, + pos: position{line: 1857, col: 14, offset: 61031}, run: (*parser).callonDocumentFragment1379, expr: &oneOrMoreExpr{ - pos: position{line: 1850, col: 14, offset: 60776}, + pos: position{line: 1857, col: 14, offset: 61031}, expr: &charClassMatcher{ - pos: position{line: 1850, col: 14, offset: 60776}, + pos: position{line: 1857, col: 14, offset: 61031}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -10614,32 +10614,32 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1853, col: 5, offset: 60883}, + pos: position{line: 1860, col: 5, offset: 61138}, run: (*parser).callonDocumentFragment1382, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonDocumentFragment1384, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -10648,9 +10648,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -10660,34 +10660,34 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1840, col: 5, offset: 60457}, + pos: position{line: 1847, col: 5, offset: 60712}, label: "otherLines", expr: &zeroOrMoreExpr{ - pos: position{line: 1840, col: 16, offset: 60468}, + pos: position{line: 1847, col: 16, offset: 60723}, expr: &actionExpr{ - pos: position{line: 1841, col: 9, offset: 60478}, + pos: position{line: 1848, col: 9, offset: 60733}, run: (*parser).callonDocumentFragment1393, expr: &seqExpr{ - pos: position{line: 1841, col: 9, offset: 60478}, + pos: position{line: 1848, col: 9, offset: 60733}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 1841, col: 9, offset: 60478}, + pos: position{line: 1848, col: 9, offset: 60733}, expr: &seqExpr{ - pos: position{line: 1578, col: 34, offset: 51769}, + pos: position{line: 1585, col: 34, offset: 52024}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1578, col: 34, offset: 51769}, + pos: position{line: 1585, col: 34, offset: 52024}, val: "+", ignoreCase: false, want: "\"+\"", }, &zeroOrMoreExpr{ - pos: position{line: 1578, col: 38, offset: 51773}, + pos: position{line: 1585, col: 38, offset: 52028}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonDocumentFragment1399, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -10696,25 +10696,25 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonDocumentFragment1401, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -10726,42 +10726,42 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1842, col: 9, offset: 60517}, + pos: position{line: 1849, col: 9, offset: 60772}, label: "line", expr: &choiceExpr{ - pos: position{line: 1842, col: 15, offset: 60523}, + pos: position{line: 1849, col: 15, offset: 60778}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2876, col: 22, offset: 94317}, + pos: position{line: 2762, col: 22, offset: 90750}, run: (*parser).callonDocumentFragment1408, expr: &seqExpr{ - pos: position{line: 2876, col: 22, offset: 94317}, + pos: position{line: 2762, col: 22, offset: 90750}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2881, col: 31, offset: 94538}, + pos: position{line: 2767, col: 31, offset: 90971}, val: "//", ignoreCase: false, want: "\"//\"", }, ¬Expr{ - pos: position{line: 2881, col: 36, offset: 94543}, + pos: position{line: 2767, col: 36, offset: 90976}, expr: &litMatcher{ - pos: position{line: 2881, col: 37, offset: 94544}, + pos: position{line: 2767, col: 37, offset: 90977}, val: "//", ignoreCase: false, want: "\"//\"", }, }, &labeledExpr{ - pos: position{line: 2876, col: 49, offset: 94344}, + pos: position{line: 2762, col: 49, offset: 90777}, label: "content", expr: &actionExpr{ - pos: position{line: 2883, col: 29, offset: 94579}, + pos: position{line: 2769, col: 29, offset: 91012}, run: (*parser).callonDocumentFragment1414, expr: &zeroOrMoreExpr{ - pos: position{line: 2883, col: 29, offset: 94579}, + pos: position{line: 2769, col: 29, offset: 91012}, expr: &charClassMatcher{ - pos: position{line: 2883, col: 29, offset: 94579}, + pos: position{line: 2769, col: 29, offset: 91012}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -10771,28 +10771,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonDocumentFragment1418, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -10801,9 +10801,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -10812,21 +10812,21 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1850, col: 5, offset: 60767}, + pos: position{line: 1857, col: 5, offset: 61022}, run: (*parser).callonDocumentFragment1425, expr: &seqExpr{ - pos: position{line: 1850, col: 5, offset: 60767}, + pos: position{line: 1857, col: 5, offset: 61022}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1850, col: 5, offset: 60767}, + pos: position{line: 1857, col: 5, offset: 61022}, label: "content", expr: &actionExpr{ - pos: position{line: 1850, col: 14, offset: 60776}, + pos: position{line: 1857, col: 14, offset: 61031}, run: (*parser).callonDocumentFragment1428, expr: &oneOrMoreExpr{ - pos: position{line: 1850, col: 14, offset: 60776}, + pos: position{line: 1857, col: 14, offset: 61031}, expr: &charClassMatcher{ - pos: position{line: 1850, col: 14, offset: 60776}, + pos: position{line: 1857, col: 14, offset: 61031}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -10836,32 +10836,32 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1853, col: 5, offset: 60883}, + pos: position{line: 1860, col: 5, offset: 61138}, run: (*parser).callonDocumentFragment1431, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonDocumentFragment1433, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -10870,9 +10870,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -10892,36 +10892,36 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1861, col: 5, offset: 61049}, + pos: position{line: 1868, col: 5, offset: 61304}, run: (*parser).callonDocumentFragment1440, expr: &seqExpr{ - pos: position{line: 1861, col: 5, offset: 61049}, + pos: position{line: 1868, col: 5, offset: 61304}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1861, col: 5, offset: 61049}, + pos: position{line: 1868, col: 5, offset: 61304}, label: "firstLine", expr: &actionExpr{ - pos: position{line: 1868, col: 5, offset: 61334}, + pos: position{line: 1875, col: 5, offset: 61589}, run: (*parser).callonDocumentFragment1443, expr: &seqExpr{ - pos: position{line: 1868, col: 5, offset: 61334}, + pos: position{line: 1875, col: 5, offset: 61589}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1868, col: 5, offset: 61334}, + pos: position{line: 1875, col: 5, offset: 61589}, label: "content", expr: &actionExpr{ - pos: position{line: 1868, col: 14, offset: 61343}, + pos: position{line: 1875, col: 14, offset: 61598}, run: (*parser).callonDocumentFragment1446, expr: &seqExpr{ - pos: position{line: 1868, col: 14, offset: 61343}, + pos: position{line: 1875, col: 14, offset: 61598}, exprs: []interface{}{ &actionExpr{ - pos: position{line: 3180, col: 11, offset: 103464}, + pos: position{line: 3076, col: 11, offset: 100101}, run: (*parser).callonDocumentFragment1448, expr: &oneOrMoreExpr{ - pos: position{line: 3180, col: 11, offset: 103464}, + pos: position{line: 3076, col: 11, offset: 100101}, expr: &charClassMatcher{ - pos: position{line: 3180, col: 12, offset: 103465}, + pos: position{line: 3076, col: 12, offset: 100102}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -10930,9 +10930,9 @@ var g = &grammar{ }, }, &oneOrMoreExpr{ - pos: position{line: 1868, col: 21, offset: 61350}, + pos: position{line: 1875, col: 21, offset: 61605}, expr: &charClassMatcher{ - pos: position{line: 1868, col: 21, offset: 61350}, + pos: position{line: 1875, col: 21, offset: 61605}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -10944,32 +10944,32 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1871, col: 5, offset: 61407}, + pos: position{line: 1878, col: 5, offset: 61662}, run: (*parser).callonDocumentFragment1453, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonDocumentFragment1455, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -10978,9 +10978,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -10990,44 +10990,44 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1862, col: 5, offset: 61090}, + pos: position{line: 1869, col: 5, offset: 61345}, label: "otherLines", expr: &zeroOrMoreExpr{ - pos: position{line: 1862, col: 16, offset: 61101}, + pos: position{line: 1869, col: 16, offset: 61356}, expr: &choiceExpr{ - pos: position{line: 1862, col: 17, offset: 61102}, + pos: position{line: 1869, col: 17, offset: 61357}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2876, col: 22, offset: 94317}, + pos: position{line: 2762, col: 22, offset: 90750}, run: (*parser).callonDocumentFragment1465, expr: &seqExpr{ - pos: position{line: 2876, col: 22, offset: 94317}, + pos: position{line: 2762, col: 22, offset: 90750}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2881, col: 31, offset: 94538}, + pos: position{line: 2767, col: 31, offset: 90971}, val: "//", ignoreCase: false, want: "\"//\"", }, ¬Expr{ - pos: position{line: 2881, col: 36, offset: 94543}, + pos: position{line: 2767, col: 36, offset: 90976}, expr: &litMatcher{ - pos: position{line: 2881, col: 37, offset: 94544}, + pos: position{line: 2767, col: 37, offset: 90977}, val: "//", ignoreCase: false, want: "\"//\"", }, }, &labeledExpr{ - pos: position{line: 2876, col: 49, offset: 94344}, + pos: position{line: 2762, col: 49, offset: 90777}, label: "content", expr: &actionExpr{ - pos: position{line: 2883, col: 29, offset: 94579}, + pos: position{line: 2769, col: 29, offset: 91012}, run: (*parser).callonDocumentFragment1471, expr: &zeroOrMoreExpr{ - pos: position{line: 2883, col: 29, offset: 94579}, + pos: position{line: 2769, col: 29, offset: 91012}, expr: &charClassMatcher{ - pos: position{line: 2883, col: 29, offset: 94579}, + pos: position{line: 2769, col: 29, offset: 91012}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -11037,28 +11037,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonDocumentFragment1475, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -11067,9 +11067,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -11078,21 +11078,21 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1850, col: 5, offset: 60767}, + pos: position{line: 1857, col: 5, offset: 61022}, run: (*parser).callonDocumentFragment1482, expr: &seqExpr{ - pos: position{line: 1850, col: 5, offset: 60767}, + pos: position{line: 1857, col: 5, offset: 61022}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1850, col: 5, offset: 60767}, + pos: position{line: 1857, col: 5, offset: 61022}, label: "content", expr: &actionExpr{ - pos: position{line: 1850, col: 14, offset: 60776}, + pos: position{line: 1857, col: 14, offset: 61031}, run: (*parser).callonDocumentFragment1485, expr: &oneOrMoreExpr{ - pos: position{line: 1850, col: 14, offset: 60776}, + pos: position{line: 1857, col: 14, offset: 61031}, expr: &charClassMatcher{ - pos: position{line: 1850, col: 14, offset: 60776}, + pos: position{line: 1857, col: 14, offset: 61031}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -11102,32 +11102,32 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1853, col: 5, offset: 60883}, + pos: position{line: 1860, col: 5, offset: 61138}, run: (*parser).callonDocumentFragment1488, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonDocumentFragment1490, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -11136,9 +11136,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -11154,37 +11154,37 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1231, col: 5, offset: 38700}, + pos: position{line: 1238, col: 5, offset: 38970}, run: (*parser).callonDocumentFragment1497, expr: &seqExpr{ - pos: position{line: 1231, col: 5, offset: 38700}, + pos: position{line: 1238, col: 5, offset: 38970}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 1231, col: 5, offset: 38700}, + pos: position{line: 1238, col: 5, offset: 38970}, run: (*parser).callonDocumentFragment1499, }, &labeledExpr{ - pos: position{line: 1234, col: 5, offset: 38758}, + pos: position{line: 1241, col: 5, offset: 39028}, label: "frontmatter", expr: &actionExpr{ - pos: position{line: 1239, col: 20, offset: 38853}, + pos: position{line: 1246, col: 20, offset: 39123}, run: (*parser).callonDocumentFragment1501, expr: &seqExpr{ - pos: position{line: 1239, col: 20, offset: 38853}, + pos: position{line: 1246, col: 20, offset: 39123}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1243, col: 30, offset: 39025}, + pos: position{line: 1250, col: 30, offset: 39295}, val: "---", ignoreCase: false, want: "\"---\"", }, &zeroOrMoreExpr{ - pos: position{line: 1243, col: 36, offset: 39031}, + pos: position{line: 1250, col: 36, offset: 39301}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonDocumentFragment1505, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -11193,28 +11193,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonDocumentFragment1508, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -11223,46 +11223,46 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, }, &labeledExpr{ - pos: position{line: 1239, col: 45, offset: 38878}, + pos: position{line: 1246, col: 45, offset: 39148}, label: "content", expr: &zeroOrOneExpr{ - pos: position{line: 1239, col: 53, offset: 38886}, + pos: position{line: 1246, col: 53, offset: 39156}, expr: &actionExpr{ - pos: position{line: 1245, col: 27, offset: 39069}, + pos: position{line: 1252, col: 27, offset: 39339}, run: (*parser).callonDocumentFragment1517, expr: &zeroOrMoreExpr{ - pos: position{line: 1245, col: 27, offset: 39069}, + pos: position{line: 1252, col: 27, offset: 39339}, expr: &oneOrMoreExpr{ - pos: position{line: 1245, col: 28, offset: 39070}, + pos: position{line: 1252, col: 28, offset: 39340}, expr: &seqExpr{ - pos: position{line: 1245, col: 29, offset: 39071}, + pos: position{line: 1252, col: 29, offset: 39341}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 1245, col: 29, offset: 39071}, + pos: position{line: 1252, col: 29, offset: 39341}, expr: &seqExpr{ - pos: position{line: 1243, col: 30, offset: 39025}, + pos: position{line: 1250, col: 30, offset: 39295}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1243, col: 30, offset: 39025}, + pos: position{line: 1250, col: 30, offset: 39295}, val: "---", ignoreCase: false, want: "\"---\"", }, &zeroOrMoreExpr{ - pos: position{line: 1243, col: 36, offset: 39031}, + pos: position{line: 1250, col: 36, offset: 39301}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonDocumentFragment1525, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -11271,28 +11271,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonDocumentFragment1528, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -11301,9 +11301,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -11312,7 +11312,7 @@ var g = &grammar{ }, }, &anyMatcher{ - line: 1245, col: 55, offset: 39097, + line: 1252, col: 55, offset: 39367, }, }, }, @@ -11322,18 +11322,18 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1243, col: 30, offset: 39025}, + pos: position{line: 1250, col: 30, offset: 39295}, val: "---", ignoreCase: false, want: "\"---\"", }, &zeroOrMoreExpr{ - pos: position{line: 1243, col: 36, offset: 39031}, + pos: position{line: 1250, col: 36, offset: 39301}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonDocumentFragment1538, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -11342,28 +11342,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonDocumentFragment1541, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -11372,9 +11372,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -11416,27 +11416,27 @@ var g = &grammar{ pos: position{line: 273, col: 9, offset: 8301}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 1212, col: 23, offset: 37871}, + pos: position{line: 1219, col: 23, offset: 38141}, run: (*parser).callonDelimitedBlockElements6, expr: &seqExpr{ - pos: position{line: 1212, col: 23, offset: 37871}, + pos: position{line: 1219, col: 23, offset: 38141}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1210, col: 32, offset: 37839}, + pos: position{line: 1217, col: 32, offset: 38109}, val: "�", ignoreCase: false, want: "\"�\"", }, &labeledExpr{ - pos: position{line: 1212, col: 51, offset: 37899}, + pos: position{line: 1219, col: 51, offset: 38169}, label: "ref", expr: &actionExpr{ - pos: position{line: 1212, col: 56, offset: 37904}, + pos: position{line: 1219, col: 56, offset: 38174}, run: (*parser).callonDelimitedBlockElements10, expr: &oneOrMoreExpr{ - pos: position{line: 1212, col: 56, offset: 37904}, + pos: position{line: 1219, col: 56, offset: 38174}, expr: &charClassMatcher{ - pos: position{line: 1212, col: 56, offset: 37904}, + pos: position{line: 1219, col: 56, offset: 38174}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -11446,7 +11446,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1210, col: 32, offset: 37839}, + pos: position{line: 1217, col: 32, offset: 38109}, val: "�", ignoreCase: false, want: "\"�\"", @@ -11463,9 +11463,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -11539,12 +11539,12 @@ var g = &grammar{ pos: position{line: 311, col: 9, offset: 9575}, exprs: []interface{}{ &actionExpr{ - pos: position{line: 3180, col: 11, offset: 103464}, + pos: position{line: 3076, col: 11, offset: 100101}, run: (*parser).callonAttributeDeclaration15, expr: &oneOrMoreExpr{ - pos: position{line: 3180, col: 11, offset: 103464}, + pos: position{line: 3076, col: 11, offset: 100101}, expr: &charClassMatcher{ - pos: position{line: 3180, col: 12, offset: 103465}, + pos: position{line: 3076, col: 12, offset: 100102}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -11566,28 +11566,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonAttributeDeclaration21, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -11596,9 +11596,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -11650,10 +11650,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 350, col: 13, offset: 10839}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonAttributeDeclarationValue14, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -11662,28 +11662,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonAttributeDeclarationValue17, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -11692,9 +11692,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -11723,10 +11723,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonAttributeDeclarationValue29, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -11734,35 +11734,35 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 641, col: 5, offset: 20613}, + pos: position{line: 648, col: 5, offset: 20883}, run: (*parser).callonAttributeDeclarationValue31, expr: &seqExpr{ - pos: position{line: 641, col: 5, offset: 20613}, + pos: position{line: 648, col: 5, offset: 20883}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 641, col: 5, offset: 20613}, + pos: position{line: 648, col: 5, offset: 20883}, run: (*parser).callonAttributeDeclarationValue33, }, &labeledExpr{ - pos: position{line: 644, col: 5, offset: 20682}, + pos: position{line: 651, col: 5, offset: 20952}, label: "element", expr: &choiceExpr{ - pos: position{line: 644, col: 14, offset: 20691}, + pos: position{line: 651, col: 14, offset: 20961}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 664, col: 25, offset: 21344}, + pos: position{line: 671, col: 25, offset: 21614}, run: (*parser).callonAttributeDeclarationValue36, expr: &seqExpr{ - pos: position{line: 664, col: 25, offset: 21344}, + pos: position{line: 671, col: 25, offset: 21614}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 664, col: 25, offset: 21344}, + pos: position{line: 671, col: 25, offset: 21614}, val: "{counter:", ignoreCase: false, want: "\"{counter:\"", }, &labeledExpr{ - pos: position{line: 664, col: 37, offset: 21356}, + pos: position{line: 671, col: 37, offset: 21626}, label: "name", expr: &actionExpr{ pos: position{line: 324, col: 18, offset: 10072}, @@ -11796,33 +11796,33 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 664, col: 56, offset: 21375}, + pos: position{line: 671, col: 56, offset: 21645}, label: "start", expr: &zeroOrOneExpr{ - pos: position{line: 664, col: 62, offset: 21381}, + pos: position{line: 671, col: 62, offset: 21651}, expr: &actionExpr{ - pos: position{line: 672, col: 17, offset: 21676}, + pos: position{line: 679, col: 17, offset: 21946}, run: (*parser).callonAttributeDeclarationValue47, expr: &seqExpr{ - pos: position{line: 672, col: 17, offset: 21676}, + pos: position{line: 679, col: 17, offset: 21946}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 672, col: 17, offset: 21676}, + pos: position{line: 679, col: 17, offset: 21946}, val: ":", ignoreCase: false, want: "\":\"", }, &labeledExpr{ - pos: position{line: 672, col: 21, offset: 21680}, + pos: position{line: 679, col: 21, offset: 21950}, label: "start", expr: &choiceExpr{ - pos: position{line: 672, col: 28, offset: 21687}, + pos: position{line: 679, col: 28, offset: 21957}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 672, col: 28, offset: 21687}, + pos: position{line: 679, col: 28, offset: 21957}, run: (*parser).callonAttributeDeclarationValue52, expr: &charClassMatcher{ - pos: position{line: 672, col: 28, offset: 21687}, + pos: position{line: 679, col: 28, offset: 21957}, val: "[A-Za-z]", ranges: []rune{'A', 'Z', 'a', 'z'}, ignoreCase: false, @@ -11830,12 +11830,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 674, col: 9, offset: 21741}, + pos: position{line: 681, col: 9, offset: 22011}, run: (*parser).callonAttributeDeclarationValue54, expr: &oneOrMoreExpr{ - pos: position{line: 674, col: 9, offset: 21741}, + pos: position{line: 681, col: 9, offset: 22011}, expr: &charClassMatcher{ - pos: position{line: 674, col: 9, offset: 21741}, + pos: position{line: 681, col: 9, offset: 22011}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -11852,7 +11852,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 664, col: 78, offset: 21397}, + pos: position{line: 671, col: 78, offset: 21667}, val: "}", ignoreCase: false, want: "\"}\"", @@ -11861,19 +11861,19 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 668, col: 25, offset: 21515}, + pos: position{line: 675, col: 25, offset: 21785}, run: (*parser).callonAttributeDeclarationValue58, expr: &seqExpr{ - pos: position{line: 668, col: 25, offset: 21515}, + pos: position{line: 675, col: 25, offset: 21785}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 668, col: 25, offset: 21515}, + pos: position{line: 675, col: 25, offset: 21785}, val: "{counter2:", ignoreCase: false, want: "\"{counter2:\"", }, &labeledExpr{ - pos: position{line: 668, col: 38, offset: 21528}, + pos: position{line: 675, col: 38, offset: 21798}, label: "name", expr: &actionExpr{ pos: position{line: 324, col: 18, offset: 10072}, @@ -11907,33 +11907,33 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 668, col: 57, offset: 21547}, + pos: position{line: 675, col: 57, offset: 21817}, label: "start", expr: &zeroOrOneExpr{ - pos: position{line: 668, col: 63, offset: 21553}, + pos: position{line: 675, col: 63, offset: 21823}, expr: &actionExpr{ - pos: position{line: 672, col: 17, offset: 21676}, + pos: position{line: 679, col: 17, offset: 21946}, run: (*parser).callonAttributeDeclarationValue69, expr: &seqExpr{ - pos: position{line: 672, col: 17, offset: 21676}, + pos: position{line: 679, col: 17, offset: 21946}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 672, col: 17, offset: 21676}, + pos: position{line: 679, col: 17, offset: 21946}, val: ":", ignoreCase: false, want: "\":\"", }, &labeledExpr{ - pos: position{line: 672, col: 21, offset: 21680}, + pos: position{line: 679, col: 21, offset: 21950}, label: "start", expr: &choiceExpr{ - pos: position{line: 672, col: 28, offset: 21687}, + pos: position{line: 679, col: 28, offset: 21957}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 672, col: 28, offset: 21687}, + pos: position{line: 679, col: 28, offset: 21957}, run: (*parser).callonAttributeDeclarationValue74, expr: &charClassMatcher{ - pos: position{line: 672, col: 28, offset: 21687}, + pos: position{line: 679, col: 28, offset: 21957}, val: "[A-Za-z]", ranges: []rune{'A', 'Z', 'a', 'z'}, ignoreCase: false, @@ -11941,12 +11941,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 674, col: 9, offset: 21741}, + pos: position{line: 681, col: 9, offset: 22011}, run: (*parser).callonAttributeDeclarationValue76, expr: &oneOrMoreExpr{ - pos: position{line: 674, col: 9, offset: 21741}, + pos: position{line: 681, col: 9, offset: 22011}, expr: &charClassMatcher{ - pos: position{line: 674, col: 9, offset: 21741}, + pos: position{line: 681, col: 9, offset: 22011}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -11963,7 +11963,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 668, col: 79, offset: 21569}, + pos: position{line: 675, col: 79, offset: 21839}, val: "}", ignoreCase: false, want: "\"}\"", @@ -11972,19 +11972,19 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 650, col: 5, offset: 20820}, + pos: position{line: 657, col: 5, offset: 21090}, run: (*parser).callonAttributeDeclarationValue80, expr: &seqExpr{ - pos: position{line: 650, col: 5, offset: 20820}, + pos: position{line: 657, col: 5, offset: 21090}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 650, col: 5, offset: 20820}, + pos: position{line: 657, col: 5, offset: 21090}, val: "\\{", ignoreCase: false, want: "\"\\\\{\"", }, &labeledExpr{ - pos: position{line: 650, col: 13, offset: 20828}, + pos: position{line: 657, col: 13, offset: 21098}, label: "name", expr: &actionExpr{ pos: position{line: 324, col: 18, offset: 10072}, @@ -12018,7 +12018,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 650, col: 32, offset: 20847}, + pos: position{line: 657, col: 32, offset: 21117}, val: "}", ignoreCase: false, want: "\"}\"", @@ -12027,19 +12027,19 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 657, col: 5, offset: 21088}, + pos: position{line: 664, col: 5, offset: 21358}, run: (*parser).callonAttributeDeclarationValue90, expr: &seqExpr{ - pos: position{line: 657, col: 5, offset: 21088}, + pos: position{line: 664, col: 5, offset: 21358}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 657, col: 5, offset: 21088}, + pos: position{line: 664, col: 5, offset: 21358}, val: "{", ignoreCase: false, want: "\"{\"", }, &labeledExpr{ - pos: position{line: 657, col: 9, offset: 21092}, + pos: position{line: 664, col: 9, offset: 21362}, label: "name", expr: &actionExpr{ pos: position{line: 324, col: 18, offset: 10072}, @@ -12073,7 +12073,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 657, col: 28, offset: 21111}, + pos: position{line: 664, col: 28, offset: 21381}, val: "}", ignoreCase: false, want: "\"}\"", @@ -12125,25 +12125,25 @@ var g = &grammar{ want: "\"\\\\\"", }, &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonAttributeDeclarationValue107, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -12154,10 +12154,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 332, col: 9, offset: 10269}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonAttributeDeclarationValue113, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -12246,27 +12246,27 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1212, col: 23, offset: 37871}, + pos: position{line: 1219, col: 23, offset: 38141}, run: (*parser).callonBlockAttributes19, expr: &seqExpr{ - pos: position{line: 1212, col: 23, offset: 37871}, + pos: position{line: 1219, col: 23, offset: 38141}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1210, col: 32, offset: 37839}, + pos: position{line: 1217, col: 32, offset: 38109}, val: "�", ignoreCase: false, want: "\"�\"", }, &labeledExpr{ - pos: position{line: 1212, col: 51, offset: 37899}, + pos: position{line: 1219, col: 51, offset: 38169}, label: "ref", expr: &actionExpr{ - pos: position{line: 1212, col: 56, offset: 37904}, + pos: position{line: 1219, col: 56, offset: 38174}, run: (*parser).callonBlockAttributes23, expr: &oneOrMoreExpr{ - pos: position{line: 1212, col: 56, offset: 37904}, + pos: position{line: 1219, col: 56, offset: 38174}, expr: &charClassMatcher{ - pos: position{line: 1212, col: 56, offset: 37904}, + pos: position{line: 1219, col: 56, offset: 38174}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -12276,7 +12276,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1210, col: 32, offset: 37839}, + pos: position{line: 1217, col: 32, offset: 38109}, val: "�", ignoreCase: false, want: "\"�\"", @@ -12285,35 +12285,35 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 641, col: 5, offset: 20613}, + pos: position{line: 648, col: 5, offset: 20883}, run: (*parser).callonBlockAttributes27, expr: &seqExpr{ - pos: position{line: 641, col: 5, offset: 20613}, + pos: position{line: 648, col: 5, offset: 20883}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 641, col: 5, offset: 20613}, + pos: position{line: 648, col: 5, offset: 20883}, run: (*parser).callonBlockAttributes29, }, &labeledExpr{ - pos: position{line: 644, col: 5, offset: 20682}, + pos: position{line: 651, col: 5, offset: 20952}, label: "element", expr: &choiceExpr{ - pos: position{line: 644, col: 14, offset: 20691}, + pos: position{line: 651, col: 14, offset: 20961}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 664, col: 25, offset: 21344}, + pos: position{line: 671, col: 25, offset: 21614}, run: (*parser).callonBlockAttributes32, expr: &seqExpr{ - pos: position{line: 664, col: 25, offset: 21344}, + pos: position{line: 671, col: 25, offset: 21614}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 664, col: 25, offset: 21344}, + pos: position{line: 671, col: 25, offset: 21614}, val: "{counter:", ignoreCase: false, want: "\"{counter:\"", }, &labeledExpr{ - pos: position{line: 664, col: 37, offset: 21356}, + pos: position{line: 671, col: 37, offset: 21626}, label: "name", expr: &actionExpr{ pos: position{line: 324, col: 18, offset: 10072}, @@ -12347,33 +12347,33 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 664, col: 56, offset: 21375}, + pos: position{line: 671, col: 56, offset: 21645}, label: "start", expr: &zeroOrOneExpr{ - pos: position{line: 664, col: 62, offset: 21381}, + pos: position{line: 671, col: 62, offset: 21651}, expr: &actionExpr{ - pos: position{line: 672, col: 17, offset: 21676}, + pos: position{line: 679, col: 17, offset: 21946}, run: (*parser).callonBlockAttributes43, expr: &seqExpr{ - pos: position{line: 672, col: 17, offset: 21676}, + pos: position{line: 679, col: 17, offset: 21946}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 672, col: 17, offset: 21676}, + pos: position{line: 679, col: 17, offset: 21946}, val: ":", ignoreCase: false, want: "\":\"", }, &labeledExpr{ - pos: position{line: 672, col: 21, offset: 21680}, + pos: position{line: 679, col: 21, offset: 21950}, label: "start", expr: &choiceExpr{ - pos: position{line: 672, col: 28, offset: 21687}, + pos: position{line: 679, col: 28, offset: 21957}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 672, col: 28, offset: 21687}, + pos: position{line: 679, col: 28, offset: 21957}, run: (*parser).callonBlockAttributes48, expr: &charClassMatcher{ - pos: position{line: 672, col: 28, offset: 21687}, + pos: position{line: 679, col: 28, offset: 21957}, val: "[A-Za-z]", ranges: []rune{'A', 'Z', 'a', 'z'}, ignoreCase: false, @@ -12381,12 +12381,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 674, col: 9, offset: 21741}, + pos: position{line: 681, col: 9, offset: 22011}, run: (*parser).callonBlockAttributes50, expr: &oneOrMoreExpr{ - pos: position{line: 674, col: 9, offset: 21741}, + pos: position{line: 681, col: 9, offset: 22011}, expr: &charClassMatcher{ - pos: position{line: 674, col: 9, offset: 21741}, + pos: position{line: 681, col: 9, offset: 22011}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -12403,7 +12403,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 664, col: 78, offset: 21397}, + pos: position{line: 671, col: 78, offset: 21667}, val: "}", ignoreCase: false, want: "\"}\"", @@ -12412,19 +12412,19 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 668, col: 25, offset: 21515}, + pos: position{line: 675, col: 25, offset: 21785}, run: (*parser).callonBlockAttributes54, expr: &seqExpr{ - pos: position{line: 668, col: 25, offset: 21515}, + pos: position{line: 675, col: 25, offset: 21785}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 668, col: 25, offset: 21515}, + pos: position{line: 675, col: 25, offset: 21785}, val: "{counter2:", ignoreCase: false, want: "\"{counter2:\"", }, &labeledExpr{ - pos: position{line: 668, col: 38, offset: 21528}, + pos: position{line: 675, col: 38, offset: 21798}, label: "name", expr: &actionExpr{ pos: position{line: 324, col: 18, offset: 10072}, @@ -12458,33 +12458,33 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 668, col: 57, offset: 21547}, + pos: position{line: 675, col: 57, offset: 21817}, label: "start", expr: &zeroOrOneExpr{ - pos: position{line: 668, col: 63, offset: 21553}, + pos: position{line: 675, col: 63, offset: 21823}, expr: &actionExpr{ - pos: position{line: 672, col: 17, offset: 21676}, + pos: position{line: 679, col: 17, offset: 21946}, run: (*parser).callonBlockAttributes65, expr: &seqExpr{ - pos: position{line: 672, col: 17, offset: 21676}, + pos: position{line: 679, col: 17, offset: 21946}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 672, col: 17, offset: 21676}, + pos: position{line: 679, col: 17, offset: 21946}, val: ":", ignoreCase: false, want: "\":\"", }, &labeledExpr{ - pos: position{line: 672, col: 21, offset: 21680}, + pos: position{line: 679, col: 21, offset: 21950}, label: "start", expr: &choiceExpr{ - pos: position{line: 672, col: 28, offset: 21687}, + pos: position{line: 679, col: 28, offset: 21957}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 672, col: 28, offset: 21687}, + pos: position{line: 679, col: 28, offset: 21957}, run: (*parser).callonBlockAttributes70, expr: &charClassMatcher{ - pos: position{line: 672, col: 28, offset: 21687}, + pos: position{line: 679, col: 28, offset: 21957}, val: "[A-Za-z]", ranges: []rune{'A', 'Z', 'a', 'z'}, ignoreCase: false, @@ -12492,12 +12492,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 674, col: 9, offset: 21741}, + pos: position{line: 681, col: 9, offset: 22011}, run: (*parser).callonBlockAttributes72, expr: &oneOrMoreExpr{ - pos: position{line: 674, col: 9, offset: 21741}, + pos: position{line: 681, col: 9, offset: 22011}, expr: &charClassMatcher{ - pos: position{line: 674, col: 9, offset: 21741}, + pos: position{line: 681, col: 9, offset: 22011}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -12514,7 +12514,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 668, col: 79, offset: 21569}, + pos: position{line: 675, col: 79, offset: 21839}, val: "}", ignoreCase: false, want: "\"}\"", @@ -12523,19 +12523,19 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 650, col: 5, offset: 20820}, + pos: position{line: 657, col: 5, offset: 21090}, run: (*parser).callonBlockAttributes76, expr: &seqExpr{ - pos: position{line: 650, col: 5, offset: 20820}, + pos: position{line: 657, col: 5, offset: 21090}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 650, col: 5, offset: 20820}, + pos: position{line: 657, col: 5, offset: 21090}, val: "\\{", ignoreCase: false, want: "\"\\\\{\"", }, &labeledExpr{ - pos: position{line: 650, col: 13, offset: 20828}, + pos: position{line: 657, col: 13, offset: 21098}, label: "name", expr: &actionExpr{ pos: position{line: 324, col: 18, offset: 10072}, @@ -12569,7 +12569,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 650, col: 32, offset: 20847}, + pos: position{line: 657, col: 32, offset: 21117}, val: "}", ignoreCase: false, want: "\"}\"", @@ -12578,19 +12578,19 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 657, col: 5, offset: 21088}, + pos: position{line: 664, col: 5, offset: 21358}, run: (*parser).callonBlockAttributes86, expr: &seqExpr{ - pos: position{line: 657, col: 5, offset: 21088}, + pos: position{line: 664, col: 5, offset: 21358}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 657, col: 5, offset: 21088}, + pos: position{line: 664, col: 5, offset: 21358}, val: "{", ignoreCase: false, want: "\"{\"", }, &labeledExpr{ - pos: position{line: 657, col: 9, offset: 21092}, + pos: position{line: 664, col: 9, offset: 21362}, label: "name", expr: &actionExpr{ pos: position{line: 324, col: 18, offset: 10072}, @@ -12624,7 +12624,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 657, col: 28, offset: 21111}, + pos: position{line: 664, col: 28, offset: 21381}, val: "}", ignoreCase: false, want: "\"}\"", @@ -12667,10 +12667,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 376, col: 35, offset: 11748}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonBlockAttributes100, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -12679,28 +12679,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonBlockAttributes103, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -12709,9 +12709,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -12719,27 +12719,27 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 376, col: 46, offset: 11759}, expr: &actionExpr{ - pos: position{line: 683, col: 14, offset: 22042}, + pos: position{line: 690, col: 14, offset: 22312}, run: (*parser).callonBlockAttributes111, expr: &seqExpr{ - pos: position{line: 683, col: 14, offset: 22042}, + pos: position{line: 690, col: 14, offset: 22312}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 683, col: 14, offset: 22042}, + pos: position{line: 690, col: 14, offset: 22312}, expr: ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, &zeroOrMoreExpr{ - pos: position{line: 683, col: 19, offset: 22047}, + pos: position{line: 690, col: 19, offset: 22317}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonBlockAttributes117, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -12748,28 +12748,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonBlockAttributes120, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -12778,9 +12778,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -12855,19 +12855,19 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 650, col: 5, offset: 20820}, + pos: position{line: 657, col: 5, offset: 21090}, run: (*parser).callonBlockAttributes144, expr: &seqExpr{ - pos: position{line: 650, col: 5, offset: 20820}, + pos: position{line: 657, col: 5, offset: 21090}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 650, col: 5, offset: 20820}, + pos: position{line: 657, col: 5, offset: 21090}, val: "\\{", ignoreCase: false, want: "\"\\\\{\"", }, &labeledExpr{ - pos: position{line: 650, col: 13, offset: 20828}, + pos: position{line: 657, col: 13, offset: 21098}, label: "name", expr: &actionExpr{ pos: position{line: 324, col: 18, offset: 10072}, @@ -12901,7 +12901,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 650, col: 32, offset: 20847}, + pos: position{line: 657, col: 32, offset: 21117}, val: "}", ignoreCase: false, want: "\"}\"", @@ -12910,19 +12910,19 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 657, col: 5, offset: 21088}, + pos: position{line: 664, col: 5, offset: 21358}, run: (*parser).callonBlockAttributes154, expr: &seqExpr{ - pos: position{line: 657, col: 5, offset: 21088}, + pos: position{line: 664, col: 5, offset: 21358}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 657, col: 5, offset: 21088}, + pos: position{line: 664, col: 5, offset: 21358}, val: "{", ignoreCase: false, want: "\"{\"", }, &labeledExpr{ - pos: position{line: 657, col: 9, offset: 21092}, + pos: position{line: 664, col: 9, offset: 21362}, label: "name", expr: &actionExpr{ pos: position{line: 324, col: 18, offset: 10072}, @@ -12956,7 +12956,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 657, col: 28, offset: 21111}, + pos: position{line: 664, col: 28, offset: 21381}, val: "}", ignoreCase: false, want: "\"}\"", @@ -12989,10 +12989,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 380, col: 35, offset: 11903}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonBlockAttributes167, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -13001,28 +13001,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonBlockAttributes170, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -13031,9 +13031,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -13041,27 +13041,27 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 380, col: 46, offset: 11914}, expr: &actionExpr{ - pos: position{line: 683, col: 14, offset: 22042}, + pos: position{line: 690, col: 14, offset: 22312}, run: (*parser).callonBlockAttributes178, expr: &seqExpr{ - pos: position{line: 683, col: 14, offset: 22042}, + pos: position{line: 690, col: 14, offset: 22312}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 683, col: 14, offset: 22042}, + pos: position{line: 690, col: 14, offset: 22312}, expr: ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, &zeroOrMoreExpr{ - pos: position{line: 683, col: 19, offset: 22047}, + pos: position{line: 690, col: 19, offset: 22317}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonBlockAttributes184, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -13070,28 +13070,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonBlockAttributes187, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -13100,9 +13100,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -13131,10 +13131,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 384, col: 44, offset: 12036}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonBlockAttributes199, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -13143,28 +13143,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonBlockAttributes202, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -13173,9 +13173,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -13183,27 +13183,27 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 384, col: 55, offset: 12047}, expr: &actionExpr{ - pos: position{line: 683, col: 14, offset: 22042}, + pos: position{line: 690, col: 14, offset: 22312}, run: (*parser).callonBlockAttributes210, expr: &seqExpr{ - pos: position{line: 683, col: 14, offset: 22042}, + pos: position{line: 690, col: 14, offset: 22312}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 683, col: 14, offset: 22042}, + pos: position{line: 690, col: 14, offset: 22312}, expr: ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, &zeroOrMoreExpr{ - pos: position{line: 683, col: 19, offset: 22047}, + pos: position{line: 690, col: 19, offset: 22317}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonBlockAttributes216, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -13212,28 +13212,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonBlockAttributes219, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -13242,9 +13242,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -13492,10 +13492,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 474, col: 13, offset: 14913}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonFirstPositionalAttributes23, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -13640,12 +13640,52 @@ var g = &grammar{ pos: position{line: 516, col: 9, offset: 16209}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 516, col: 10, offset: 16210}, + pos: position{line: 2787, col: 5, offset: 91579}, run: (*parser).callonShortHandAttributeValue9, + expr: &litMatcher{ + pos: position{line: 2787, col: 5, offset: 91579}, + val: "\"`", + ignoreCase: false, + want: "\"\\\"`\"", + }, + }, + &actionExpr{ + pos: position{line: 2790, col: 7, offset: 91637}, + run: (*parser).callonShortHandAttributeValue11, + expr: &litMatcher{ + pos: position{line: 2790, col: 7, offset: 91637}, + val: "`\"", + ignoreCase: false, + want: "\"`\\\"\"", + }, + }, + &actionExpr{ + pos: position{line: 2793, col: 7, offset: 91695}, + run: (*parser).callonShortHandAttributeValue13, + expr: &litMatcher{ + pos: position{line: 2793, col: 7, offset: 91695}, + val: "'`", + ignoreCase: false, + want: "\"'`\"", + }, + }, + &actionExpr{ + pos: position{line: 2796, col: 7, offset: 91751}, + run: (*parser).callonShortHandAttributeValue15, + expr: &litMatcher{ + pos: position{line: 2796, col: 7, offset: 91751}, + val: "`'", + ignoreCase: false, + want: "\"`'\"", + }, + }, + &actionExpr{ + pos: position{line: 517, col: 12, offset: 16235}, + run: (*parser).callonShortHandAttributeValue17, expr: &oneOrMoreExpr{ - pos: position{line: 516, col: 10, offset: 16210}, + pos: position{line: 517, col: 12, offset: 16235}, expr: &charClassMatcher{ - pos: position{line: 516, col: 10, offset: 16210}, + pos: position{line: 517, col: 12, offset: 16235}, val: "[^,=.%# \\r\\n�{]]", chars: []rune{',', '=', '.', '%', '#', ' ', '\r', '\n', '�', '{', ']'}, ignoreCase: false, @@ -13654,39 +13694,39 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 641, col: 5, offset: 20613}, - run: (*parser).callonShortHandAttributeValue12, + pos: position{line: 648, col: 5, offset: 20883}, + run: (*parser).callonShortHandAttributeValue20, expr: &seqExpr{ - pos: position{line: 641, col: 5, offset: 20613}, + pos: position{line: 648, col: 5, offset: 20883}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 641, col: 5, offset: 20613}, - run: (*parser).callonShortHandAttributeValue14, + pos: position{line: 648, col: 5, offset: 20883}, + run: (*parser).callonShortHandAttributeValue22, }, &labeledExpr{ - pos: position{line: 644, col: 5, offset: 20682}, + pos: position{line: 651, col: 5, offset: 20952}, label: "element", expr: &choiceExpr{ - pos: position{line: 644, col: 14, offset: 20691}, + pos: position{line: 651, col: 14, offset: 20961}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 664, col: 25, offset: 21344}, - run: (*parser).callonShortHandAttributeValue17, + pos: position{line: 671, col: 25, offset: 21614}, + run: (*parser).callonShortHandAttributeValue25, expr: &seqExpr{ - pos: position{line: 664, col: 25, offset: 21344}, + pos: position{line: 671, col: 25, offset: 21614}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 664, col: 25, offset: 21344}, + pos: position{line: 671, col: 25, offset: 21614}, val: "{counter:", ignoreCase: false, want: "\"{counter:\"", }, &labeledExpr{ - pos: position{line: 664, col: 37, offset: 21356}, + pos: position{line: 671, col: 37, offset: 21626}, label: "name", expr: &actionExpr{ pos: position{line: 324, col: 18, offset: 10072}, - run: (*parser).callonShortHandAttributeValue21, + run: (*parser).callonShortHandAttributeValue29, expr: &seqExpr{ pos: position{line: 324, col: 18, offset: 10072}, exprs: []interface{}{ @@ -13716,33 +13756,33 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 664, col: 56, offset: 21375}, + pos: position{line: 671, col: 56, offset: 21645}, label: "start", expr: &zeroOrOneExpr{ - pos: position{line: 664, col: 62, offset: 21381}, + pos: position{line: 671, col: 62, offset: 21651}, expr: &actionExpr{ - pos: position{line: 672, col: 17, offset: 21676}, - run: (*parser).callonShortHandAttributeValue28, + pos: position{line: 679, col: 17, offset: 21946}, + run: (*parser).callonShortHandAttributeValue36, expr: &seqExpr{ - pos: position{line: 672, col: 17, offset: 21676}, + pos: position{line: 679, col: 17, offset: 21946}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 672, col: 17, offset: 21676}, + pos: position{line: 679, col: 17, offset: 21946}, val: ":", ignoreCase: false, want: "\":\"", }, &labeledExpr{ - pos: position{line: 672, col: 21, offset: 21680}, + pos: position{line: 679, col: 21, offset: 21950}, label: "start", expr: &choiceExpr{ - pos: position{line: 672, col: 28, offset: 21687}, + pos: position{line: 679, col: 28, offset: 21957}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 672, col: 28, offset: 21687}, - run: (*parser).callonShortHandAttributeValue33, + pos: position{line: 679, col: 28, offset: 21957}, + run: (*parser).callonShortHandAttributeValue41, expr: &charClassMatcher{ - pos: position{line: 672, col: 28, offset: 21687}, + pos: position{line: 679, col: 28, offset: 21957}, val: "[A-Za-z]", ranges: []rune{'A', 'Z', 'a', 'z'}, ignoreCase: false, @@ -13750,12 +13790,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 674, col: 9, offset: 21741}, - run: (*parser).callonShortHandAttributeValue35, + pos: position{line: 681, col: 9, offset: 22011}, + run: (*parser).callonShortHandAttributeValue43, expr: &oneOrMoreExpr{ - pos: position{line: 674, col: 9, offset: 21741}, + pos: position{line: 681, col: 9, offset: 22011}, expr: &charClassMatcher{ - pos: position{line: 674, col: 9, offset: 21741}, + pos: position{line: 681, col: 9, offset: 22011}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -13772,7 +13812,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 664, col: 78, offset: 21397}, + pos: position{line: 671, col: 78, offset: 21667}, val: "}", ignoreCase: false, want: "\"}\"", @@ -13781,23 +13821,23 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 668, col: 25, offset: 21515}, - run: (*parser).callonShortHandAttributeValue39, + pos: position{line: 675, col: 25, offset: 21785}, + run: (*parser).callonShortHandAttributeValue47, expr: &seqExpr{ - pos: position{line: 668, col: 25, offset: 21515}, + pos: position{line: 675, col: 25, offset: 21785}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 668, col: 25, offset: 21515}, + pos: position{line: 675, col: 25, offset: 21785}, val: "{counter2:", ignoreCase: false, want: "\"{counter2:\"", }, &labeledExpr{ - pos: position{line: 668, col: 38, offset: 21528}, + pos: position{line: 675, col: 38, offset: 21798}, label: "name", expr: &actionExpr{ pos: position{line: 324, col: 18, offset: 10072}, - run: (*parser).callonShortHandAttributeValue43, + run: (*parser).callonShortHandAttributeValue51, expr: &seqExpr{ pos: position{line: 324, col: 18, offset: 10072}, exprs: []interface{}{ @@ -13827,33 +13867,33 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 668, col: 57, offset: 21547}, + pos: position{line: 675, col: 57, offset: 21817}, label: "start", expr: &zeroOrOneExpr{ - pos: position{line: 668, col: 63, offset: 21553}, + pos: position{line: 675, col: 63, offset: 21823}, expr: &actionExpr{ - pos: position{line: 672, col: 17, offset: 21676}, - run: (*parser).callonShortHandAttributeValue50, + pos: position{line: 679, col: 17, offset: 21946}, + run: (*parser).callonShortHandAttributeValue58, expr: &seqExpr{ - pos: position{line: 672, col: 17, offset: 21676}, + pos: position{line: 679, col: 17, offset: 21946}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 672, col: 17, offset: 21676}, + pos: position{line: 679, col: 17, offset: 21946}, val: ":", ignoreCase: false, want: "\":\"", }, &labeledExpr{ - pos: position{line: 672, col: 21, offset: 21680}, + pos: position{line: 679, col: 21, offset: 21950}, label: "start", expr: &choiceExpr{ - pos: position{line: 672, col: 28, offset: 21687}, + pos: position{line: 679, col: 28, offset: 21957}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 672, col: 28, offset: 21687}, - run: (*parser).callonShortHandAttributeValue55, + pos: position{line: 679, col: 28, offset: 21957}, + run: (*parser).callonShortHandAttributeValue63, expr: &charClassMatcher{ - pos: position{line: 672, col: 28, offset: 21687}, + pos: position{line: 679, col: 28, offset: 21957}, val: "[A-Za-z]", ranges: []rune{'A', 'Z', 'a', 'z'}, ignoreCase: false, @@ -13861,12 +13901,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 674, col: 9, offset: 21741}, - run: (*parser).callonShortHandAttributeValue57, + pos: position{line: 681, col: 9, offset: 22011}, + run: (*parser).callonShortHandAttributeValue65, expr: &oneOrMoreExpr{ - pos: position{line: 674, col: 9, offset: 21741}, + pos: position{line: 681, col: 9, offset: 22011}, expr: &charClassMatcher{ - pos: position{line: 674, col: 9, offset: 21741}, + pos: position{line: 681, col: 9, offset: 22011}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -13883,7 +13923,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 668, col: 79, offset: 21569}, + pos: position{line: 675, col: 79, offset: 21839}, val: "}", ignoreCase: false, want: "\"}\"", @@ -13892,23 +13932,23 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 650, col: 5, offset: 20820}, - run: (*parser).callonShortHandAttributeValue61, + pos: position{line: 657, col: 5, offset: 21090}, + run: (*parser).callonShortHandAttributeValue69, expr: &seqExpr{ - pos: position{line: 650, col: 5, offset: 20820}, + pos: position{line: 657, col: 5, offset: 21090}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 650, col: 5, offset: 20820}, + pos: position{line: 657, col: 5, offset: 21090}, val: "\\{", ignoreCase: false, want: "\"\\\\{\"", }, &labeledExpr{ - pos: position{line: 650, col: 13, offset: 20828}, + pos: position{line: 657, col: 13, offset: 21098}, label: "name", expr: &actionExpr{ pos: position{line: 324, col: 18, offset: 10072}, - run: (*parser).callonShortHandAttributeValue65, + run: (*parser).callonShortHandAttributeValue73, expr: &seqExpr{ pos: position{line: 324, col: 18, offset: 10072}, exprs: []interface{}{ @@ -13938,7 +13978,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 650, col: 32, offset: 20847}, + pos: position{line: 657, col: 32, offset: 21117}, val: "}", ignoreCase: false, want: "\"}\"", @@ -13947,23 +13987,23 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 657, col: 5, offset: 21088}, - run: (*parser).callonShortHandAttributeValue71, + pos: position{line: 664, col: 5, offset: 21358}, + run: (*parser).callonShortHandAttributeValue79, expr: &seqExpr{ - pos: position{line: 657, col: 5, offset: 21088}, + pos: position{line: 664, col: 5, offset: 21358}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 657, col: 5, offset: 21088}, + pos: position{line: 664, col: 5, offset: 21358}, val: "{", ignoreCase: false, want: "\"{\"", }, &labeledExpr{ - pos: position{line: 657, col: 9, offset: 21092}, + pos: position{line: 664, col: 9, offset: 21362}, label: "name", expr: &actionExpr{ pos: position{line: 324, col: 18, offset: 10072}, - run: (*parser).callonShortHandAttributeValue75, + run: (*parser).callonShortHandAttributeValue83, expr: &seqExpr{ pos: position{line: 324, col: 18, offset: 10072}, exprs: []interface{}{ @@ -13993,7 +14033,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 657, col: 28, offset: 21111}, + pos: position{line: 664, col: 28, offset: 21381}, val: "}", ignoreCase: false, want: "\"}\"", @@ -14008,10 +14048,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 521, col: 12, offset: 16378}, - run: (*parser).callonShortHandAttributeValue81, + pos: position{line: 522, col: 12, offset: 16403}, + run: (*parser).callonShortHandAttributeValue89, expr: &litMatcher{ - pos: position{line: 521, col: 12, offset: 16378}, + pos: position{line: 522, col: 12, offset: 16403}, val: "{", ignoreCase: false, want: "\"{\"", @@ -14022,19 +14062,19 @@ var g = &grammar{ }, }, &andExpr{ - pos: position{line: 525, col: 5, offset: 16466}, + pos: position{line: 526, col: 5, offset: 16491}, expr: ¬Expr{ - pos: position{line: 525, col: 7, offset: 16468}, + pos: position{line: 526, col: 7, offset: 16493}, expr: &seqExpr{ - pos: position{line: 525, col: 9, offset: 16470}, + pos: position{line: 526, col: 9, offset: 16495}, exprs: []interface{}{ &zeroOrMoreExpr{ - pos: position{line: 525, col: 9, offset: 16470}, + pos: position{line: 526, col: 9, offset: 16495}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, - run: (*parser).callonShortHandAttributeValue87, + pos: position{line: 3072, col: 10, offset: 100034}, + run: (*parser).callonShortHandAttributeValue95, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -14043,7 +14083,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 525, col: 16, offset: 16477}, + pos: position{line: 526, col: 16, offset: 16502}, val: "=", ignoreCase: false, want: "\"=\"", @@ -14060,45 +14100,45 @@ var g = &grammar{ }, { name: "PositionalAttribute", - pos: position{line: 530, col: 1, offset: 16555}, + pos: position{line: 531, col: 1, offset: 16580}, expr: &choiceExpr{ - pos: position{line: 530, col: 24, offset: 16578}, + pos: position{line: 531, col: 24, offset: 16603}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 531, col: 5, offset: 16584}, + pos: position{line: 532, col: 5, offset: 16609}, run: (*parser).callonPositionalAttribute2, expr: &seqExpr{ - pos: position{line: 531, col: 5, offset: 16584}, + pos: position{line: 532, col: 5, offset: 16609}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 531, col: 5, offset: 16584}, + pos: position{line: 532, col: 5, offset: 16609}, label: "value", expr: &ruleRefExpr{ - pos: position{line: 531, col: 12, offset: 16591}, + pos: position{line: 532, col: 12, offset: 16616}, name: "AttributeValue", }, }, &choiceExpr{ - pos: position{line: 531, col: 29, offset: 16608}, + pos: position{line: 532, col: 29, offset: 16633}, alternatives: []interface{}{ &zeroOrOneExpr{ - pos: position{line: 531, col: 29, offset: 16608}, + pos: position{line: 532, col: 29, offset: 16633}, expr: &seqExpr{ - pos: position{line: 531, col: 30, offset: 16609}, + pos: position{line: 532, col: 30, offset: 16634}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 531, col: 30, offset: 16609}, + pos: position{line: 532, col: 30, offset: 16634}, val: ",", ignoreCase: false, want: "\",\"", }, &zeroOrMoreExpr{ - pos: position{line: 531, col: 34, offset: 16613}, + pos: position{line: 532, col: 34, offset: 16638}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonPositionalAttribute11, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -14110,9 +14150,9 @@ var g = &grammar{ }, }, &andExpr{ - pos: position{line: 531, col: 45, offset: 16624}, + pos: position{line: 532, col: 45, offset: 16649}, expr: &litMatcher{ - pos: position{line: 531, col: 46, offset: 16625}, + pos: position{line: 532, col: 46, offset: 16650}, val: "]", ignoreCase: false, want: "\"]\"", @@ -14124,24 +14164,24 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 536, col: 6, offset: 16862}, + pos: position{line: 537, col: 6, offset: 16887}, run: (*parser).callonPositionalAttribute15, expr: &seqExpr{ - pos: position{line: 536, col: 6, offset: 16862}, + pos: position{line: 537, col: 6, offset: 16887}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 536, col: 6, offset: 16862}, + pos: position{line: 537, col: 6, offset: 16887}, label: "value", expr: &seqExpr{ - pos: position{line: 536, col: 13, offset: 16869}, + pos: position{line: 537, col: 13, offset: 16894}, exprs: []interface{}{ &zeroOrMoreExpr{ - pos: position{line: 536, col: 13, offset: 16869}, + pos: position{line: 537, col: 13, offset: 16894}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonPositionalAttribute20, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -14150,24 +14190,24 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 536, col: 21, offset: 16877}, + pos: position{line: 537, col: 21, offset: 16902}, alternatives: []interface{}{ &seqExpr{ - pos: position{line: 536, col: 22, offset: 16878}, + pos: position{line: 537, col: 22, offset: 16903}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 536, col: 22, offset: 16878}, + pos: position{line: 537, col: 22, offset: 16903}, val: ",", ignoreCase: false, want: "\",\"", }, &zeroOrMoreExpr{ - pos: position{line: 536, col: 26, offset: 16882}, + pos: position{line: 537, col: 26, offset: 16907}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonPositionalAttribute26, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -14178,9 +14218,9 @@ var g = &grammar{ }, }, &andExpr{ - pos: position{line: 536, col: 36, offset: 16892}, + pos: position{line: 537, col: 36, offset: 16917}, expr: &litMatcher{ - pos: position{line: 536, col: 37, offset: 16893}, + pos: position{line: 537, col: 37, offset: 16918}, val: "]", ignoreCase: false, want: "\"]\"", @@ -14192,7 +14232,7 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 537, col: 5, offset: 16903}, + pos: position{line: 538, col: 5, offset: 16928}, run: (*parser).callonPositionalAttribute30, }, }, @@ -14203,29 +14243,29 @@ var g = &grammar{ }, { name: "NamedAttribute", - pos: position{line: 547, col: 1, offset: 17218}, + pos: position{line: 548, col: 1, offset: 17243}, expr: &actionExpr{ - pos: position{line: 547, col: 19, offset: 17236}, + pos: position{line: 548, col: 19, offset: 17261}, run: (*parser).callonNamedAttribute1, expr: &seqExpr{ - pos: position{line: 547, col: 19, offset: 17236}, + pos: position{line: 548, col: 19, offset: 17261}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 547, col: 19, offset: 17236}, + pos: position{line: 548, col: 19, offset: 17261}, label: "key", expr: &actionExpr{ - pos: position{line: 552, col: 22, offset: 17544}, + pos: position{line: 553, col: 22, offset: 17569}, run: (*parser).callonNamedAttribute4, expr: &seqExpr{ - pos: position{line: 552, col: 22, offset: 17544}, + pos: position{line: 553, col: 22, offset: 17569}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 552, col: 22, offset: 17544}, + pos: position{line: 553, col: 22, offset: 17569}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonNamedAttribute7, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -14234,9 +14274,9 @@ var g = &grammar{ }, }, &oneOrMoreExpr{ - pos: position{line: 552, col: 29, offset: 17551}, + pos: position{line: 553, col: 29, offset: 17576}, expr: &charClassMatcher{ - pos: position{line: 552, col: 29, offset: 17551}, + pos: position{line: 553, col: 29, offset: 17576}, val: "[^\\r\\n=,]]", chars: []rune{'\r', '\n', '=', ',', ']'}, ignoreCase: false, @@ -14244,12 +14284,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 552, col: 42, offset: 17564}, + pos: position{line: 553, col: 42, offset: 17589}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonNamedAttribute12, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -14262,18 +14302,18 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 547, col: 43, offset: 17260}, + pos: position{line: 548, col: 43, offset: 17285}, val: "=", ignoreCase: false, want: "\"=\"", }, &zeroOrMoreExpr{ - pos: position{line: 547, col: 47, offset: 17264}, + pos: position{line: 548, col: 47, offset: 17289}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonNamedAttribute16, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -14282,31 +14322,31 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 547, col: 54, offset: 17271}, + pos: position{line: 548, col: 54, offset: 17296}, label: "value", expr: &ruleRefExpr{ - pos: position{line: 547, col: 61, offset: 17278}, + pos: position{line: 548, col: 61, offset: 17303}, name: "AttributeValue", }, }, &zeroOrOneExpr{ - pos: position{line: 547, col: 77, offset: 17294}, + pos: position{line: 548, col: 77, offset: 17319}, expr: &seqExpr{ - pos: position{line: 547, col: 78, offset: 17295}, + pos: position{line: 548, col: 78, offset: 17320}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 547, col: 78, offset: 17295}, + pos: position{line: 548, col: 78, offset: 17320}, val: ",", ignoreCase: false, want: "\",\"", }, &zeroOrMoreExpr{ - pos: position{line: 547, col: 82, offset: 17299}, + pos: position{line: 548, col: 82, offset: 17324}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonNamedAttribute24, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -14323,48 +14363,48 @@ var g = &grammar{ }, { name: "AttributeValue", - pos: position{line: 556, col: 1, offset: 17634}, + pos: position{line: 557, col: 1, offset: 17659}, expr: &actionExpr{ - pos: position{line: 557, col: 5, offset: 17657}, + pos: position{line: 558, col: 5, offset: 17682}, run: (*parser).callonAttributeValue1, expr: &seqExpr{ - pos: position{line: 557, col: 5, offset: 17657}, + pos: position{line: 558, col: 5, offset: 17682}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 557, col: 5, offset: 17657}, + pos: position{line: 558, col: 5, offset: 17682}, label: "value", expr: &choiceExpr{ - pos: position{line: 558, col: 9, offset: 17673}, + pos: position{line: 559, col: 9, offset: 17698}, alternatives: []interface{}{ &ruleRefExpr{ - pos: position{line: 558, col: 9, offset: 17673}, + pos: position{line: 559, col: 9, offset: 17698}, name: "SingleQuotedAttributeValue", }, &ruleRefExpr{ - pos: position{line: 559, col: 11, offset: 17711}, + pos: position{line: 560, col: 11, offset: 17736}, name: "DoubleQuotedAttributeValue", }, &ruleRefExpr{ - pos: position{line: 560, col: 11, offset: 17749}, + pos: position{line: 561, col: 11, offset: 17774}, name: "UnquotedAttributeValue", }, }, }, }, &andExpr{ - pos: position{line: 562, col: 5, offset: 17783}, + pos: position{line: 563, col: 5, offset: 17808}, expr: ¬Expr{ - pos: position{line: 562, col: 7, offset: 17785}, + pos: position{line: 563, col: 7, offset: 17810}, expr: &seqExpr{ - pos: position{line: 562, col: 9, offset: 17787}, + pos: position{line: 563, col: 9, offset: 17812}, exprs: []interface{}{ &zeroOrMoreExpr{ - pos: position{line: 562, col: 9, offset: 17787}, + pos: position{line: 563, col: 9, offset: 17812}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonAttributeValue12, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -14373,7 +14413,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 562, col: 16, offset: 17794}, + pos: position{line: 563, col: 16, offset: 17819}, val: "=", ignoreCase: false, want: "\"=\"", @@ -14388,38 +14428,38 @@ var g = &grammar{ }, { name: "SingleQuotedAttributeValue", - pos: position{line: 566, col: 1, offset: 17835}, + pos: position{line: 567, col: 1, offset: 17860}, expr: &actionExpr{ - pos: position{line: 567, col: 5, offset: 17870}, + pos: position{line: 568, col: 5, offset: 17895}, run: (*parser).callonSingleQuotedAttributeValue1, expr: &seqExpr{ - pos: position{line: 567, col: 5, offset: 17870}, + pos: position{line: 568, col: 5, offset: 17895}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 567, col: 5, offset: 17870}, + pos: position{line: 568, col: 5, offset: 17895}, val: "'", ignoreCase: false, want: "\"'\"", }, ¬Expr{ - pos: position{line: 567, col: 9, offset: 17874}, + pos: position{line: 568, col: 9, offset: 17899}, expr: &litMatcher{ - pos: position{line: 567, col: 10, offset: 17875}, + pos: position{line: 568, col: 10, offset: 17900}, val: "`", ignoreCase: false, want: "\"`\"", }, }, &labeledExpr{ - pos: position{line: 568, col: 5, offset: 17954}, + pos: position{line: 569, col: 5, offset: 17979}, label: "content", expr: &ruleRefExpr{ - pos: position{line: 568, col: 14, offset: 17963}, + pos: position{line: 569, col: 14, offset: 17988}, name: "SingleQuotedAttributeValueContent", }, }, &litMatcher{ - pos: position{line: 569, col: 5, offset: 18002}, + pos: position{line: 570, col: 5, offset: 18027}, val: "'", ignoreCase: false, want: "\"'\"", @@ -14430,25 +14470,25 @@ var g = &grammar{ }, { name: "SingleQuotedAttributeValueContent", - pos: position{line: 573, col: 1, offset: 18043}, + pos: position{line: 574, col: 1, offset: 18068}, expr: &actionExpr{ - pos: position{line: 574, col: 5, offset: 18085}, + pos: position{line: 575, col: 5, offset: 18110}, run: (*parser).callonSingleQuotedAttributeValueContent1, expr: &labeledExpr{ - pos: position{line: 574, col: 5, offset: 18085}, + pos: position{line: 575, col: 5, offset: 18110}, label: "elements", expr: &oneOrMoreExpr{ - pos: position{line: 574, col: 14, offset: 18094}, + pos: position{line: 575, col: 14, offset: 18119}, expr: &choiceExpr{ - pos: position{line: 575, col: 9, offset: 18104}, + pos: position{line: 576, col: 9, offset: 18129}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3094, col: 14, offset: 100787}, + pos: position{line: 2990, col: 14, offset: 97424}, run: (*parser).callonSingleQuotedAttributeValueContent5, expr: &oneOrMoreExpr{ - pos: position{line: 3094, col: 14, offset: 100787}, + pos: position{line: 2990, col: 14, offset: 97424}, expr: &charClassMatcher{ - pos: position{line: 3094, col: 14, offset: 100787}, + pos: position{line: 2990, col: 14, offset: 97424}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -14458,10 +14498,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonSingleQuotedAttributeValueContent8, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -14469,43 +14509,83 @@ var g = &grammar{ }, }, &ruleRefExpr{ - pos: position{line: 577, col: 11, offset: 18140}, + pos: position{line: 578, col: 11, offset: 18165}, name: "Quote", }, &actionExpr{ - pos: position{line: 641, col: 5, offset: 20613}, + pos: position{line: 2787, col: 5, offset: 91579}, run: (*parser).callonSingleQuotedAttributeValueContent11, + expr: &litMatcher{ + pos: position{line: 2787, col: 5, offset: 91579}, + val: "\"`", + ignoreCase: false, + want: "\"\\\"`\"", + }, + }, + &actionExpr{ + pos: position{line: 2790, col: 7, offset: 91637}, + run: (*parser).callonSingleQuotedAttributeValueContent13, + expr: &litMatcher{ + pos: position{line: 2790, col: 7, offset: 91637}, + val: "`\"", + ignoreCase: false, + want: "\"`\\\"\"", + }, + }, + &actionExpr{ + pos: position{line: 2793, col: 7, offset: 91695}, + run: (*parser).callonSingleQuotedAttributeValueContent15, + expr: &litMatcher{ + pos: position{line: 2793, col: 7, offset: 91695}, + val: "'`", + ignoreCase: false, + want: "\"'`\"", + }, + }, + &actionExpr{ + pos: position{line: 2796, col: 7, offset: 91751}, + run: (*parser).callonSingleQuotedAttributeValueContent17, + expr: &litMatcher{ + pos: position{line: 2796, col: 7, offset: 91751}, + val: "`'", + ignoreCase: false, + want: "\"`'\"", + }, + }, + &actionExpr{ + pos: position{line: 648, col: 5, offset: 20883}, + run: (*parser).callonSingleQuotedAttributeValueContent19, expr: &seqExpr{ - pos: position{line: 641, col: 5, offset: 20613}, + pos: position{line: 648, col: 5, offset: 20883}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 641, col: 5, offset: 20613}, - run: (*parser).callonSingleQuotedAttributeValueContent13, + pos: position{line: 648, col: 5, offset: 20883}, + run: (*parser).callonSingleQuotedAttributeValueContent21, }, &labeledExpr{ - pos: position{line: 644, col: 5, offset: 20682}, + pos: position{line: 651, col: 5, offset: 20952}, label: "element", expr: &choiceExpr{ - pos: position{line: 644, col: 14, offset: 20691}, + pos: position{line: 651, col: 14, offset: 20961}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 664, col: 25, offset: 21344}, - run: (*parser).callonSingleQuotedAttributeValueContent16, + pos: position{line: 671, col: 25, offset: 21614}, + run: (*parser).callonSingleQuotedAttributeValueContent24, expr: &seqExpr{ - pos: position{line: 664, col: 25, offset: 21344}, + pos: position{line: 671, col: 25, offset: 21614}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 664, col: 25, offset: 21344}, + pos: position{line: 671, col: 25, offset: 21614}, val: "{counter:", ignoreCase: false, want: "\"{counter:\"", }, &labeledExpr{ - pos: position{line: 664, col: 37, offset: 21356}, + pos: position{line: 671, col: 37, offset: 21626}, label: "name", expr: &actionExpr{ pos: position{line: 324, col: 18, offset: 10072}, - run: (*parser).callonSingleQuotedAttributeValueContent20, + run: (*parser).callonSingleQuotedAttributeValueContent28, expr: &seqExpr{ pos: position{line: 324, col: 18, offset: 10072}, exprs: []interface{}{ @@ -14535,33 +14615,33 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 664, col: 56, offset: 21375}, + pos: position{line: 671, col: 56, offset: 21645}, label: "start", expr: &zeroOrOneExpr{ - pos: position{line: 664, col: 62, offset: 21381}, + pos: position{line: 671, col: 62, offset: 21651}, expr: &actionExpr{ - pos: position{line: 672, col: 17, offset: 21676}, - run: (*parser).callonSingleQuotedAttributeValueContent27, + pos: position{line: 679, col: 17, offset: 21946}, + run: (*parser).callonSingleQuotedAttributeValueContent35, expr: &seqExpr{ - pos: position{line: 672, col: 17, offset: 21676}, + pos: position{line: 679, col: 17, offset: 21946}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 672, col: 17, offset: 21676}, + pos: position{line: 679, col: 17, offset: 21946}, val: ":", ignoreCase: false, want: "\":\"", }, &labeledExpr{ - pos: position{line: 672, col: 21, offset: 21680}, + pos: position{line: 679, col: 21, offset: 21950}, label: "start", expr: &choiceExpr{ - pos: position{line: 672, col: 28, offset: 21687}, + pos: position{line: 679, col: 28, offset: 21957}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 672, col: 28, offset: 21687}, - run: (*parser).callonSingleQuotedAttributeValueContent32, + pos: position{line: 679, col: 28, offset: 21957}, + run: (*parser).callonSingleQuotedAttributeValueContent40, expr: &charClassMatcher{ - pos: position{line: 672, col: 28, offset: 21687}, + pos: position{line: 679, col: 28, offset: 21957}, val: "[A-Za-z]", ranges: []rune{'A', 'Z', 'a', 'z'}, ignoreCase: false, @@ -14569,12 +14649,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 674, col: 9, offset: 21741}, - run: (*parser).callonSingleQuotedAttributeValueContent34, + pos: position{line: 681, col: 9, offset: 22011}, + run: (*parser).callonSingleQuotedAttributeValueContent42, expr: &oneOrMoreExpr{ - pos: position{line: 674, col: 9, offset: 21741}, + pos: position{line: 681, col: 9, offset: 22011}, expr: &charClassMatcher{ - pos: position{line: 674, col: 9, offset: 21741}, + pos: position{line: 681, col: 9, offset: 22011}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -14591,7 +14671,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 664, col: 78, offset: 21397}, + pos: position{line: 671, col: 78, offset: 21667}, val: "}", ignoreCase: false, want: "\"}\"", @@ -14600,23 +14680,23 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 668, col: 25, offset: 21515}, - run: (*parser).callonSingleQuotedAttributeValueContent38, + pos: position{line: 675, col: 25, offset: 21785}, + run: (*parser).callonSingleQuotedAttributeValueContent46, expr: &seqExpr{ - pos: position{line: 668, col: 25, offset: 21515}, + pos: position{line: 675, col: 25, offset: 21785}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 668, col: 25, offset: 21515}, + pos: position{line: 675, col: 25, offset: 21785}, val: "{counter2:", ignoreCase: false, want: "\"{counter2:\"", }, &labeledExpr{ - pos: position{line: 668, col: 38, offset: 21528}, + pos: position{line: 675, col: 38, offset: 21798}, label: "name", expr: &actionExpr{ pos: position{line: 324, col: 18, offset: 10072}, - run: (*parser).callonSingleQuotedAttributeValueContent42, + run: (*parser).callonSingleQuotedAttributeValueContent50, expr: &seqExpr{ pos: position{line: 324, col: 18, offset: 10072}, exprs: []interface{}{ @@ -14646,33 +14726,33 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 668, col: 57, offset: 21547}, + pos: position{line: 675, col: 57, offset: 21817}, label: "start", expr: &zeroOrOneExpr{ - pos: position{line: 668, col: 63, offset: 21553}, + pos: position{line: 675, col: 63, offset: 21823}, expr: &actionExpr{ - pos: position{line: 672, col: 17, offset: 21676}, - run: (*parser).callonSingleQuotedAttributeValueContent49, + pos: position{line: 679, col: 17, offset: 21946}, + run: (*parser).callonSingleQuotedAttributeValueContent57, expr: &seqExpr{ - pos: position{line: 672, col: 17, offset: 21676}, + pos: position{line: 679, col: 17, offset: 21946}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 672, col: 17, offset: 21676}, + pos: position{line: 679, col: 17, offset: 21946}, val: ":", ignoreCase: false, want: "\":\"", }, &labeledExpr{ - pos: position{line: 672, col: 21, offset: 21680}, + pos: position{line: 679, col: 21, offset: 21950}, label: "start", expr: &choiceExpr{ - pos: position{line: 672, col: 28, offset: 21687}, + pos: position{line: 679, col: 28, offset: 21957}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 672, col: 28, offset: 21687}, - run: (*parser).callonSingleQuotedAttributeValueContent54, + pos: position{line: 679, col: 28, offset: 21957}, + run: (*parser).callonSingleQuotedAttributeValueContent62, expr: &charClassMatcher{ - pos: position{line: 672, col: 28, offset: 21687}, + pos: position{line: 679, col: 28, offset: 21957}, val: "[A-Za-z]", ranges: []rune{'A', 'Z', 'a', 'z'}, ignoreCase: false, @@ -14680,12 +14760,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 674, col: 9, offset: 21741}, - run: (*parser).callonSingleQuotedAttributeValueContent56, + pos: position{line: 681, col: 9, offset: 22011}, + run: (*parser).callonSingleQuotedAttributeValueContent64, expr: &oneOrMoreExpr{ - pos: position{line: 674, col: 9, offset: 21741}, + pos: position{line: 681, col: 9, offset: 22011}, expr: &charClassMatcher{ - pos: position{line: 674, col: 9, offset: 21741}, + pos: position{line: 681, col: 9, offset: 22011}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -14702,7 +14782,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 668, col: 79, offset: 21569}, + pos: position{line: 675, col: 79, offset: 21839}, val: "}", ignoreCase: false, want: "\"}\"", @@ -14711,23 +14791,23 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 650, col: 5, offset: 20820}, - run: (*parser).callonSingleQuotedAttributeValueContent60, + pos: position{line: 657, col: 5, offset: 21090}, + run: (*parser).callonSingleQuotedAttributeValueContent68, expr: &seqExpr{ - pos: position{line: 650, col: 5, offset: 20820}, + pos: position{line: 657, col: 5, offset: 21090}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 650, col: 5, offset: 20820}, + pos: position{line: 657, col: 5, offset: 21090}, val: "\\{", ignoreCase: false, want: "\"\\\\{\"", }, &labeledExpr{ - pos: position{line: 650, col: 13, offset: 20828}, + pos: position{line: 657, col: 13, offset: 21098}, label: "name", expr: &actionExpr{ pos: position{line: 324, col: 18, offset: 10072}, - run: (*parser).callonSingleQuotedAttributeValueContent64, + run: (*parser).callonSingleQuotedAttributeValueContent72, expr: &seqExpr{ pos: position{line: 324, col: 18, offset: 10072}, exprs: []interface{}{ @@ -14757,7 +14837,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 650, col: 32, offset: 20847}, + pos: position{line: 657, col: 32, offset: 21117}, val: "}", ignoreCase: false, want: "\"}\"", @@ -14766,23 +14846,23 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 657, col: 5, offset: 21088}, - run: (*parser).callonSingleQuotedAttributeValueContent70, + pos: position{line: 664, col: 5, offset: 21358}, + run: (*parser).callonSingleQuotedAttributeValueContent78, expr: &seqExpr{ - pos: position{line: 657, col: 5, offset: 21088}, + pos: position{line: 664, col: 5, offset: 21358}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 657, col: 5, offset: 21088}, + pos: position{line: 664, col: 5, offset: 21358}, val: "{", ignoreCase: false, want: "\"{\"", }, &labeledExpr{ - pos: position{line: 657, col: 9, offset: 21092}, + pos: position{line: 664, col: 9, offset: 21362}, label: "name", expr: &actionExpr{ pos: position{line: 324, col: 18, offset: 10072}, - run: (*parser).callonSingleQuotedAttributeValueContent74, + run: (*parser).callonSingleQuotedAttributeValueContent82, expr: &seqExpr{ pos: position{line: 324, col: 18, offset: 10072}, exprs: []interface{}{ @@ -14812,7 +14892,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 657, col: 28, offset: 21111}, + pos: position{line: 664, col: 28, offset: 21381}, val: "}", ignoreCase: false, want: "\"}\"", @@ -14827,44 +14907,44 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 579, col: 12, offset: 18186}, - run: (*parser).callonSingleQuotedAttributeValueContent80, + pos: position{line: 581, col: 12, offset: 18235}, + run: (*parser).callonSingleQuotedAttributeValueContent88, expr: &litMatcher{ - pos: position{line: 579, col: 12, offset: 18186}, + pos: position{line: 581, col: 12, offset: 18235}, val: "\\'", ignoreCase: false, want: "\"\\\\'\"", }, }, &litMatcher{ - pos: position{line: 582, col: 13, offset: 18288}, + pos: position{line: 584, col: 13, offset: 18337}, val: "'`", ignoreCase: false, want: "\"'`\"", }, &litMatcher{ - pos: position{line: 582, col: 20, offset: 18295}, + pos: position{line: 584, col: 20, offset: 18344}, val: "`'", ignoreCase: false, want: "\"`'\"", }, &actionExpr{ - pos: position{line: 582, col: 27, offset: 18302}, - run: (*parser).callonSingleQuotedAttributeValueContent84, + pos: position{line: 584, col: 27, offset: 18351}, + run: (*parser).callonSingleQuotedAttributeValueContent92, expr: &litMatcher{ - pos: position{line: 582, col: 27, offset: 18302}, + pos: position{line: 584, col: 27, offset: 18351}, val: "\\", ignoreCase: false, want: "\"\\\\\"", }, }, &actionExpr{ - pos: position{line: 585, col: 12, offset: 18462}, - run: (*parser).callonSingleQuotedAttributeValueContent86, + pos: position{line: 587, col: 12, offset: 18511}, + run: (*parser).callonSingleQuotedAttributeValueContent94, expr: &oneOrMoreExpr{ - pos: position{line: 585, col: 12, offset: 18462}, + pos: position{line: 587, col: 12, offset: 18511}, expr: &charClassMatcher{ - pos: position{line: 585, col: 12, offset: 18462}, + pos: position{line: 587, col: 12, offset: 18511}, val: "[^\\r\\n\\\\\\ ]", chars: []rune{'\r', '\n', '\\', '\'', ' '}, ignoreCase: false, @@ -14880,56 +14960,56 @@ var g = &grammar{ }, { name: "DoubleQuotedAttributeValue", - pos: position{line: 592, col: 1, offset: 18659}, + pos: position{line: 594, col: 1, offset: 18708}, expr: &actionExpr{ - pos: position{line: 593, col: 5, offset: 18694}, + pos: position{line: 595, col: 5, offset: 18743}, run: (*parser).callonDoubleQuotedAttributeValue1, expr: &seqExpr{ - pos: position{line: 593, col: 5, offset: 18694}, + pos: position{line: 595, col: 5, offset: 18743}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 593, col: 5, offset: 18694}, + pos: position{line: 595, col: 5, offset: 18743}, val: "\"", ignoreCase: false, want: "\"\\\"\"", }, ¬Expr{ - pos: position{line: 593, col: 10, offset: 18699}, + pos: position{line: 595, col: 10, offset: 18748}, expr: &litMatcher{ - pos: position{line: 593, col: 11, offset: 18700}, + pos: position{line: 595, col: 11, offset: 18749}, val: "`", ignoreCase: false, want: "\"`\"", }, }, &labeledExpr{ - pos: position{line: 594, col: 5, offset: 18779}, + pos: position{line: 596, col: 5, offset: 18828}, label: "content", expr: &ruleRefExpr{ - pos: position{line: 594, col: 14, offset: 18788}, + pos: position{line: 596, col: 14, offset: 18837}, name: "DoubleQuotedAttributeValueContent", }, }, &litMatcher{ - pos: position{line: 595, col: 5, offset: 18827}, + pos: position{line: 597, col: 5, offset: 18876}, val: "\"", ignoreCase: false, want: "\"\\\"\"", }, &andExpr{ - pos: position{line: 595, col: 10, offset: 18832}, + pos: position{line: 597, col: 10, offset: 18881}, expr: ¬Expr{ - pos: position{line: 595, col: 12, offset: 18834}, + pos: position{line: 597, col: 12, offset: 18883}, expr: &seqExpr{ - pos: position{line: 595, col: 14, offset: 18836}, + pos: position{line: 597, col: 14, offset: 18885}, exprs: []interface{}{ &zeroOrMoreExpr{ - pos: position{line: 595, col: 14, offset: 18836}, + pos: position{line: 597, col: 14, offset: 18885}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonDoubleQuotedAttributeValue13, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -14938,7 +15018,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 595, col: 21, offset: 18843}, + pos: position{line: 597, col: 21, offset: 18892}, val: "=", ignoreCase: false, want: "\"=\"", @@ -14953,25 +15033,25 @@ var g = &grammar{ }, { name: "DoubleQuotedAttributeValueContent", - pos: position{line: 598, col: 1, offset: 18885}, + pos: position{line: 600, col: 1, offset: 18934}, expr: &actionExpr{ - pos: position{line: 599, col: 5, offset: 18927}, + pos: position{line: 601, col: 5, offset: 18976}, run: (*parser).callonDoubleQuotedAttributeValueContent1, expr: &labeledExpr{ - pos: position{line: 599, col: 5, offset: 18927}, + pos: position{line: 601, col: 5, offset: 18976}, label: "elements", expr: &oneOrMoreExpr{ - pos: position{line: 599, col: 14, offset: 18936}, + pos: position{line: 601, col: 14, offset: 18985}, expr: &choiceExpr{ - pos: position{line: 600, col: 9, offset: 18946}, + pos: position{line: 602, col: 9, offset: 18995}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3094, col: 14, offset: 100787}, + pos: position{line: 2990, col: 14, offset: 97424}, run: (*parser).callonDoubleQuotedAttributeValueContent5, expr: &oneOrMoreExpr{ - pos: position{line: 3094, col: 14, offset: 100787}, + pos: position{line: 2990, col: 14, offset: 97424}, expr: &charClassMatcher{ - pos: position{line: 3094, col: 14, offset: 100787}, + pos: position{line: 2990, col: 14, offset: 97424}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -14981,10 +15061,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonDoubleQuotedAttributeValueContent8, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -14992,43 +15072,83 @@ var g = &grammar{ }, }, &ruleRefExpr{ - pos: position{line: 602, col: 11, offset: 18982}, + pos: position{line: 604, col: 11, offset: 19031}, name: "Quote", }, &actionExpr{ - pos: position{line: 641, col: 5, offset: 20613}, + pos: position{line: 2787, col: 5, offset: 91579}, run: (*parser).callonDoubleQuotedAttributeValueContent11, + expr: &litMatcher{ + pos: position{line: 2787, col: 5, offset: 91579}, + val: "\"`", + ignoreCase: false, + want: "\"\\\"`\"", + }, + }, + &actionExpr{ + pos: position{line: 2790, col: 7, offset: 91637}, + run: (*parser).callonDoubleQuotedAttributeValueContent13, + expr: &litMatcher{ + pos: position{line: 2790, col: 7, offset: 91637}, + val: "`\"", + ignoreCase: false, + want: "\"`\\\"\"", + }, + }, + &actionExpr{ + pos: position{line: 2793, col: 7, offset: 91695}, + run: (*parser).callonDoubleQuotedAttributeValueContent15, + expr: &litMatcher{ + pos: position{line: 2793, col: 7, offset: 91695}, + val: "'`", + ignoreCase: false, + want: "\"'`\"", + }, + }, + &actionExpr{ + pos: position{line: 2796, col: 7, offset: 91751}, + run: (*parser).callonDoubleQuotedAttributeValueContent17, + expr: &litMatcher{ + pos: position{line: 2796, col: 7, offset: 91751}, + val: "`'", + ignoreCase: false, + want: "\"`'\"", + }, + }, + &actionExpr{ + pos: position{line: 648, col: 5, offset: 20883}, + run: (*parser).callonDoubleQuotedAttributeValueContent19, expr: &seqExpr{ - pos: position{line: 641, col: 5, offset: 20613}, + pos: position{line: 648, col: 5, offset: 20883}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 641, col: 5, offset: 20613}, - run: (*parser).callonDoubleQuotedAttributeValueContent13, + pos: position{line: 648, col: 5, offset: 20883}, + run: (*parser).callonDoubleQuotedAttributeValueContent21, }, &labeledExpr{ - pos: position{line: 644, col: 5, offset: 20682}, + pos: position{line: 651, col: 5, offset: 20952}, label: "element", expr: &choiceExpr{ - pos: position{line: 644, col: 14, offset: 20691}, + pos: position{line: 651, col: 14, offset: 20961}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 664, col: 25, offset: 21344}, - run: (*parser).callonDoubleQuotedAttributeValueContent16, + pos: position{line: 671, col: 25, offset: 21614}, + run: (*parser).callonDoubleQuotedAttributeValueContent24, expr: &seqExpr{ - pos: position{line: 664, col: 25, offset: 21344}, + pos: position{line: 671, col: 25, offset: 21614}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 664, col: 25, offset: 21344}, + pos: position{line: 671, col: 25, offset: 21614}, val: "{counter:", ignoreCase: false, want: "\"{counter:\"", }, &labeledExpr{ - pos: position{line: 664, col: 37, offset: 21356}, + pos: position{line: 671, col: 37, offset: 21626}, label: "name", expr: &actionExpr{ pos: position{line: 324, col: 18, offset: 10072}, - run: (*parser).callonDoubleQuotedAttributeValueContent20, + run: (*parser).callonDoubleQuotedAttributeValueContent28, expr: &seqExpr{ pos: position{line: 324, col: 18, offset: 10072}, exprs: []interface{}{ @@ -15058,33 +15178,33 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 664, col: 56, offset: 21375}, + pos: position{line: 671, col: 56, offset: 21645}, label: "start", expr: &zeroOrOneExpr{ - pos: position{line: 664, col: 62, offset: 21381}, + pos: position{line: 671, col: 62, offset: 21651}, expr: &actionExpr{ - pos: position{line: 672, col: 17, offset: 21676}, - run: (*parser).callonDoubleQuotedAttributeValueContent27, + pos: position{line: 679, col: 17, offset: 21946}, + run: (*parser).callonDoubleQuotedAttributeValueContent35, expr: &seqExpr{ - pos: position{line: 672, col: 17, offset: 21676}, + pos: position{line: 679, col: 17, offset: 21946}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 672, col: 17, offset: 21676}, + pos: position{line: 679, col: 17, offset: 21946}, val: ":", ignoreCase: false, want: "\":\"", }, &labeledExpr{ - pos: position{line: 672, col: 21, offset: 21680}, + pos: position{line: 679, col: 21, offset: 21950}, label: "start", expr: &choiceExpr{ - pos: position{line: 672, col: 28, offset: 21687}, + pos: position{line: 679, col: 28, offset: 21957}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 672, col: 28, offset: 21687}, - run: (*parser).callonDoubleQuotedAttributeValueContent32, + pos: position{line: 679, col: 28, offset: 21957}, + run: (*parser).callonDoubleQuotedAttributeValueContent40, expr: &charClassMatcher{ - pos: position{line: 672, col: 28, offset: 21687}, + pos: position{line: 679, col: 28, offset: 21957}, val: "[A-Za-z]", ranges: []rune{'A', 'Z', 'a', 'z'}, ignoreCase: false, @@ -15092,12 +15212,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 674, col: 9, offset: 21741}, - run: (*parser).callonDoubleQuotedAttributeValueContent34, + pos: position{line: 681, col: 9, offset: 22011}, + run: (*parser).callonDoubleQuotedAttributeValueContent42, expr: &oneOrMoreExpr{ - pos: position{line: 674, col: 9, offset: 21741}, + pos: position{line: 681, col: 9, offset: 22011}, expr: &charClassMatcher{ - pos: position{line: 674, col: 9, offset: 21741}, + pos: position{line: 681, col: 9, offset: 22011}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -15114,7 +15234,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 664, col: 78, offset: 21397}, + pos: position{line: 671, col: 78, offset: 21667}, val: "}", ignoreCase: false, want: "\"}\"", @@ -15123,23 +15243,23 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 668, col: 25, offset: 21515}, - run: (*parser).callonDoubleQuotedAttributeValueContent38, + pos: position{line: 675, col: 25, offset: 21785}, + run: (*parser).callonDoubleQuotedAttributeValueContent46, expr: &seqExpr{ - pos: position{line: 668, col: 25, offset: 21515}, + pos: position{line: 675, col: 25, offset: 21785}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 668, col: 25, offset: 21515}, + pos: position{line: 675, col: 25, offset: 21785}, val: "{counter2:", ignoreCase: false, want: "\"{counter2:\"", }, &labeledExpr{ - pos: position{line: 668, col: 38, offset: 21528}, + pos: position{line: 675, col: 38, offset: 21798}, label: "name", expr: &actionExpr{ pos: position{line: 324, col: 18, offset: 10072}, - run: (*parser).callonDoubleQuotedAttributeValueContent42, + run: (*parser).callonDoubleQuotedAttributeValueContent50, expr: &seqExpr{ pos: position{line: 324, col: 18, offset: 10072}, exprs: []interface{}{ @@ -15169,33 +15289,33 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 668, col: 57, offset: 21547}, + pos: position{line: 675, col: 57, offset: 21817}, label: "start", expr: &zeroOrOneExpr{ - pos: position{line: 668, col: 63, offset: 21553}, + pos: position{line: 675, col: 63, offset: 21823}, expr: &actionExpr{ - pos: position{line: 672, col: 17, offset: 21676}, - run: (*parser).callonDoubleQuotedAttributeValueContent49, + pos: position{line: 679, col: 17, offset: 21946}, + run: (*parser).callonDoubleQuotedAttributeValueContent57, expr: &seqExpr{ - pos: position{line: 672, col: 17, offset: 21676}, + pos: position{line: 679, col: 17, offset: 21946}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 672, col: 17, offset: 21676}, + pos: position{line: 679, col: 17, offset: 21946}, val: ":", ignoreCase: false, want: "\":\"", }, &labeledExpr{ - pos: position{line: 672, col: 21, offset: 21680}, + pos: position{line: 679, col: 21, offset: 21950}, label: "start", expr: &choiceExpr{ - pos: position{line: 672, col: 28, offset: 21687}, + pos: position{line: 679, col: 28, offset: 21957}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 672, col: 28, offset: 21687}, - run: (*parser).callonDoubleQuotedAttributeValueContent54, + pos: position{line: 679, col: 28, offset: 21957}, + run: (*parser).callonDoubleQuotedAttributeValueContent62, expr: &charClassMatcher{ - pos: position{line: 672, col: 28, offset: 21687}, + pos: position{line: 679, col: 28, offset: 21957}, val: "[A-Za-z]", ranges: []rune{'A', 'Z', 'a', 'z'}, ignoreCase: false, @@ -15203,12 +15323,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 674, col: 9, offset: 21741}, - run: (*parser).callonDoubleQuotedAttributeValueContent56, + pos: position{line: 681, col: 9, offset: 22011}, + run: (*parser).callonDoubleQuotedAttributeValueContent64, expr: &oneOrMoreExpr{ - pos: position{line: 674, col: 9, offset: 21741}, + pos: position{line: 681, col: 9, offset: 22011}, expr: &charClassMatcher{ - pos: position{line: 674, col: 9, offset: 21741}, + pos: position{line: 681, col: 9, offset: 22011}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -15225,7 +15345,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 668, col: 79, offset: 21569}, + pos: position{line: 675, col: 79, offset: 21839}, val: "}", ignoreCase: false, want: "\"}\"", @@ -15234,23 +15354,23 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 650, col: 5, offset: 20820}, - run: (*parser).callonDoubleQuotedAttributeValueContent60, + pos: position{line: 657, col: 5, offset: 21090}, + run: (*parser).callonDoubleQuotedAttributeValueContent68, expr: &seqExpr{ - pos: position{line: 650, col: 5, offset: 20820}, + pos: position{line: 657, col: 5, offset: 21090}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 650, col: 5, offset: 20820}, + pos: position{line: 657, col: 5, offset: 21090}, val: "\\{", ignoreCase: false, want: "\"\\\\{\"", }, &labeledExpr{ - pos: position{line: 650, col: 13, offset: 20828}, + pos: position{line: 657, col: 13, offset: 21098}, label: "name", expr: &actionExpr{ pos: position{line: 324, col: 18, offset: 10072}, - run: (*parser).callonDoubleQuotedAttributeValueContent64, + run: (*parser).callonDoubleQuotedAttributeValueContent72, expr: &seqExpr{ pos: position{line: 324, col: 18, offset: 10072}, exprs: []interface{}{ @@ -15280,7 +15400,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 650, col: 32, offset: 20847}, + pos: position{line: 657, col: 32, offset: 21117}, val: "}", ignoreCase: false, want: "\"}\"", @@ -15289,23 +15409,23 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 657, col: 5, offset: 21088}, - run: (*parser).callonDoubleQuotedAttributeValueContent70, + pos: position{line: 664, col: 5, offset: 21358}, + run: (*parser).callonDoubleQuotedAttributeValueContent78, expr: &seqExpr{ - pos: position{line: 657, col: 5, offset: 21088}, + pos: position{line: 664, col: 5, offset: 21358}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 657, col: 5, offset: 21088}, + pos: position{line: 664, col: 5, offset: 21358}, val: "{", ignoreCase: false, want: "\"{\"", }, &labeledExpr{ - pos: position{line: 657, col: 9, offset: 21092}, + pos: position{line: 664, col: 9, offset: 21362}, label: "name", expr: &actionExpr{ pos: position{line: 324, col: 18, offset: 10072}, - run: (*parser).callonDoubleQuotedAttributeValueContent74, + run: (*parser).callonDoubleQuotedAttributeValueContent82, expr: &seqExpr{ pos: position{line: 324, col: 18, offset: 10072}, exprs: []interface{}{ @@ -15335,7 +15455,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 657, col: 28, offset: 21111}, + pos: position{line: 664, col: 28, offset: 21381}, val: "}", ignoreCase: false, want: "\"}\"", @@ -15350,50 +15470,50 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 604, col: 12, offset: 19029}, - run: (*parser).callonDoubleQuotedAttributeValueContent80, + pos: position{line: 607, col: 12, offset: 19102}, + run: (*parser).callonDoubleQuotedAttributeValueContent88, expr: &litMatcher{ - pos: position{line: 604, col: 12, offset: 19029}, + pos: position{line: 607, col: 12, offset: 19102}, val: "\\\"", ignoreCase: false, want: "\"\\\\\\\"\"", }, }, &litMatcher{ - pos: position{line: 607, col: 13, offset: 19131}, + pos: position{line: 610, col: 13, offset: 19204}, val: "\"`", ignoreCase: false, want: "\"\\\"`\"", }, &litMatcher{ - pos: position{line: 607, col: 21, offset: 19139}, + pos: position{line: 610, col: 21, offset: 19212}, val: "`\"", ignoreCase: false, want: "\"`\\\"\"", }, &litMatcher{ - pos: position{line: 607, col: 29, offset: 19147}, + pos: position{line: 610, col: 29, offset: 19220}, val: "\\", ignoreCase: false, want: "\"\\\\\"", }, &actionExpr{ - pos: position{line: 607, col: 35, offset: 19153}, - run: (*parser).callonDoubleQuotedAttributeValueContent85, + pos: position{line: 610, col: 35, offset: 19226}, + run: (*parser).callonDoubleQuotedAttributeValueContent93, expr: &litMatcher{ - pos: position{line: 607, col: 35, offset: 19153}, + pos: position{line: 610, col: 35, offset: 19226}, val: "`", ignoreCase: false, want: "\"`\"", }, }, &actionExpr{ - pos: position{line: 610, col: 12, offset: 19336}, - run: (*parser).callonDoubleQuotedAttributeValueContent87, + pos: position{line: 613, col: 12, offset: 19409}, + run: (*parser).callonDoubleQuotedAttributeValueContent95, expr: &oneOrMoreExpr{ - pos: position{line: 610, col: 12, offset: 19336}, + pos: position{line: 613, col: 12, offset: 19409}, expr: &charClassMatcher{ - pos: position{line: 610, col: 12, offset: 19336}, + pos: position{line: 613, col: 12, offset: 19409}, val: "[^\\r\\n\\\\\"` ]", chars: []rune{'\r', '\n', '\\', '"', '`', ' '}, ignoreCase: false, @@ -15409,20 +15529,20 @@ var g = &grammar{ }, { name: "UnquotedAttributeValue", - pos: position{line: 618, col: 1, offset: 19610}, + pos: position{line: 621, col: 1, offset: 19683}, expr: &actionExpr{ - pos: position{line: 621, col: 5, offset: 19794}, + pos: position{line: 624, col: 5, offset: 19867}, run: (*parser).callonUnquotedAttributeValue1, expr: &seqExpr{ - pos: position{line: 621, col: 5, offset: 19794}, + pos: position{line: 624, col: 5, offset: 19867}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 621, col: 5, offset: 19794}, + pos: position{line: 624, col: 5, offset: 19867}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonUnquotedAttributeValue4, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -15431,32 +15551,32 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 622, col: 5, offset: 19863}, + pos: position{line: 625, col: 5, offset: 19936}, label: "elements", expr: &oneOrMoreExpr{ - pos: position{line: 622, col: 14, offset: 19872}, + pos: position{line: 625, col: 14, offset: 19945}, expr: &choiceExpr{ - pos: position{line: 623, col: 9, offset: 19882}, + pos: position{line: 626, col: 9, offset: 19955}, alternatives: []interface{}{ &ruleRefExpr{ - pos: position{line: 623, col: 9, offset: 19882}, + pos: position{line: 626, col: 9, offset: 19955}, name: "Quote", }, &seqExpr{ - pos: position{line: 624, col: 12, offset: 19939}, + pos: position{line: 627, col: 12, offset: 20031}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 624, col: 12, offset: 19939}, + pos: position{line: 627, col: 12, offset: 20031}, val: "[", ignoreCase: false, want: "\"[\"", }, &ruleRefExpr{ - pos: position{line: 624, col: 16, offset: 19943}, + pos: position{line: 627, col: 16, offset: 20035}, name: "UnquotedAttributeValue", }, &litMatcher{ - pos: position{line: 624, col: 39, offset: 19966}, + pos: position{line: 627, col: 39, offset: 20058}, val: "]", ignoreCase: false, want: "\"]\"", @@ -15464,24 +15584,24 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 626, col: 12, offset: 20065}, + pos: position{line: 629, col: 12, offset: 20157}, run: (*parser).callonUnquotedAttributeValue14, expr: &oneOrMoreExpr{ - pos: position{line: 626, col: 12, offset: 20065}, + pos: position{line: 629, col: 12, offset: 20157}, expr: &charClassMatcher{ - pos: position{line: 626, col: 12, offset: 20065}, - val: "[^=,�]{ ]", - chars: []rune{'=', ',', '�', ']', '{', ' '}, + pos: position{line: 629, col: 12, offset: 20157}, + val: "[^=,�]{\\\"` ]", + chars: []rune{'=', ',', '�', ']', '{', '\'', '"', '`', ' '}, ignoreCase: false, inverted: true, }, }, }, &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonUnquotedAttributeValue17, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -15489,35 +15609,35 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 641, col: 5, offset: 20613}, + pos: position{line: 648, col: 5, offset: 20883}, run: (*parser).callonUnquotedAttributeValue19, expr: &seqExpr{ - pos: position{line: 641, col: 5, offset: 20613}, + pos: position{line: 648, col: 5, offset: 20883}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 641, col: 5, offset: 20613}, + pos: position{line: 648, col: 5, offset: 20883}, run: (*parser).callonUnquotedAttributeValue21, }, &labeledExpr{ - pos: position{line: 644, col: 5, offset: 20682}, + pos: position{line: 651, col: 5, offset: 20952}, label: "element", expr: &choiceExpr{ - pos: position{line: 644, col: 14, offset: 20691}, + pos: position{line: 651, col: 14, offset: 20961}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 664, col: 25, offset: 21344}, + pos: position{line: 671, col: 25, offset: 21614}, run: (*parser).callonUnquotedAttributeValue24, expr: &seqExpr{ - pos: position{line: 664, col: 25, offset: 21344}, + pos: position{line: 671, col: 25, offset: 21614}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 664, col: 25, offset: 21344}, + pos: position{line: 671, col: 25, offset: 21614}, val: "{counter:", ignoreCase: false, want: "\"{counter:\"", }, &labeledExpr{ - pos: position{line: 664, col: 37, offset: 21356}, + pos: position{line: 671, col: 37, offset: 21626}, label: "name", expr: &actionExpr{ pos: position{line: 324, col: 18, offset: 10072}, @@ -15551,33 +15671,33 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 664, col: 56, offset: 21375}, + pos: position{line: 671, col: 56, offset: 21645}, label: "start", expr: &zeroOrOneExpr{ - pos: position{line: 664, col: 62, offset: 21381}, + pos: position{line: 671, col: 62, offset: 21651}, expr: &actionExpr{ - pos: position{line: 672, col: 17, offset: 21676}, + pos: position{line: 679, col: 17, offset: 21946}, run: (*parser).callonUnquotedAttributeValue35, expr: &seqExpr{ - pos: position{line: 672, col: 17, offset: 21676}, + pos: position{line: 679, col: 17, offset: 21946}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 672, col: 17, offset: 21676}, + pos: position{line: 679, col: 17, offset: 21946}, val: ":", ignoreCase: false, want: "\":\"", }, &labeledExpr{ - pos: position{line: 672, col: 21, offset: 21680}, + pos: position{line: 679, col: 21, offset: 21950}, label: "start", expr: &choiceExpr{ - pos: position{line: 672, col: 28, offset: 21687}, + pos: position{line: 679, col: 28, offset: 21957}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 672, col: 28, offset: 21687}, + pos: position{line: 679, col: 28, offset: 21957}, run: (*parser).callonUnquotedAttributeValue40, expr: &charClassMatcher{ - pos: position{line: 672, col: 28, offset: 21687}, + pos: position{line: 679, col: 28, offset: 21957}, val: "[A-Za-z]", ranges: []rune{'A', 'Z', 'a', 'z'}, ignoreCase: false, @@ -15585,12 +15705,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 674, col: 9, offset: 21741}, + pos: position{line: 681, col: 9, offset: 22011}, run: (*parser).callonUnquotedAttributeValue42, expr: &oneOrMoreExpr{ - pos: position{line: 674, col: 9, offset: 21741}, + pos: position{line: 681, col: 9, offset: 22011}, expr: &charClassMatcher{ - pos: position{line: 674, col: 9, offset: 21741}, + pos: position{line: 681, col: 9, offset: 22011}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -15607,7 +15727,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 664, col: 78, offset: 21397}, + pos: position{line: 671, col: 78, offset: 21667}, val: "}", ignoreCase: false, want: "\"}\"", @@ -15616,19 +15736,19 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 668, col: 25, offset: 21515}, + pos: position{line: 675, col: 25, offset: 21785}, run: (*parser).callonUnquotedAttributeValue46, expr: &seqExpr{ - pos: position{line: 668, col: 25, offset: 21515}, + pos: position{line: 675, col: 25, offset: 21785}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 668, col: 25, offset: 21515}, + pos: position{line: 675, col: 25, offset: 21785}, val: "{counter2:", ignoreCase: false, want: "\"{counter2:\"", }, &labeledExpr{ - pos: position{line: 668, col: 38, offset: 21528}, + pos: position{line: 675, col: 38, offset: 21798}, label: "name", expr: &actionExpr{ pos: position{line: 324, col: 18, offset: 10072}, @@ -15662,33 +15782,33 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 668, col: 57, offset: 21547}, + pos: position{line: 675, col: 57, offset: 21817}, label: "start", expr: &zeroOrOneExpr{ - pos: position{line: 668, col: 63, offset: 21553}, + pos: position{line: 675, col: 63, offset: 21823}, expr: &actionExpr{ - pos: position{line: 672, col: 17, offset: 21676}, + pos: position{line: 679, col: 17, offset: 21946}, run: (*parser).callonUnquotedAttributeValue57, expr: &seqExpr{ - pos: position{line: 672, col: 17, offset: 21676}, + pos: position{line: 679, col: 17, offset: 21946}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 672, col: 17, offset: 21676}, + pos: position{line: 679, col: 17, offset: 21946}, val: ":", ignoreCase: false, want: "\":\"", }, &labeledExpr{ - pos: position{line: 672, col: 21, offset: 21680}, + pos: position{line: 679, col: 21, offset: 21950}, label: "start", expr: &choiceExpr{ - pos: position{line: 672, col: 28, offset: 21687}, + pos: position{line: 679, col: 28, offset: 21957}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 672, col: 28, offset: 21687}, + pos: position{line: 679, col: 28, offset: 21957}, run: (*parser).callonUnquotedAttributeValue62, expr: &charClassMatcher{ - pos: position{line: 672, col: 28, offset: 21687}, + pos: position{line: 679, col: 28, offset: 21957}, val: "[A-Za-z]", ranges: []rune{'A', 'Z', 'a', 'z'}, ignoreCase: false, @@ -15696,12 +15816,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 674, col: 9, offset: 21741}, + pos: position{line: 681, col: 9, offset: 22011}, run: (*parser).callonUnquotedAttributeValue64, expr: &oneOrMoreExpr{ - pos: position{line: 674, col: 9, offset: 21741}, + pos: position{line: 681, col: 9, offset: 22011}, expr: &charClassMatcher{ - pos: position{line: 674, col: 9, offset: 21741}, + pos: position{line: 681, col: 9, offset: 22011}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -15718,7 +15838,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 668, col: 79, offset: 21569}, + pos: position{line: 675, col: 79, offset: 21839}, val: "}", ignoreCase: false, want: "\"}\"", @@ -15727,19 +15847,19 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 650, col: 5, offset: 20820}, + pos: position{line: 657, col: 5, offset: 21090}, run: (*parser).callonUnquotedAttributeValue68, expr: &seqExpr{ - pos: position{line: 650, col: 5, offset: 20820}, + pos: position{line: 657, col: 5, offset: 21090}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 650, col: 5, offset: 20820}, + pos: position{line: 657, col: 5, offset: 21090}, val: "\\{", ignoreCase: false, want: "\"\\\\{\"", }, &labeledExpr{ - pos: position{line: 650, col: 13, offset: 20828}, + pos: position{line: 657, col: 13, offset: 21098}, label: "name", expr: &actionExpr{ pos: position{line: 324, col: 18, offset: 10072}, @@ -15773,7 +15893,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 650, col: 32, offset: 20847}, + pos: position{line: 657, col: 32, offset: 21117}, val: "}", ignoreCase: false, want: "\"}\"", @@ -15782,19 +15902,19 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 657, col: 5, offset: 21088}, + pos: position{line: 664, col: 5, offset: 21358}, run: (*parser).callonUnquotedAttributeValue78, expr: &seqExpr{ - pos: position{line: 657, col: 5, offset: 21088}, + pos: position{line: 664, col: 5, offset: 21358}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 657, col: 5, offset: 21088}, + pos: position{line: 664, col: 5, offset: 21358}, val: "{", ignoreCase: false, want: "\"{\"", }, &labeledExpr{ - pos: position{line: 657, col: 9, offset: 21092}, + pos: position{line: 664, col: 9, offset: 21362}, label: "name", expr: &actionExpr{ pos: position{line: 324, col: 18, offset: 10072}, @@ -15828,7 +15948,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 657, col: 28, offset: 21111}, + pos: position{line: 664, col: 28, offset: 21381}, val: "}", ignoreCase: false, want: "\"}\"", @@ -15842,8 +15962,59 @@ var g = &grammar{ }, }, }, + &actionExpr{ + pos: position{line: 2787, col: 5, offset: 91579}, + run: (*parser).callonUnquotedAttributeValue88, + expr: &litMatcher{ + pos: position{line: 2787, col: 5, offset: 91579}, + val: "\"`", + ignoreCase: false, + want: "\"\\\"`\"", + }, + }, + &actionExpr{ + pos: position{line: 2790, col: 7, offset: 91637}, + run: (*parser).callonUnquotedAttributeValue90, + expr: &litMatcher{ + pos: position{line: 2790, col: 7, offset: 91637}, + val: "`\"", + ignoreCase: false, + want: "\"`\\\"\"", + }, + }, + &actionExpr{ + pos: position{line: 2793, col: 7, offset: 91695}, + run: (*parser).callonUnquotedAttributeValue92, + expr: &litMatcher{ + pos: position{line: 2793, col: 7, offset: 91695}, + val: "'`", + ignoreCase: false, + want: "\"'`\"", + }, + }, + &actionExpr{ + pos: position{line: 2796, col: 7, offset: 91751}, + run: (*parser).callonUnquotedAttributeValue94, + expr: &litMatcher{ + pos: position{line: 2796, col: 7, offset: 91751}, + val: "`'", + ignoreCase: false, + want: "\"`'\"", + }, + }, + &actionExpr{ + pos: position{line: 635, col: 11, offset: 20376}, + run: (*parser).callonUnquotedAttributeValue96, + expr: &charClassMatcher{ + pos: position{line: 635, col: 12, offset: 20377}, + val: "[\\`\"]", + chars: []rune{'\'', '`', '"'}, + ignoreCase: false, + inverted: false, + }, + }, &litMatcher{ - pos: position{line: 631, col: 11, offset: 20239}, + pos: position{line: 638, col: 11, offset: 20509}, val: "{", ignoreCase: false, want: "\"{\"", @@ -15858,32 +16029,32 @@ var g = &grammar{ }, { name: "CrossReference", - pos: position{line: 690, col: 1, offset: 22301}, + pos: position{line: 697, col: 1, offset: 22571}, expr: &choiceExpr{ - pos: position{line: 690, col: 19, offset: 22319}, + pos: position{line: 697, col: 19, offset: 22589}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 692, col: 27, offset: 22395}, + pos: position{line: 699, col: 27, offset: 22665}, run: (*parser).callonCrossReference2, expr: &seqExpr{ - pos: position{line: 692, col: 27, offset: 22395}, + pos: position{line: 699, col: 27, offset: 22665}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 692, col: 27, offset: 22395}, + pos: position{line: 699, col: 27, offset: 22665}, val: "<<", ignoreCase: false, want: "\"<<\"", }, &labeledExpr{ - pos: position{line: 692, col: 32, offset: 22400}, + pos: position{line: 699, col: 32, offset: 22670}, label: "id", expr: &actionExpr{ - pos: position{line: 3161, col: 7, offset: 103049}, + pos: position{line: 3057, col: 7, offset: 99686}, run: (*parser).callonCrossReference6, expr: &oneOrMoreExpr{ - pos: position{line: 3161, col: 7, offset: 103049}, + pos: position{line: 3057, col: 7, offset: 99686}, expr: &charClassMatcher{ - pos: position{line: 3161, col: 7, offset: 103049}, + pos: position{line: 3057, col: 7, offset: 99686}, val: "[^[]<>,]", chars: []rune{'[', ']', '<', '>', ','}, ignoreCase: false, @@ -15893,12 +16064,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 692, col: 40, offset: 22408}, + pos: position{line: 699, col: 40, offset: 22678}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonCrossReference10, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -15907,27 +16078,27 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 692, col: 47, offset: 22415}, + pos: position{line: 699, col: 47, offset: 22685}, val: ",", ignoreCase: false, want: "\",\"", }, &labeledExpr{ - pos: position{line: 692, col: 51, offset: 22419}, + pos: position{line: 699, col: 51, offset: 22689}, label: "label", expr: &oneOrMoreExpr{ - pos: position{line: 702, col: 24, offset: 22820}, + pos: position{line: 709, col: 24, offset: 23090}, expr: &choiceExpr{ - pos: position{line: 703, col: 5, offset: 22826}, + pos: position{line: 710, col: 5, offset: 23096}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 703, col: 6, offset: 22827}, + pos: position{line: 710, col: 6, offset: 23097}, run: (*parser).callonCrossReference16, expr: &seqExpr{ - pos: position{line: 703, col: 6, offset: 22827}, + pos: position{line: 710, col: 6, offset: 23097}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 703, col: 6, offset: 22827}, + pos: position{line: 710, col: 6, offset: 23097}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -15935,9 +16106,9 @@ var g = &grammar{ inverted: false, }, &oneOrMoreExpr{ - pos: position{line: 703, col: 14, offset: 22835}, + pos: position{line: 710, col: 14, offset: 23105}, expr: &charClassMatcher{ - pos: position{line: 703, col: 14, offset: 22835}, + pos: position{line: 710, col: 14, offset: 23105}, val: "[^\\r\\n{<>]", chars: []rune{'\r', '\n', '{', '<', '>'}, ignoreCase: false, @@ -15948,19 +16119,19 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 650, col: 5, offset: 20820}, + pos: position{line: 657, col: 5, offset: 21090}, run: (*parser).callonCrossReference21, expr: &seqExpr{ - pos: position{line: 650, col: 5, offset: 20820}, + pos: position{line: 657, col: 5, offset: 21090}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 650, col: 5, offset: 20820}, + pos: position{line: 657, col: 5, offset: 21090}, val: "\\{", ignoreCase: false, want: "\"\\\\{\"", }, &labeledExpr{ - pos: position{line: 650, col: 13, offset: 20828}, + pos: position{line: 657, col: 13, offset: 21098}, label: "name", expr: &actionExpr{ pos: position{line: 324, col: 18, offset: 10072}, @@ -15994,7 +16165,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 650, col: 32, offset: 20847}, + pos: position{line: 657, col: 32, offset: 21117}, val: "}", ignoreCase: false, want: "\"}\"", @@ -16003,19 +16174,19 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 657, col: 5, offset: 21088}, + pos: position{line: 664, col: 5, offset: 21358}, run: (*parser).callonCrossReference31, expr: &seqExpr{ - pos: position{line: 657, col: 5, offset: 21088}, + pos: position{line: 664, col: 5, offset: 21358}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 657, col: 5, offset: 21088}, + pos: position{line: 664, col: 5, offset: 21358}, val: "{", ignoreCase: false, want: "\"{\"", }, &labeledExpr{ - pos: position{line: 657, col: 9, offset: 21092}, + pos: position{line: 664, col: 9, offset: 21362}, label: "name", expr: &actionExpr{ pos: position{line: 324, col: 18, offset: 10072}, @@ -16049,7 +16220,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 657, col: 28, offset: 21111}, + pos: position{line: 664, col: 28, offset: 21381}, val: "}", ignoreCase: false, want: "\"}\"", @@ -16058,10 +16229,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 707, col: 8, offset: 23061}, + pos: position{line: 714, col: 8, offset: 23331}, run: (*parser).callonCrossReference41, expr: &litMatcher{ - pos: position{line: 707, col: 8, offset: 23061}, + pos: position{line: 714, col: 8, offset: 23331}, val: "{", ignoreCase: false, want: "\"{\"", @@ -16072,7 +16243,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 692, col: 79, offset: 22447}, + pos: position{line: 699, col: 79, offset: 22717}, val: ">>", ignoreCase: false, want: "\">>\"", @@ -16081,27 +16252,27 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 694, col: 9, offset: 22520}, + pos: position{line: 701, col: 9, offset: 22790}, run: (*parser).callonCrossReference44, expr: &seqExpr{ - pos: position{line: 694, col: 9, offset: 22520}, + pos: position{line: 701, col: 9, offset: 22790}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 694, col: 9, offset: 22520}, + pos: position{line: 701, col: 9, offset: 22790}, val: "<<", ignoreCase: false, want: "\"<<\"", }, &labeledExpr{ - pos: position{line: 694, col: 14, offset: 22525}, + pos: position{line: 701, col: 14, offset: 22795}, label: "id", expr: &actionExpr{ - pos: position{line: 3161, col: 7, offset: 103049}, + pos: position{line: 3057, col: 7, offset: 99686}, run: (*parser).callonCrossReference48, expr: &oneOrMoreExpr{ - pos: position{line: 3161, col: 7, offset: 103049}, + pos: position{line: 3057, col: 7, offset: 99686}, expr: &charClassMatcher{ - pos: position{line: 3161, col: 7, offset: 103049}, + pos: position{line: 3057, col: 7, offset: 99686}, val: "[^[]<>,]", chars: []rune{'[', ']', '<', '>', ','}, ignoreCase: false, @@ -16111,7 +16282,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 694, col: 22, offset: 22533}, + pos: position{line: 701, col: 22, offset: 22803}, val: ">>", ignoreCase: false, want: "\">>\"", @@ -16120,7 +16291,7 @@ var g = &grammar{ }, }, &ruleRefExpr{ - pos: position{line: 690, col: 44, offset: 22344}, + pos: position{line: 697, col: 44, offset: 22614}, name: "ExternalCrossReference", }, }, @@ -16128,63 +16299,63 @@ var g = &grammar{ }, { name: "ExternalCrossReference", - pos: position{line: 698, col: 1, offset: 22604}, + pos: position{line: 705, col: 1, offset: 22874}, expr: &actionExpr{ - pos: position{line: 698, col: 27, offset: 22630}, + pos: position{line: 705, col: 27, offset: 22900}, run: (*parser).callonExternalCrossReference1, expr: &seqExpr{ - pos: position{line: 698, col: 27, offset: 22630}, + pos: position{line: 705, col: 27, offset: 22900}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 698, col: 27, offset: 22630}, + pos: position{line: 705, col: 27, offset: 22900}, val: "xref:", ignoreCase: false, want: "\"xref:\"", }, &labeledExpr{ - pos: position{line: 698, col: 35, offset: 22638}, + pos: position{line: 705, col: 35, offset: 22908}, label: "url", expr: &actionExpr{ - pos: position{line: 3132, col: 17, offset: 102015}, + pos: position{line: 3028, col: 17, offset: 98652}, run: (*parser).callonExternalCrossReference5, expr: &labeledExpr{ - pos: position{line: 3132, col: 17, offset: 102015}, + pos: position{line: 3028, col: 17, offset: 98652}, label: "path", expr: &oneOrMoreExpr{ - pos: position{line: 3132, col: 22, offset: 102020}, + pos: position{line: 3028, col: 22, offset: 98657}, expr: &choiceExpr{ - pos: position{line: 3132, col: 23, offset: 102021}, + pos: position{line: 3028, col: 23, offset: 98658}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3147, col: 5, offset: 102477}, + pos: position{line: 3043, col: 5, offset: 99114}, run: (*parser).callonExternalCrossReference9, expr: &seqExpr{ - pos: position{line: 3147, col: 5, offset: 102477}, + pos: position{line: 3043, col: 5, offset: 99114}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 3147, col: 5, offset: 102477}, + pos: position{line: 3043, col: 5, offset: 99114}, expr: &litMatcher{ - pos: position{line: 3147, col: 6, offset: 102478}, + pos: position{line: 3043, col: 6, offset: 99115}, val: "[", ignoreCase: false, want: "\"[\"", }, }, &labeledExpr{ - pos: position{line: 3148, col: 5, offset: 102502}, + pos: position{line: 3044, col: 5, offset: 99139}, label: "elements", expr: &oneOrMoreExpr{ - pos: position{line: 3148, col: 14, offset: 102511}, + pos: position{line: 3044, col: 14, offset: 99148}, expr: &choiceExpr{ - pos: position{line: 3149, col: 9, offset: 102521}, + pos: position{line: 3045, col: 9, offset: 99158}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3149, col: 9, offset: 102521}, + pos: position{line: 3045, col: 9, offset: 99158}, run: (*parser).callonExternalCrossReference16, expr: &oneOrMoreExpr{ - pos: position{line: 3149, col: 9, offset: 102521}, + pos: position{line: 3045, col: 9, offset: 99158}, expr: &charClassMatcher{ - pos: position{line: 3149, col: 10, offset: 102522}, + pos: position{line: 3045, col: 10, offset: 99159}, val: "[^\\r\\n[]�{.,;?!<> ]", chars: []rune{'\r', '\n', '[', ']', '�', '{', '.', ',', ';', '?', '!', '<', '>', ' '}, ignoreCase: false, @@ -16193,13 +16364,13 @@ var g = &grammar{ }, }, &seqExpr{ - pos: position{line: 3152, col: 11, offset: 102787}, + pos: position{line: 3048, col: 11, offset: 99424}, exprs: []interface{}{ &actionExpr{ - pos: position{line: 3122, col: 25, offset: 101758}, + pos: position{line: 3018, col: 25, offset: 98395}, run: (*parser).callonExternalCrossReference20, expr: &charClassMatcher{ - pos: position{line: 3122, col: 25, offset: 101758}, + pos: position{line: 3018, col: 25, offset: 98395}, val: "[.,;?!]", chars: []rune{'.', ',', ';', '?', '!'}, ignoreCase: false, @@ -16207,23 +16378,23 @@ var g = &grammar{ }, }, &andExpr{ - pos: position{line: 3152, col: 32, offset: 102808}, + pos: position{line: 3048, col: 32, offset: 99445}, expr: ¬Expr{ - pos: position{line: 3152, col: 34, offset: 102810}, + pos: position{line: 3048, col: 34, offset: 99447}, expr: &choiceExpr{ - pos: position{line: 3152, col: 36, offset: 102812}, + pos: position{line: 3048, col: 36, offset: 99449}, alternatives: []interface{}{ ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonExternalCrossReference27, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -16237,35 +16408,35 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 641, col: 5, offset: 20613}, + pos: position{line: 648, col: 5, offset: 20883}, run: (*parser).callonExternalCrossReference29, expr: &seqExpr{ - pos: position{line: 641, col: 5, offset: 20613}, + pos: position{line: 648, col: 5, offset: 20883}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 641, col: 5, offset: 20613}, + pos: position{line: 648, col: 5, offset: 20883}, run: (*parser).callonExternalCrossReference31, }, &labeledExpr{ - pos: position{line: 644, col: 5, offset: 20682}, + pos: position{line: 651, col: 5, offset: 20952}, label: "element", expr: &choiceExpr{ - pos: position{line: 644, col: 14, offset: 20691}, + pos: position{line: 651, col: 14, offset: 20961}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 664, col: 25, offset: 21344}, + pos: position{line: 671, col: 25, offset: 21614}, run: (*parser).callonExternalCrossReference34, expr: &seqExpr{ - pos: position{line: 664, col: 25, offset: 21344}, + pos: position{line: 671, col: 25, offset: 21614}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 664, col: 25, offset: 21344}, + pos: position{line: 671, col: 25, offset: 21614}, val: "{counter:", ignoreCase: false, want: "\"{counter:\"", }, &labeledExpr{ - pos: position{line: 664, col: 37, offset: 21356}, + pos: position{line: 671, col: 37, offset: 21626}, label: "name", expr: &actionExpr{ pos: position{line: 324, col: 18, offset: 10072}, @@ -16299,33 +16470,33 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 664, col: 56, offset: 21375}, + pos: position{line: 671, col: 56, offset: 21645}, label: "start", expr: &zeroOrOneExpr{ - pos: position{line: 664, col: 62, offset: 21381}, + pos: position{line: 671, col: 62, offset: 21651}, expr: &actionExpr{ - pos: position{line: 672, col: 17, offset: 21676}, + pos: position{line: 679, col: 17, offset: 21946}, run: (*parser).callonExternalCrossReference45, expr: &seqExpr{ - pos: position{line: 672, col: 17, offset: 21676}, + pos: position{line: 679, col: 17, offset: 21946}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 672, col: 17, offset: 21676}, + pos: position{line: 679, col: 17, offset: 21946}, val: ":", ignoreCase: false, want: "\":\"", }, &labeledExpr{ - pos: position{line: 672, col: 21, offset: 21680}, + pos: position{line: 679, col: 21, offset: 21950}, label: "start", expr: &choiceExpr{ - pos: position{line: 672, col: 28, offset: 21687}, + pos: position{line: 679, col: 28, offset: 21957}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 672, col: 28, offset: 21687}, + pos: position{line: 679, col: 28, offset: 21957}, run: (*parser).callonExternalCrossReference50, expr: &charClassMatcher{ - pos: position{line: 672, col: 28, offset: 21687}, + pos: position{line: 679, col: 28, offset: 21957}, val: "[A-Za-z]", ranges: []rune{'A', 'Z', 'a', 'z'}, ignoreCase: false, @@ -16333,12 +16504,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 674, col: 9, offset: 21741}, + pos: position{line: 681, col: 9, offset: 22011}, run: (*parser).callonExternalCrossReference52, expr: &oneOrMoreExpr{ - pos: position{line: 674, col: 9, offset: 21741}, + pos: position{line: 681, col: 9, offset: 22011}, expr: &charClassMatcher{ - pos: position{line: 674, col: 9, offset: 21741}, + pos: position{line: 681, col: 9, offset: 22011}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -16355,7 +16526,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 664, col: 78, offset: 21397}, + pos: position{line: 671, col: 78, offset: 21667}, val: "}", ignoreCase: false, want: "\"}\"", @@ -16364,19 +16535,19 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 668, col: 25, offset: 21515}, + pos: position{line: 675, col: 25, offset: 21785}, run: (*parser).callonExternalCrossReference56, expr: &seqExpr{ - pos: position{line: 668, col: 25, offset: 21515}, + pos: position{line: 675, col: 25, offset: 21785}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 668, col: 25, offset: 21515}, + pos: position{line: 675, col: 25, offset: 21785}, val: "{counter2:", ignoreCase: false, want: "\"{counter2:\"", }, &labeledExpr{ - pos: position{line: 668, col: 38, offset: 21528}, + pos: position{line: 675, col: 38, offset: 21798}, label: "name", expr: &actionExpr{ pos: position{line: 324, col: 18, offset: 10072}, @@ -16410,33 +16581,33 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 668, col: 57, offset: 21547}, + pos: position{line: 675, col: 57, offset: 21817}, label: "start", expr: &zeroOrOneExpr{ - pos: position{line: 668, col: 63, offset: 21553}, + pos: position{line: 675, col: 63, offset: 21823}, expr: &actionExpr{ - pos: position{line: 672, col: 17, offset: 21676}, + pos: position{line: 679, col: 17, offset: 21946}, run: (*parser).callonExternalCrossReference67, expr: &seqExpr{ - pos: position{line: 672, col: 17, offset: 21676}, + pos: position{line: 679, col: 17, offset: 21946}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 672, col: 17, offset: 21676}, + pos: position{line: 679, col: 17, offset: 21946}, val: ":", ignoreCase: false, want: "\":\"", }, &labeledExpr{ - pos: position{line: 672, col: 21, offset: 21680}, + pos: position{line: 679, col: 21, offset: 21950}, label: "start", expr: &choiceExpr{ - pos: position{line: 672, col: 28, offset: 21687}, + pos: position{line: 679, col: 28, offset: 21957}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 672, col: 28, offset: 21687}, + pos: position{line: 679, col: 28, offset: 21957}, run: (*parser).callonExternalCrossReference72, expr: &charClassMatcher{ - pos: position{line: 672, col: 28, offset: 21687}, + pos: position{line: 679, col: 28, offset: 21957}, val: "[A-Za-z]", ranges: []rune{'A', 'Z', 'a', 'z'}, ignoreCase: false, @@ -16444,12 +16615,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 674, col: 9, offset: 21741}, + pos: position{line: 681, col: 9, offset: 22011}, run: (*parser).callonExternalCrossReference74, expr: &oneOrMoreExpr{ - pos: position{line: 674, col: 9, offset: 21741}, + pos: position{line: 681, col: 9, offset: 22011}, expr: &charClassMatcher{ - pos: position{line: 674, col: 9, offset: 21741}, + pos: position{line: 681, col: 9, offset: 22011}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -16466,7 +16637,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 668, col: 79, offset: 21569}, + pos: position{line: 675, col: 79, offset: 21839}, val: "}", ignoreCase: false, want: "\"}\"", @@ -16475,19 +16646,19 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 650, col: 5, offset: 20820}, + pos: position{line: 657, col: 5, offset: 21090}, run: (*parser).callonExternalCrossReference78, expr: &seqExpr{ - pos: position{line: 650, col: 5, offset: 20820}, + pos: position{line: 657, col: 5, offset: 21090}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 650, col: 5, offset: 20820}, + pos: position{line: 657, col: 5, offset: 21090}, val: "\\{", ignoreCase: false, want: "\"\\\\{\"", }, &labeledExpr{ - pos: position{line: 650, col: 13, offset: 20828}, + pos: position{line: 657, col: 13, offset: 21098}, label: "name", expr: &actionExpr{ pos: position{line: 324, col: 18, offset: 10072}, @@ -16521,7 +16692,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 650, col: 32, offset: 20847}, + pos: position{line: 657, col: 32, offset: 21117}, val: "}", ignoreCase: false, want: "\"}\"", @@ -16530,19 +16701,19 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 657, col: 5, offset: 21088}, + pos: position{line: 664, col: 5, offset: 21358}, run: (*parser).callonExternalCrossReference88, expr: &seqExpr{ - pos: position{line: 657, col: 5, offset: 21088}, + pos: position{line: 664, col: 5, offset: 21358}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 657, col: 5, offset: 21088}, + pos: position{line: 664, col: 5, offset: 21358}, val: "{", ignoreCase: false, want: "\"{\"", }, &labeledExpr{ - pos: position{line: 657, col: 9, offset: 21092}, + pos: position{line: 664, col: 9, offset: 21362}, label: "name", expr: &actionExpr{ pos: position{line: 324, col: 18, offset: 10072}, @@ -16576,7 +16747,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 657, col: 28, offset: 21111}, + pos: position{line: 664, col: 28, offset: 21381}, val: "}", ignoreCase: false, want: "\"}\"", @@ -16591,49 +16762,49 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2859, col: 5, offset: 93679}, + pos: position{line: 2745, col: 5, offset: 90112}, run: (*parser).callonExternalCrossReference98, expr: &seqExpr{ - pos: position{line: 2859, col: 5, offset: 93679}, + pos: position{line: 2745, col: 5, offset: 90112}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 2859, col: 5, offset: 93679}, + pos: position{line: 2745, col: 5, offset: 90112}, run: (*parser).callonExternalCrossReference100, }, &labeledExpr{ - pos: position{line: 2862, col: 5, offset: 93755}, + pos: position{line: 2748, col: 5, offset: 90188}, label: "element", expr: &choiceExpr{ - pos: position{line: 2864, col: 9, offset: 93853}, + pos: position{line: 2750, col: 9, offset: 90286}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2864, col: 9, offset: 93853}, + pos: position{line: 2750, col: 9, offset: 90286}, run: (*parser).callonExternalCrossReference103, expr: &choiceExpr{ - pos: position{line: 692, col: 27, offset: 22395}, + pos: position{line: 699, col: 27, offset: 22665}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 692, col: 27, offset: 22395}, + pos: position{line: 699, col: 27, offset: 22665}, run: (*parser).callonExternalCrossReference105, expr: &seqExpr{ - pos: position{line: 692, col: 27, offset: 22395}, + pos: position{line: 699, col: 27, offset: 22665}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 692, col: 27, offset: 22395}, + pos: position{line: 699, col: 27, offset: 22665}, val: "<<", ignoreCase: false, want: "\"<<\"", }, &labeledExpr{ - pos: position{line: 692, col: 32, offset: 22400}, + pos: position{line: 699, col: 32, offset: 22670}, label: "id", expr: &actionExpr{ - pos: position{line: 3161, col: 7, offset: 103049}, + pos: position{line: 3057, col: 7, offset: 99686}, run: (*parser).callonExternalCrossReference109, expr: &oneOrMoreExpr{ - pos: position{line: 3161, col: 7, offset: 103049}, + pos: position{line: 3057, col: 7, offset: 99686}, expr: &charClassMatcher{ - pos: position{line: 3161, col: 7, offset: 103049}, + pos: position{line: 3057, col: 7, offset: 99686}, val: "[^[]<>,]", chars: []rune{'[', ']', '<', '>', ','}, ignoreCase: false, @@ -16643,12 +16814,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 692, col: 40, offset: 22408}, + pos: position{line: 699, col: 40, offset: 22678}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonExternalCrossReference113, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -16657,27 +16828,27 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 692, col: 47, offset: 22415}, + pos: position{line: 699, col: 47, offset: 22685}, val: ",", ignoreCase: false, want: "\",\"", }, &labeledExpr{ - pos: position{line: 692, col: 51, offset: 22419}, + pos: position{line: 699, col: 51, offset: 22689}, label: "label", expr: &oneOrMoreExpr{ - pos: position{line: 702, col: 24, offset: 22820}, + pos: position{line: 709, col: 24, offset: 23090}, expr: &choiceExpr{ - pos: position{line: 703, col: 5, offset: 22826}, + pos: position{line: 710, col: 5, offset: 23096}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 703, col: 6, offset: 22827}, + pos: position{line: 710, col: 6, offset: 23097}, run: (*parser).callonExternalCrossReference119, expr: &seqExpr{ - pos: position{line: 703, col: 6, offset: 22827}, + pos: position{line: 710, col: 6, offset: 23097}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 703, col: 6, offset: 22827}, + pos: position{line: 710, col: 6, offset: 23097}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -16685,9 +16856,9 @@ var g = &grammar{ inverted: false, }, &oneOrMoreExpr{ - pos: position{line: 703, col: 14, offset: 22835}, + pos: position{line: 710, col: 14, offset: 23105}, expr: &charClassMatcher{ - pos: position{line: 703, col: 14, offset: 22835}, + pos: position{line: 710, col: 14, offset: 23105}, val: "[^\\r\\n{<>]", chars: []rune{'\r', '\n', '{', '<', '>'}, ignoreCase: false, @@ -16698,19 +16869,19 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 650, col: 5, offset: 20820}, + pos: position{line: 657, col: 5, offset: 21090}, run: (*parser).callonExternalCrossReference124, expr: &seqExpr{ - pos: position{line: 650, col: 5, offset: 20820}, + pos: position{line: 657, col: 5, offset: 21090}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 650, col: 5, offset: 20820}, + pos: position{line: 657, col: 5, offset: 21090}, val: "\\{", ignoreCase: false, want: "\"\\\\{\"", }, &labeledExpr{ - pos: position{line: 650, col: 13, offset: 20828}, + pos: position{line: 657, col: 13, offset: 21098}, label: "name", expr: &actionExpr{ pos: position{line: 324, col: 18, offset: 10072}, @@ -16744,7 +16915,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 650, col: 32, offset: 20847}, + pos: position{line: 657, col: 32, offset: 21117}, val: "}", ignoreCase: false, want: "\"}\"", @@ -16753,19 +16924,19 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 657, col: 5, offset: 21088}, + pos: position{line: 664, col: 5, offset: 21358}, run: (*parser).callonExternalCrossReference134, expr: &seqExpr{ - pos: position{line: 657, col: 5, offset: 21088}, + pos: position{line: 664, col: 5, offset: 21358}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 657, col: 5, offset: 21088}, + pos: position{line: 664, col: 5, offset: 21358}, val: "{", ignoreCase: false, want: "\"{\"", }, &labeledExpr{ - pos: position{line: 657, col: 9, offset: 21092}, + pos: position{line: 664, col: 9, offset: 21362}, label: "name", expr: &actionExpr{ pos: position{line: 324, col: 18, offset: 10072}, @@ -16799,7 +16970,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 657, col: 28, offset: 21111}, + pos: position{line: 664, col: 28, offset: 21381}, val: "}", ignoreCase: false, want: "\"}\"", @@ -16808,10 +16979,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 707, col: 8, offset: 23061}, + pos: position{line: 714, col: 8, offset: 23331}, run: (*parser).callonExternalCrossReference144, expr: &litMatcher{ - pos: position{line: 707, col: 8, offset: 23061}, + pos: position{line: 714, col: 8, offset: 23331}, val: "{", ignoreCase: false, want: "\"{\"", @@ -16822,7 +16993,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 692, col: 79, offset: 22447}, + pos: position{line: 699, col: 79, offset: 22717}, val: ">>", ignoreCase: false, want: "\">>\"", @@ -16831,27 +17002,27 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 694, col: 9, offset: 22520}, + pos: position{line: 701, col: 9, offset: 22790}, run: (*parser).callonExternalCrossReference147, expr: &seqExpr{ - pos: position{line: 694, col: 9, offset: 22520}, + pos: position{line: 701, col: 9, offset: 22790}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 694, col: 9, offset: 22520}, + pos: position{line: 701, col: 9, offset: 22790}, val: "<<", ignoreCase: false, want: "\"<<\"", }, &labeledExpr{ - pos: position{line: 694, col: 14, offset: 22525}, + pos: position{line: 701, col: 14, offset: 22795}, label: "id", expr: &actionExpr{ - pos: position{line: 3161, col: 7, offset: 103049}, + pos: position{line: 3057, col: 7, offset: 99686}, run: (*parser).callonExternalCrossReference151, expr: &oneOrMoreExpr{ - pos: position{line: 3161, col: 7, offset: 103049}, + pos: position{line: 3057, col: 7, offset: 99686}, expr: &charClassMatcher{ - pos: position{line: 3161, col: 7, offset: 103049}, + pos: position{line: 3057, col: 7, offset: 99686}, val: "[^[]<>,]", chars: []rune{'[', ']', '<', '>', ','}, ignoreCase: false, @@ -16861,7 +17032,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 694, col: 22, offset: 22533}, + pos: position{line: 701, col: 22, offset: 22803}, val: ">>", ignoreCase: false, want: "\">>\"", @@ -16873,10 +17044,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2867, col: 11, offset: 93957}, + pos: position{line: 2753, col: 11, offset: 90390}, run: (*parser).callonExternalCrossReference155, expr: &charClassMatcher{ - pos: position{line: 2867, col: 12, offset: 93958}, + pos: position{line: 2753, col: 12, offset: 90391}, val: "[<>&]", chars: []rune{'<', '>', '&'}, ignoreCase: false, @@ -16890,10 +17061,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 3155, col: 11, offset: 102893}, + pos: position{line: 3051, col: 11, offset: 99530}, run: (*parser).callonExternalCrossReference157, expr: &litMatcher{ - pos: position{line: 3155, col: 11, offset: 102893}, + pos: position{line: 3051, col: 11, offset: 99530}, val: "{", ignoreCase: false, want: "\"{\"", @@ -16907,27 +17078,27 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1212, col: 23, offset: 37871}, + pos: position{line: 1219, col: 23, offset: 38141}, run: (*parser).callonExternalCrossReference159, expr: &seqExpr{ - pos: position{line: 1212, col: 23, offset: 37871}, + pos: position{line: 1219, col: 23, offset: 38141}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1210, col: 32, offset: 37839}, + pos: position{line: 1217, col: 32, offset: 38109}, val: "�", ignoreCase: false, want: "\"�\"", }, &labeledExpr{ - pos: position{line: 1212, col: 51, offset: 37899}, + pos: position{line: 1219, col: 51, offset: 38169}, label: "ref", expr: &actionExpr{ - pos: position{line: 1212, col: 56, offset: 37904}, + pos: position{line: 1219, col: 56, offset: 38174}, run: (*parser).callonExternalCrossReference163, expr: &oneOrMoreExpr{ - pos: position{line: 1212, col: 56, offset: 37904}, + pos: position{line: 1219, col: 56, offset: 38174}, expr: &charClassMatcher{ - pos: position{line: 1212, col: 56, offset: 37904}, + pos: position{line: 1219, col: 56, offset: 38174}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -16937,7 +17108,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1210, col: 32, offset: 37839}, + pos: position{line: 1217, col: 32, offset: 38109}, val: "�", ignoreCase: false, want: "\"�\"", @@ -16952,10 +17123,10 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 698, col: 54, offset: 22657}, + pos: position{line: 705, col: 54, offset: 22927}, label: "attributes", expr: &ruleRefExpr{ - pos: position{line: 698, col: 66, offset: 22669}, + pos: position{line: 705, col: 66, offset: 22939}, name: "InlineAttributes", }, }, @@ -16965,29 +17136,29 @@ var g = &grammar{ }, { name: "MarkdownQuoteAttribution", - pos: position{line: 990, col: 1, offset: 31188}, + pos: position{line: 997, col: 1, offset: 31458}, expr: &actionExpr{ - pos: position{line: 991, col: 5, offset: 31221}, + pos: position{line: 998, col: 5, offset: 31491}, run: (*parser).callonMarkdownQuoteAttribution1, expr: &seqExpr{ - pos: position{line: 991, col: 5, offset: 31221}, + pos: position{line: 998, col: 5, offset: 31491}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 991, col: 5, offset: 31221}, + pos: position{line: 998, col: 5, offset: 31491}, val: "-- ", ignoreCase: false, want: "\"-- \"", }, &labeledExpr{ - pos: position{line: 991, col: 11, offset: 31227}, + pos: position{line: 998, col: 11, offset: 31497}, label: "author", expr: &actionExpr{ - pos: position{line: 991, col: 19, offset: 31235}, + pos: position{line: 998, col: 19, offset: 31505}, run: (*parser).callonMarkdownQuoteAttribution5, expr: &oneOrMoreExpr{ - pos: position{line: 991, col: 20, offset: 31236}, + pos: position{line: 998, col: 20, offset: 31506}, expr: &charClassMatcher{ - pos: position{line: 991, col: 20, offset: 31236}, + pos: position{line: 998, col: 20, offset: 31506}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -16997,28 +17168,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonMarkdownQuoteAttribution9, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -17027,9 +17198,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -17040,58 +17211,58 @@ var g = &grammar{ }, { name: "DocumentHeader", - pos: position{line: 1084, col: 1, offset: 33707}, + pos: position{line: 1091, col: 1, offset: 33977}, expr: &actionExpr{ - pos: position{line: 1085, col: 5, offset: 33730}, + pos: position{line: 1092, col: 5, offset: 34000}, run: (*parser).callonDocumentHeader1, expr: &seqExpr{ - pos: position{line: 1085, col: 5, offset: 33730}, + pos: position{line: 1092, col: 5, offset: 34000}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 1085, col: 5, offset: 33730}, + pos: position{line: 1092, col: 5, offset: 34000}, run: (*parser).callonDocumentHeader3, }, &labeledExpr{ - pos: position{line: 1088, col: 5, offset: 33791}, + pos: position{line: 1095, col: 5, offset: 34061}, label: "extraAttrs", expr: &ruleRefExpr{ - pos: position{line: 1088, col: 17, offset: 33803}, + pos: position{line: 1095, col: 17, offset: 34073}, name: "DocumentHeaderAttributes", }, }, &labeledExpr{ - pos: position{line: 1089, col: 5, offset: 33833}, + pos: position{line: 1096, col: 5, offset: 34103}, label: "info", expr: &zeroOrOneExpr{ - pos: position{line: 1089, col: 10, offset: 33838}, + pos: position{line: 1096, col: 10, offset: 34108}, expr: &actionExpr{ - pos: position{line: 1112, col: 5, offset: 34691}, + pos: position{line: 1119, col: 5, offset: 34961}, run: (*parser).callonDocumentHeader8, expr: &seqExpr{ - pos: position{line: 1112, col: 5, offset: 34691}, + pos: position{line: 1119, col: 5, offset: 34961}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1112, col: 5, offset: 34691}, + pos: position{line: 1119, col: 5, offset: 34961}, label: "title", expr: &actionExpr{ - pos: position{line: 1120, col: 5, offset: 34972}, + pos: position{line: 1127, col: 5, offset: 35242}, run: (*parser).callonDocumentHeader11, expr: &seqExpr{ - pos: position{line: 1120, col: 5, offset: 34972}, + pos: position{line: 1127, col: 5, offset: 35242}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1120, col: 5, offset: 34972}, + pos: position{line: 1127, col: 5, offset: 35242}, val: "=", ignoreCase: false, want: "\"=\"", }, &actionExpr{ - pos: position{line: 3180, col: 11, offset: 103464}, + pos: position{line: 3076, col: 11, offset: 100101}, run: (*parser).callonDocumentHeader14, expr: &oneOrMoreExpr{ - pos: position{line: 3180, col: 11, offset: 103464}, + pos: position{line: 3076, col: 11, offset: 100101}, expr: &charClassMatcher{ - pos: position{line: 3180, col: 12, offset: 103465}, + pos: position{line: 3076, col: 12, offset: 100102}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -17100,15 +17271,15 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1120, col: 16, offset: 34983}, + pos: position{line: 1127, col: 16, offset: 35253}, label: "title", expr: &actionExpr{ - pos: position{line: 2741, col: 17, offset: 90286}, + pos: position{line: 2631, col: 17, offset: 86805}, run: (*parser).callonDocumentHeader18, expr: &oneOrMoreExpr{ - pos: position{line: 2741, col: 17, offset: 90286}, + pos: position{line: 2631, col: 17, offset: 86805}, expr: &charClassMatcher{ - pos: position{line: 2741, col: 17, offset: 90286}, + pos: position{line: 2631, col: 17, offset: 86805}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -17118,28 +17289,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonDocumentHeader22, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -17148,9 +17319,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -17160,41 +17331,41 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 1113, col: 5, offset: 34717}, + pos: position{line: 1120, col: 5, offset: 34987}, expr: &choiceExpr{ - pos: position{line: 1113, col: 6, offset: 34718}, + pos: position{line: 1120, col: 6, offset: 34988}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2876, col: 22, offset: 94317}, + pos: position{line: 2762, col: 22, offset: 90750}, run: (*parser).callonDocumentHeader31, expr: &seqExpr{ - pos: position{line: 2876, col: 22, offset: 94317}, + pos: position{line: 2762, col: 22, offset: 90750}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2881, col: 31, offset: 94538}, + pos: position{line: 2767, col: 31, offset: 90971}, val: "//", ignoreCase: false, want: "\"//\"", }, ¬Expr{ - pos: position{line: 2881, col: 36, offset: 94543}, + pos: position{line: 2767, col: 36, offset: 90976}, expr: &litMatcher{ - pos: position{line: 2881, col: 37, offset: 94544}, + pos: position{line: 2767, col: 37, offset: 90977}, val: "//", ignoreCase: false, want: "\"//\"", }, }, &labeledExpr{ - pos: position{line: 2876, col: 49, offset: 94344}, + pos: position{line: 2762, col: 49, offset: 90777}, label: "content", expr: &actionExpr{ - pos: position{line: 2883, col: 29, offset: 94579}, + pos: position{line: 2769, col: 29, offset: 91012}, run: (*parser).callonDocumentHeader37, expr: &zeroOrMoreExpr{ - pos: position{line: 2883, col: 29, offset: 94579}, + pos: position{line: 2769, col: 29, offset: 91012}, expr: &charClassMatcher{ - pos: position{line: 2883, col: 29, offset: 94579}, + pos: position{line: 2769, col: 29, offset: 91012}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -17204,28 +17375,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonDocumentHeader41, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -17234,9 +17405,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -17245,36 +17416,36 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 820, col: 5, offset: 26700}, + pos: position{line: 827, col: 5, offset: 26970}, run: (*parser).callonDocumentHeader48, expr: &seqExpr{ - pos: position{line: 820, col: 5, offset: 26700}, + pos: position{line: 827, col: 5, offset: 26970}, exprs: []interface{}{ &actionExpr{ - pos: position{line: 745, col: 5, offset: 24119}, + pos: position{line: 752, col: 5, offset: 24389}, run: (*parser).callonDocumentHeader50, expr: &seqExpr{ - pos: position{line: 745, col: 5, offset: 24119}, + pos: position{line: 752, col: 5, offset: 24389}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 745, col: 5, offset: 24119}, + pos: position{line: 752, col: 5, offset: 24389}, label: "delimiter", expr: &actionExpr{ - pos: position{line: 745, col: 16, offset: 24130}, + pos: position{line: 752, col: 16, offset: 24400}, run: (*parser).callonDocumentHeader53, expr: &seqExpr{ - pos: position{line: 745, col: 16, offset: 24130}, + pos: position{line: 752, col: 16, offset: 24400}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 745, col: 16, offset: 24130}, + pos: position{line: 752, col: 16, offset: 24400}, val: "////", ignoreCase: false, want: "\"////\"", }, &zeroOrMoreExpr{ - pos: position{line: 745, col: 23, offset: 24137}, + pos: position{line: 752, col: 23, offset: 24407}, expr: &litMatcher{ - pos: position{line: 745, col: 23, offset: 24137}, + pos: position{line: 752, col: 23, offset: 24407}, val: "/", ignoreCase: false, want: "\"/\"", @@ -17285,12 +17456,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 747, col: 8, offset: 24221}, + pos: position{line: 754, col: 8, offset: 24491}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonDocumentHeader59, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -17299,28 +17470,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonDocumentHeader62, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -17329,9 +17500,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -17340,46 +17511,46 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 821, col: 5, offset: 26731}, + pos: position{line: 828, col: 5, offset: 27001}, label: "content", expr: &zeroOrMoreExpr{ - pos: position{line: 831, col: 5, offset: 27017}, + pos: position{line: 838, col: 5, offset: 27287}, expr: &actionExpr{ - pos: position{line: 831, col: 6, offset: 27018}, + pos: position{line: 838, col: 6, offset: 27288}, run: (*parser).callonDocumentHeader71, expr: &seqExpr{ - pos: position{line: 831, col: 6, offset: 27018}, + pos: position{line: 838, col: 6, offset: 27288}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 831, col: 6, offset: 27018}, + pos: position{line: 838, col: 6, offset: 27288}, expr: &choiceExpr{ - pos: position{line: 828, col: 29, offset: 26960}, + pos: position{line: 835, col: 29, offset: 27230}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 745, col: 5, offset: 24119}, + pos: position{line: 752, col: 5, offset: 24389}, run: (*parser).callonDocumentHeader75, expr: &seqExpr{ - pos: position{line: 745, col: 5, offset: 24119}, + pos: position{line: 752, col: 5, offset: 24389}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 745, col: 5, offset: 24119}, + pos: position{line: 752, col: 5, offset: 24389}, label: "delimiter", expr: &actionExpr{ - pos: position{line: 745, col: 16, offset: 24130}, + pos: position{line: 752, col: 16, offset: 24400}, run: (*parser).callonDocumentHeader78, expr: &seqExpr{ - pos: position{line: 745, col: 16, offset: 24130}, + pos: position{line: 752, col: 16, offset: 24400}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 745, col: 16, offset: 24130}, + pos: position{line: 752, col: 16, offset: 24400}, val: "////", ignoreCase: false, want: "\"////\"", }, &zeroOrMoreExpr{ - pos: position{line: 745, col: 23, offset: 24137}, + pos: position{line: 752, col: 23, offset: 24407}, expr: &litMatcher{ - pos: position{line: 745, col: 23, offset: 24137}, + pos: position{line: 752, col: 23, offset: 24407}, val: "/", ignoreCase: false, want: "\"/\"", @@ -17390,12 +17561,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 747, col: 8, offset: 24221}, + pos: position{line: 754, col: 8, offset: 24491}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonDocumentHeader84, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -17404,28 +17575,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonDocumentHeader87, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -17434,9 +17605,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -17445,42 +17616,42 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, }, }, &labeledExpr{ - pos: position{line: 832, col: 5, offset: 27048}, + pos: position{line: 839, col: 5, offset: 27318}, label: "line", expr: &actionExpr{ - pos: position{line: 809, col: 5, offset: 26395}, + pos: position{line: 816, col: 5, offset: 26665}, run: (*parser).callonDocumentHeader97, expr: &seqExpr{ - pos: position{line: 809, col: 5, offset: 26395}, + pos: position{line: 816, col: 5, offset: 26665}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 809, col: 5, offset: 26395}, + pos: position{line: 816, col: 5, offset: 26665}, expr: ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, &labeledExpr{ - pos: position{line: 810, col: 5, offset: 26468}, + pos: position{line: 817, col: 5, offset: 26738}, label: "content", expr: &actionExpr{ - pos: position{line: 810, col: 14, offset: 26477}, + pos: position{line: 817, col: 14, offset: 26747}, run: (*parser).callonDocumentHeader103, expr: &zeroOrMoreExpr{ - pos: position{line: 810, col: 14, offset: 26477}, + pos: position{line: 817, col: 14, offset: 26747}, expr: &charClassMatcher{ - pos: position{line: 810, col: 14, offset: 26477}, + pos: position{line: 817, col: 14, offset: 26747}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -17490,28 +17661,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonDocumentHeader107, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -17520,9 +17691,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -17537,35 +17708,35 @@ var g = &grammar{ }, }, &zeroOrOneExpr{ - pos: position{line: 822, col: 5, offset: 26765}, + pos: position{line: 829, col: 5, offset: 27035}, expr: &choiceExpr{ - pos: position{line: 828, col: 29, offset: 26960}, + pos: position{line: 835, col: 29, offset: 27230}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 745, col: 5, offset: 24119}, + pos: position{line: 752, col: 5, offset: 24389}, run: (*parser).callonDocumentHeader116, expr: &seqExpr{ - pos: position{line: 745, col: 5, offset: 24119}, + pos: position{line: 752, col: 5, offset: 24389}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 745, col: 5, offset: 24119}, + pos: position{line: 752, col: 5, offset: 24389}, label: "delimiter", expr: &actionExpr{ - pos: position{line: 745, col: 16, offset: 24130}, + pos: position{line: 752, col: 16, offset: 24400}, run: (*parser).callonDocumentHeader119, expr: &seqExpr{ - pos: position{line: 745, col: 16, offset: 24130}, + pos: position{line: 752, col: 16, offset: 24400}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 745, col: 16, offset: 24130}, + pos: position{line: 752, col: 16, offset: 24400}, val: "////", ignoreCase: false, want: "\"////\"", }, &zeroOrMoreExpr{ - pos: position{line: 745, col: 23, offset: 24137}, + pos: position{line: 752, col: 23, offset: 24407}, expr: &litMatcher{ - pos: position{line: 745, col: 23, offset: 24137}, + pos: position{line: 752, col: 23, offset: 24407}, val: "/", ignoreCase: false, want: "\"/\"", @@ -17576,12 +17747,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 747, col: 8, offset: 24221}, + pos: position{line: 754, col: 8, offset: 24491}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonDocumentHeader125, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -17590,28 +17761,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonDocumentHeader128, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -17620,9 +17791,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -17631,9 +17802,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -17646,32 +17817,32 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1114, col: 5, offset: 34792}, + pos: position{line: 1121, col: 5, offset: 35062}, label: "authorsAndRevision", expr: &zeroOrOneExpr{ - pos: position{line: 1114, col: 24, offset: 34811}, + pos: position{line: 1121, col: 24, offset: 35081}, expr: &actionExpr{ - pos: position{line: 1125, col: 5, offset: 35078}, + pos: position{line: 1132, col: 5, offset: 35348}, run: (*parser).callonDocumentHeader139, expr: &seqExpr{ - pos: position{line: 1125, col: 5, offset: 35078}, + pos: position{line: 1132, col: 5, offset: 35348}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1125, col: 5, offset: 35078}, + pos: position{line: 1132, col: 5, offset: 35348}, label: "authors", expr: &actionExpr{ - pos: position{line: 1131, col: 20, offset: 35334}, + pos: position{line: 1138, col: 20, offset: 35604}, run: (*parser).callonDocumentHeader142, expr: &seqExpr{ - pos: position{line: 1131, col: 20, offset: 35334}, + pos: position{line: 1138, col: 20, offset: 35604}, exprs: []interface{}{ &zeroOrMoreExpr{ - pos: position{line: 1131, col: 20, offset: 35334}, + pos: position{line: 1138, col: 20, offset: 35604}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonDocumentHeader145, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -17680,58 +17851,58 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1131, col: 27, offset: 35341}, + pos: position{line: 1138, col: 27, offset: 35611}, label: "authors", expr: &choiceExpr{ - pos: position{line: 1131, col: 36, offset: 35350}, + pos: position{line: 1138, col: 36, offset: 35620}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 1135, col: 30, offset: 35470}, + pos: position{line: 1142, col: 30, offset: 35740}, run: (*parser).callonDocumentHeader149, expr: &seqExpr{ - pos: position{line: 1135, col: 30, offset: 35470}, + pos: position{line: 1142, col: 30, offset: 35740}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 1135, col: 30, offset: 35470}, + pos: position{line: 1142, col: 30, offset: 35740}, expr: &litMatcher{ - pos: position{line: 1135, col: 31, offset: 35471}, + pos: position{line: 1142, col: 31, offset: 35741}, val: ":", ignoreCase: false, want: "\":\"", }, }, &labeledExpr{ - pos: position{line: 1135, col: 35, offset: 35475}, + pos: position{line: 1142, col: 35, offset: 35745}, label: "authors", expr: &oneOrMoreExpr{ - pos: position{line: 1135, col: 44, offset: 35484}, + pos: position{line: 1142, col: 44, offset: 35754}, expr: &actionExpr{ - pos: position{line: 1144, col: 5, offset: 35716}, + pos: position{line: 1151, col: 5, offset: 35986}, run: (*parser).callonDocumentHeader155, expr: &seqExpr{ - pos: position{line: 1144, col: 5, offset: 35716}, + pos: position{line: 1151, col: 5, offset: 35986}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1144, col: 5, offset: 35716}, + pos: position{line: 1151, col: 5, offset: 35986}, label: "fullName", expr: &zeroOrOneExpr{ - pos: position{line: 1144, col: 14, offset: 35725}, + pos: position{line: 1151, col: 14, offset: 35995}, expr: &actionExpr{ - pos: position{line: 1155, col: 5, offset: 36105}, + pos: position{line: 1162, col: 5, offset: 36375}, run: (*parser).callonDocumentHeader159, expr: &seqExpr{ - pos: position{line: 1155, col: 5, offset: 36105}, + pos: position{line: 1162, col: 5, offset: 36375}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1155, col: 5, offset: 36105}, + pos: position{line: 1162, col: 5, offset: 36375}, label: "part1", expr: &actionExpr{ - pos: position{line: 1155, col: 12, offset: 36112}, + pos: position{line: 1162, col: 12, offset: 36382}, run: (*parser).callonDocumentHeader162, expr: &oneOrMoreExpr{ - pos: position{line: 1155, col: 12, offset: 36112}, + pos: position{line: 1162, col: 12, offset: 36382}, expr: &charClassMatcher{ - pos: position{line: 1155, col: 12, offset: 36112}, + pos: position{line: 1162, col: 12, offset: 36382}, val: "[^<;\\r\\n ]", chars: []rune{'<', ';', '\r', '\n', ' '}, ignoreCase: false, @@ -17741,12 +17912,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 1158, col: 5, offset: 36192}, + pos: position{line: 1165, col: 5, offset: 36462}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonDocumentHeader166, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -17755,17 +17926,17 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1159, col: 5, offset: 36203}, + pos: position{line: 1166, col: 5, offset: 36473}, label: "part2", expr: &zeroOrOneExpr{ - pos: position{line: 1159, col: 11, offset: 36209}, + pos: position{line: 1166, col: 11, offset: 36479}, expr: &actionExpr{ - pos: position{line: 1159, col: 12, offset: 36210}, + pos: position{line: 1166, col: 12, offset: 36480}, run: (*parser).callonDocumentHeader170, expr: &oneOrMoreExpr{ - pos: position{line: 1159, col: 12, offset: 36210}, + pos: position{line: 1166, col: 12, offset: 36480}, expr: &charClassMatcher{ - pos: position{line: 1159, col: 12, offset: 36210}, + pos: position{line: 1166, col: 12, offset: 36480}, val: "[^<;\\r\\n ]", chars: []rune{'<', ';', '\r', '\n', ' '}, ignoreCase: false, @@ -17776,12 +17947,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 1162, col: 5, offset: 36291}, + pos: position{line: 1169, col: 5, offset: 36561}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonDocumentHeader174, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -17790,17 +17961,17 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1163, col: 5, offset: 36302}, + pos: position{line: 1170, col: 5, offset: 36572}, label: "part3", expr: &zeroOrOneExpr{ - pos: position{line: 1163, col: 11, offset: 36308}, + pos: position{line: 1170, col: 11, offset: 36578}, expr: &actionExpr{ - pos: position{line: 1163, col: 12, offset: 36309}, + pos: position{line: 1170, col: 12, offset: 36579}, run: (*parser).callonDocumentHeader178, expr: &oneOrMoreExpr{ - pos: position{line: 1163, col: 12, offset: 36309}, + pos: position{line: 1170, col: 12, offset: 36579}, expr: &charClassMatcher{ - pos: position{line: 1163, col: 12, offset: 36309}, + pos: position{line: 1170, col: 12, offset: 36579}, val: "[^<;\\r\\n]", chars: []rune{'<', ';', '\r', '\n'}, ignoreCase: false, @@ -17811,12 +17982,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 1166, col: 5, offset: 36388}, + pos: position{line: 1173, col: 5, offset: 36658}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonDocumentHeader182, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -17830,41 +18001,41 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1144, col: 40, offset: 35751}, + pos: position{line: 1151, col: 40, offset: 36021}, label: "email", expr: &zeroOrOneExpr{ - pos: position{line: 1144, col: 46, offset: 35757}, + pos: position{line: 1151, col: 46, offset: 36027}, expr: &actionExpr{ - pos: position{line: 1172, col: 5, offset: 36510}, + pos: position{line: 1179, col: 5, offset: 36780}, run: (*parser).callonDocumentHeader186, expr: &seqExpr{ - pos: position{line: 1172, col: 5, offset: 36510}, + pos: position{line: 1179, col: 5, offset: 36780}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 1172, col: 5, offset: 36510}, + pos: position{line: 1179, col: 5, offset: 36780}, expr: ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, &litMatcher{ - pos: position{line: 1173, col: 5, offset: 36520}, + pos: position{line: 1180, col: 5, offset: 36790}, val: "<", ignoreCase: false, want: "\"<\"", }, &labeledExpr{ - pos: position{line: 1174, col: 5, offset: 36529}, + pos: position{line: 1181, col: 5, offset: 36799}, label: "email", expr: &actionExpr{ - pos: position{line: 1174, col: 12, offset: 36536}, + pos: position{line: 1181, col: 12, offset: 36806}, run: (*parser).callonDocumentHeader193, expr: &oneOrMoreExpr{ - pos: position{line: 1174, col: 13, offset: 36537}, + pos: position{line: 1181, col: 13, offset: 36807}, expr: &charClassMatcher{ - pos: position{line: 1174, col: 13, offset: 36537}, + pos: position{line: 1181, col: 13, offset: 36807}, val: "[^>\\r\\n]", chars: []rune{'>', '\r', '\n'}, ignoreCase: false, @@ -17874,7 +18045,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1177, col: 5, offset: 36597}, + pos: position{line: 1184, col: 5, offset: 36867}, val: ">", ignoreCase: false, want: "\">\"", @@ -17885,12 +18056,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 1144, col: 69, offset: 35780}, + pos: position{line: 1151, col: 69, offset: 36050}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonDocumentHeader198, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -17899,21 +18070,21 @@ var g = &grammar{ }, }, &zeroOrOneExpr{ - pos: position{line: 1144, col: 76, offset: 35787}, + pos: position{line: 1151, col: 76, offset: 36057}, expr: &litMatcher{ - pos: position{line: 1144, col: 76, offset: 35787}, + pos: position{line: 1151, col: 76, offset: 36057}, val: ";", ignoreCase: false, want: "\";\"", }, }, &zeroOrMoreExpr{ - pos: position{line: 1144, col: 81, offset: 35792}, + pos: position{line: 1151, col: 81, offset: 36062}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonDocumentHeader203, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -17922,7 +18093,7 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1145, col: 5, offset: 35804}, + pos: position{line: 1152, col: 5, offset: 36074}, run: (*parser).callonDocumentHeader205, }, }, @@ -17934,24 +18105,24 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1139, col: 33, offset: 35602}, + pos: position{line: 1146, col: 33, offset: 35872}, run: (*parser).callonDocumentHeader206, expr: &seqExpr{ - pos: position{line: 1139, col: 33, offset: 35602}, + pos: position{line: 1146, col: 33, offset: 35872}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1139, col: 33, offset: 35602}, + pos: position{line: 1146, col: 33, offset: 35872}, val: ":author:", ignoreCase: false, want: "\":author:\"", }, &zeroOrMoreExpr{ - pos: position{line: 1139, col: 44, offset: 35613}, + pos: position{line: 1146, col: 44, offset: 35883}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonDocumentHeader210, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -17960,35 +18131,35 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1139, col: 51, offset: 35620}, + pos: position{line: 1146, col: 51, offset: 35890}, label: "author", expr: &actionExpr{ - pos: position{line: 1144, col: 5, offset: 35716}, + pos: position{line: 1151, col: 5, offset: 35986}, run: (*parser).callonDocumentHeader213, expr: &seqExpr{ - pos: position{line: 1144, col: 5, offset: 35716}, + pos: position{line: 1151, col: 5, offset: 35986}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1144, col: 5, offset: 35716}, + pos: position{line: 1151, col: 5, offset: 35986}, label: "fullName", expr: &zeroOrOneExpr{ - pos: position{line: 1144, col: 14, offset: 35725}, + pos: position{line: 1151, col: 14, offset: 35995}, expr: &actionExpr{ - pos: position{line: 1155, col: 5, offset: 36105}, + pos: position{line: 1162, col: 5, offset: 36375}, run: (*parser).callonDocumentHeader217, expr: &seqExpr{ - pos: position{line: 1155, col: 5, offset: 36105}, + pos: position{line: 1162, col: 5, offset: 36375}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1155, col: 5, offset: 36105}, + pos: position{line: 1162, col: 5, offset: 36375}, label: "part1", expr: &actionExpr{ - pos: position{line: 1155, col: 12, offset: 36112}, + pos: position{line: 1162, col: 12, offset: 36382}, run: (*parser).callonDocumentHeader220, expr: &oneOrMoreExpr{ - pos: position{line: 1155, col: 12, offset: 36112}, + pos: position{line: 1162, col: 12, offset: 36382}, expr: &charClassMatcher{ - pos: position{line: 1155, col: 12, offset: 36112}, + pos: position{line: 1162, col: 12, offset: 36382}, val: "[^<;\\r\\n ]", chars: []rune{'<', ';', '\r', '\n', ' '}, ignoreCase: false, @@ -17998,12 +18169,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 1158, col: 5, offset: 36192}, + pos: position{line: 1165, col: 5, offset: 36462}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonDocumentHeader224, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -18012,17 +18183,17 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1159, col: 5, offset: 36203}, + pos: position{line: 1166, col: 5, offset: 36473}, label: "part2", expr: &zeroOrOneExpr{ - pos: position{line: 1159, col: 11, offset: 36209}, + pos: position{line: 1166, col: 11, offset: 36479}, expr: &actionExpr{ - pos: position{line: 1159, col: 12, offset: 36210}, + pos: position{line: 1166, col: 12, offset: 36480}, run: (*parser).callonDocumentHeader228, expr: &oneOrMoreExpr{ - pos: position{line: 1159, col: 12, offset: 36210}, + pos: position{line: 1166, col: 12, offset: 36480}, expr: &charClassMatcher{ - pos: position{line: 1159, col: 12, offset: 36210}, + pos: position{line: 1166, col: 12, offset: 36480}, val: "[^<;\\r\\n ]", chars: []rune{'<', ';', '\r', '\n', ' '}, ignoreCase: false, @@ -18033,12 +18204,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 1162, col: 5, offset: 36291}, + pos: position{line: 1169, col: 5, offset: 36561}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonDocumentHeader232, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -18047,17 +18218,17 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1163, col: 5, offset: 36302}, + pos: position{line: 1170, col: 5, offset: 36572}, label: "part3", expr: &zeroOrOneExpr{ - pos: position{line: 1163, col: 11, offset: 36308}, + pos: position{line: 1170, col: 11, offset: 36578}, expr: &actionExpr{ - pos: position{line: 1163, col: 12, offset: 36309}, + pos: position{line: 1170, col: 12, offset: 36579}, run: (*parser).callonDocumentHeader236, expr: &oneOrMoreExpr{ - pos: position{line: 1163, col: 12, offset: 36309}, + pos: position{line: 1170, col: 12, offset: 36579}, expr: &charClassMatcher{ - pos: position{line: 1163, col: 12, offset: 36309}, + pos: position{line: 1170, col: 12, offset: 36579}, val: "[^<;\\r\\n]", chars: []rune{'<', ';', '\r', '\n'}, ignoreCase: false, @@ -18068,12 +18239,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 1166, col: 5, offset: 36388}, + pos: position{line: 1173, col: 5, offset: 36658}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonDocumentHeader240, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -18087,41 +18258,41 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1144, col: 40, offset: 35751}, + pos: position{line: 1151, col: 40, offset: 36021}, label: "email", expr: &zeroOrOneExpr{ - pos: position{line: 1144, col: 46, offset: 35757}, + pos: position{line: 1151, col: 46, offset: 36027}, expr: &actionExpr{ - pos: position{line: 1172, col: 5, offset: 36510}, + pos: position{line: 1179, col: 5, offset: 36780}, run: (*parser).callonDocumentHeader244, expr: &seqExpr{ - pos: position{line: 1172, col: 5, offset: 36510}, + pos: position{line: 1179, col: 5, offset: 36780}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 1172, col: 5, offset: 36510}, + pos: position{line: 1179, col: 5, offset: 36780}, expr: ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, &litMatcher{ - pos: position{line: 1173, col: 5, offset: 36520}, + pos: position{line: 1180, col: 5, offset: 36790}, val: "<", ignoreCase: false, want: "\"<\"", }, &labeledExpr{ - pos: position{line: 1174, col: 5, offset: 36529}, + pos: position{line: 1181, col: 5, offset: 36799}, label: "email", expr: &actionExpr{ - pos: position{line: 1174, col: 12, offset: 36536}, + pos: position{line: 1181, col: 12, offset: 36806}, run: (*parser).callonDocumentHeader251, expr: &oneOrMoreExpr{ - pos: position{line: 1174, col: 13, offset: 36537}, + pos: position{line: 1181, col: 13, offset: 36807}, expr: &charClassMatcher{ - pos: position{line: 1174, col: 13, offset: 36537}, + pos: position{line: 1181, col: 13, offset: 36807}, val: "[^>\\r\\n]", chars: []rune{'>', '\r', '\n'}, ignoreCase: false, @@ -18131,7 +18302,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1177, col: 5, offset: 36597}, + pos: position{line: 1184, col: 5, offset: 36867}, val: ">", ignoreCase: false, want: "\">\"", @@ -18142,12 +18313,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 1144, col: 69, offset: 35780}, + pos: position{line: 1151, col: 69, offset: 36050}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonDocumentHeader256, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -18156,21 +18327,21 @@ var g = &grammar{ }, }, &zeroOrOneExpr{ - pos: position{line: 1144, col: 76, offset: 35787}, + pos: position{line: 1151, col: 76, offset: 36057}, expr: &litMatcher{ - pos: position{line: 1144, col: 76, offset: 35787}, + pos: position{line: 1151, col: 76, offset: 36057}, val: ";", ignoreCase: false, want: "\";\"", }, }, &zeroOrMoreExpr{ - pos: position{line: 1144, col: 81, offset: 35792}, + pos: position{line: 1151, col: 81, offset: 36062}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonDocumentHeader261, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -18179,7 +18350,7 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1145, col: 5, offset: 35804}, + pos: position{line: 1152, col: 5, offset: 36074}, run: (*parser).callonDocumentHeader263, }, }, @@ -18193,28 +18364,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonDocumentHeader265, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -18223,9 +18394,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -18235,41 +18406,41 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 1126, col: 5, offset: 35108}, + pos: position{line: 1133, col: 5, offset: 35378}, expr: &choiceExpr{ - pos: position{line: 1126, col: 6, offset: 35109}, + pos: position{line: 1133, col: 6, offset: 35379}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2876, col: 22, offset: 94317}, + pos: position{line: 2762, col: 22, offset: 90750}, run: (*parser).callonDocumentHeader274, expr: &seqExpr{ - pos: position{line: 2876, col: 22, offset: 94317}, + pos: position{line: 2762, col: 22, offset: 90750}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2881, col: 31, offset: 94538}, + pos: position{line: 2767, col: 31, offset: 90971}, val: "//", ignoreCase: false, want: "\"//\"", }, ¬Expr{ - pos: position{line: 2881, col: 36, offset: 94543}, + pos: position{line: 2767, col: 36, offset: 90976}, expr: &litMatcher{ - pos: position{line: 2881, col: 37, offset: 94544}, + pos: position{line: 2767, col: 37, offset: 90977}, val: "//", ignoreCase: false, want: "\"//\"", }, }, &labeledExpr{ - pos: position{line: 2876, col: 49, offset: 94344}, + pos: position{line: 2762, col: 49, offset: 90777}, label: "content", expr: &actionExpr{ - pos: position{line: 2883, col: 29, offset: 94579}, + pos: position{line: 2769, col: 29, offset: 91012}, run: (*parser).callonDocumentHeader280, expr: &zeroOrMoreExpr{ - pos: position{line: 2883, col: 29, offset: 94579}, + pos: position{line: 2769, col: 29, offset: 91012}, expr: &charClassMatcher{ - pos: position{line: 2883, col: 29, offset: 94579}, + pos: position{line: 2769, col: 29, offset: 91012}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -18279,28 +18450,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonDocumentHeader284, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -18309,9 +18480,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -18320,36 +18491,36 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 820, col: 5, offset: 26700}, + pos: position{line: 827, col: 5, offset: 26970}, run: (*parser).callonDocumentHeader291, expr: &seqExpr{ - pos: position{line: 820, col: 5, offset: 26700}, + pos: position{line: 827, col: 5, offset: 26970}, exprs: []interface{}{ &actionExpr{ - pos: position{line: 745, col: 5, offset: 24119}, + pos: position{line: 752, col: 5, offset: 24389}, run: (*parser).callonDocumentHeader293, expr: &seqExpr{ - pos: position{line: 745, col: 5, offset: 24119}, + pos: position{line: 752, col: 5, offset: 24389}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 745, col: 5, offset: 24119}, + pos: position{line: 752, col: 5, offset: 24389}, label: "delimiter", expr: &actionExpr{ - pos: position{line: 745, col: 16, offset: 24130}, + pos: position{line: 752, col: 16, offset: 24400}, run: (*parser).callonDocumentHeader296, expr: &seqExpr{ - pos: position{line: 745, col: 16, offset: 24130}, + pos: position{line: 752, col: 16, offset: 24400}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 745, col: 16, offset: 24130}, + pos: position{line: 752, col: 16, offset: 24400}, val: "////", ignoreCase: false, want: "\"////\"", }, &zeroOrMoreExpr{ - pos: position{line: 745, col: 23, offset: 24137}, + pos: position{line: 752, col: 23, offset: 24407}, expr: &litMatcher{ - pos: position{line: 745, col: 23, offset: 24137}, + pos: position{line: 752, col: 23, offset: 24407}, val: "/", ignoreCase: false, want: "\"/\"", @@ -18360,12 +18531,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 747, col: 8, offset: 24221}, + pos: position{line: 754, col: 8, offset: 24491}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonDocumentHeader302, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -18374,28 +18545,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonDocumentHeader305, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -18404,9 +18575,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -18415,46 +18586,46 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 821, col: 5, offset: 26731}, + pos: position{line: 828, col: 5, offset: 27001}, label: "content", expr: &zeroOrMoreExpr{ - pos: position{line: 831, col: 5, offset: 27017}, + pos: position{line: 838, col: 5, offset: 27287}, expr: &actionExpr{ - pos: position{line: 831, col: 6, offset: 27018}, + pos: position{line: 838, col: 6, offset: 27288}, run: (*parser).callonDocumentHeader314, expr: &seqExpr{ - pos: position{line: 831, col: 6, offset: 27018}, + pos: position{line: 838, col: 6, offset: 27288}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 831, col: 6, offset: 27018}, + pos: position{line: 838, col: 6, offset: 27288}, expr: &choiceExpr{ - pos: position{line: 828, col: 29, offset: 26960}, + pos: position{line: 835, col: 29, offset: 27230}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 745, col: 5, offset: 24119}, + pos: position{line: 752, col: 5, offset: 24389}, run: (*parser).callonDocumentHeader318, expr: &seqExpr{ - pos: position{line: 745, col: 5, offset: 24119}, + pos: position{line: 752, col: 5, offset: 24389}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 745, col: 5, offset: 24119}, + pos: position{line: 752, col: 5, offset: 24389}, label: "delimiter", expr: &actionExpr{ - pos: position{line: 745, col: 16, offset: 24130}, + pos: position{line: 752, col: 16, offset: 24400}, run: (*parser).callonDocumentHeader321, expr: &seqExpr{ - pos: position{line: 745, col: 16, offset: 24130}, + pos: position{line: 752, col: 16, offset: 24400}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 745, col: 16, offset: 24130}, + pos: position{line: 752, col: 16, offset: 24400}, val: "////", ignoreCase: false, want: "\"////\"", }, &zeroOrMoreExpr{ - pos: position{line: 745, col: 23, offset: 24137}, + pos: position{line: 752, col: 23, offset: 24407}, expr: &litMatcher{ - pos: position{line: 745, col: 23, offset: 24137}, + pos: position{line: 752, col: 23, offset: 24407}, val: "/", ignoreCase: false, want: "\"/\"", @@ -18465,12 +18636,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 747, col: 8, offset: 24221}, + pos: position{line: 754, col: 8, offset: 24491}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonDocumentHeader327, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -18479,28 +18650,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonDocumentHeader330, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -18509,9 +18680,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -18520,42 +18691,42 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, }, }, &labeledExpr{ - pos: position{line: 832, col: 5, offset: 27048}, + pos: position{line: 839, col: 5, offset: 27318}, label: "line", expr: &actionExpr{ - pos: position{line: 809, col: 5, offset: 26395}, + pos: position{line: 816, col: 5, offset: 26665}, run: (*parser).callonDocumentHeader340, expr: &seqExpr{ - pos: position{line: 809, col: 5, offset: 26395}, + pos: position{line: 816, col: 5, offset: 26665}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 809, col: 5, offset: 26395}, + pos: position{line: 816, col: 5, offset: 26665}, expr: ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, &labeledExpr{ - pos: position{line: 810, col: 5, offset: 26468}, + pos: position{line: 817, col: 5, offset: 26738}, label: "content", expr: &actionExpr{ - pos: position{line: 810, col: 14, offset: 26477}, + pos: position{line: 817, col: 14, offset: 26747}, run: (*parser).callonDocumentHeader346, expr: &zeroOrMoreExpr{ - pos: position{line: 810, col: 14, offset: 26477}, + pos: position{line: 817, col: 14, offset: 26747}, expr: &charClassMatcher{ - pos: position{line: 810, col: 14, offset: 26477}, + pos: position{line: 817, col: 14, offset: 26747}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -18565,28 +18736,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonDocumentHeader350, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -18595,9 +18766,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -18612,35 +18783,35 @@ var g = &grammar{ }, }, &zeroOrOneExpr{ - pos: position{line: 822, col: 5, offset: 26765}, + pos: position{line: 829, col: 5, offset: 27035}, expr: &choiceExpr{ - pos: position{line: 828, col: 29, offset: 26960}, + pos: position{line: 835, col: 29, offset: 27230}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 745, col: 5, offset: 24119}, + pos: position{line: 752, col: 5, offset: 24389}, run: (*parser).callonDocumentHeader359, expr: &seqExpr{ - pos: position{line: 745, col: 5, offset: 24119}, + pos: position{line: 752, col: 5, offset: 24389}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 745, col: 5, offset: 24119}, + pos: position{line: 752, col: 5, offset: 24389}, label: "delimiter", expr: &actionExpr{ - pos: position{line: 745, col: 16, offset: 24130}, + pos: position{line: 752, col: 16, offset: 24400}, run: (*parser).callonDocumentHeader362, expr: &seqExpr{ - pos: position{line: 745, col: 16, offset: 24130}, + pos: position{line: 752, col: 16, offset: 24400}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 745, col: 16, offset: 24130}, + pos: position{line: 752, col: 16, offset: 24400}, val: "////", ignoreCase: false, want: "\"////\"", }, &zeroOrMoreExpr{ - pos: position{line: 745, col: 23, offset: 24137}, + pos: position{line: 752, col: 23, offset: 24407}, expr: &litMatcher{ - pos: position{line: 745, col: 23, offset: 24137}, + pos: position{line: 752, col: 23, offset: 24407}, val: "/", ignoreCase: false, want: "\"/\"", @@ -18651,12 +18822,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 747, col: 8, offset: 24221}, + pos: position{line: 754, col: 8, offset: 24491}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonDocumentHeader368, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -18665,28 +18836,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonDocumentHeader371, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -18695,9 +18866,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -18706,9 +18877,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -18721,23 +18892,23 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1127, col: 5, offset: 35183}, + pos: position{line: 1134, col: 5, offset: 35453}, label: "revision", expr: &zeroOrOneExpr{ - pos: position{line: 1127, col: 14, offset: 35192}, + pos: position{line: 1134, col: 14, offset: 35462}, expr: &actionExpr{ - pos: position{line: 1183, col: 21, offset: 36786}, + pos: position{line: 1190, col: 21, offset: 37056}, run: (*parser).callonDocumentHeader382, expr: &seqExpr{ - pos: position{line: 1183, col: 21, offset: 36786}, + pos: position{line: 1190, col: 21, offset: 37056}, exprs: []interface{}{ &zeroOrMoreExpr{ - pos: position{line: 1183, col: 21, offset: 36786}, + pos: position{line: 1190, col: 21, offset: 37056}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonDocumentHeader385, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -18746,55 +18917,55 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 1183, col: 28, offset: 36793}, + pos: position{line: 1190, col: 28, offset: 37063}, expr: &litMatcher{ - pos: position{line: 1183, col: 29, offset: 36794}, + pos: position{line: 1190, col: 29, offset: 37064}, val: ":", ignoreCase: false, want: "\":\"", }, }, &labeledExpr{ - pos: position{line: 1183, col: 33, offset: 36798}, + pos: position{line: 1190, col: 33, offset: 37068}, label: "revision", expr: &choiceExpr{ - pos: position{line: 1184, col: 9, offset: 36817}, + pos: position{line: 1191, col: 9, offset: 37087}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 1184, col: 10, offset: 36818}, + pos: position{line: 1191, col: 10, offset: 37088}, run: (*parser).callonDocumentHeader391, expr: &seqExpr{ - pos: position{line: 1184, col: 10, offset: 36818}, + pos: position{line: 1191, col: 10, offset: 37088}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1184, col: 10, offset: 36818}, + pos: position{line: 1191, col: 10, offset: 37088}, label: "revnumber", expr: &choiceExpr{ - pos: position{line: 1193, col: 27, offset: 37335}, + pos: position{line: 1200, col: 27, offset: 37605}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 1193, col: 27, offset: 37335}, + pos: position{line: 1200, col: 27, offset: 37605}, run: (*parser).callonDocumentHeader395, expr: &seqExpr{ - pos: position{line: 1193, col: 27, offset: 37335}, + pos: position{line: 1200, col: 27, offset: 37605}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1193, col: 27, offset: 37335}, + pos: position{line: 1200, col: 27, offset: 37605}, val: "v", ignoreCase: true, want: "\"v\"i", }, &charClassMatcher{ - pos: position{line: 1193, col: 32, offset: 37340}, + pos: position{line: 1200, col: 32, offset: 37610}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, inverted: false, }, &oneOrMoreExpr{ - pos: position{line: 1193, col: 38, offset: 37346}, + pos: position{line: 1200, col: 38, offset: 37616}, expr: &charClassMatcher{ - pos: position{line: 1193, col: 38, offset: 37346}, + pos: position{line: 1200, col: 38, offset: 37616}, val: "[^:,\\r\\n]", chars: []rune{':', ',', '\r', '\n'}, ignoreCase: false, @@ -18805,31 +18976,31 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1195, col: 5, offset: 37394}, + pos: position{line: 1202, col: 5, offset: 37664}, run: (*parser).callonDocumentHeader401, expr: &seqExpr{ - pos: position{line: 1195, col: 5, offset: 37394}, + pos: position{line: 1202, col: 5, offset: 37664}, exprs: []interface{}{ &zeroOrOneExpr{ - pos: position{line: 1195, col: 5, offset: 37394}, + pos: position{line: 1202, col: 5, offset: 37664}, expr: &litMatcher{ - pos: position{line: 1195, col: 5, offset: 37394}, + pos: position{line: 1202, col: 5, offset: 37664}, val: "v", ignoreCase: true, want: "\"v\"i", }, }, &charClassMatcher{ - pos: position{line: 1195, col: 11, offset: 37400}, + pos: position{line: 1202, col: 11, offset: 37670}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, inverted: false, }, &oneOrMoreExpr{ - pos: position{line: 1195, col: 17, offset: 37406}, + pos: position{line: 1202, col: 17, offset: 37676}, expr: &charClassMatcher{ - pos: position{line: 1195, col: 17, offset: 37406}, + pos: position{line: 1202, col: 17, offset: 37676}, val: "[^:,\\r\\n]", chars: []rune{':', ',', '\r', '\n'}, ignoreCase: false, @@ -18837,12 +19008,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 1195, col: 28, offset: 37417}, + pos: position{line: 1202, col: 28, offset: 37687}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonDocumentHeader409, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -18851,9 +19022,9 @@ var g = &grammar{ }, }, &andExpr{ - pos: position{line: 1195, col: 35, offset: 37424}, + pos: position{line: 1202, col: 35, offset: 37694}, expr: &litMatcher{ - pos: position{line: 1195, col: 36, offset: 37425}, + pos: position{line: 1202, col: 36, offset: 37695}, val: ",", ignoreCase: false, want: "\",\"", @@ -18866,26 +19037,26 @@ var g = &grammar{ }, }, &zeroOrOneExpr{ - pos: position{line: 1184, col: 45, offset: 36853}, + pos: position{line: 1191, col: 45, offset: 37123}, expr: &litMatcher{ - pos: position{line: 1184, col: 45, offset: 36853}, + pos: position{line: 1191, col: 45, offset: 37123}, val: ",", ignoreCase: false, want: "\",\"", }, }, &labeledExpr{ - pos: position{line: 1184, col: 50, offset: 36858}, + pos: position{line: 1191, col: 50, offset: 37128}, label: "revdate", expr: &zeroOrOneExpr{ - pos: position{line: 1184, col: 58, offset: 36866}, + pos: position{line: 1191, col: 58, offset: 37136}, expr: &actionExpr{ - pos: position{line: 1199, col: 25, offset: 37489}, + pos: position{line: 1206, col: 25, offset: 37759}, run: (*parser).callonDocumentHeader417, expr: &oneOrMoreExpr{ - pos: position{line: 1199, col: 25, offset: 37489}, + pos: position{line: 1206, col: 25, offset: 37759}, expr: &charClassMatcher{ - pos: position{line: 1199, col: 25, offset: 37489}, + pos: position{line: 1206, col: 25, offset: 37759}, val: "[^:\\r\\n]", chars: []rune{':', '\r', '\n'}, ignoreCase: false, @@ -18896,26 +19067,26 @@ var g = &grammar{ }, }, &zeroOrOneExpr{ - pos: position{line: 1184, col: 82, offset: 36890}, + pos: position{line: 1191, col: 82, offset: 37160}, expr: &litMatcher{ - pos: position{line: 1184, col: 82, offset: 36890}, + pos: position{line: 1191, col: 82, offset: 37160}, val: ":", ignoreCase: false, want: "\":\"", }, }, &labeledExpr{ - pos: position{line: 1184, col: 87, offset: 36895}, + pos: position{line: 1191, col: 87, offset: 37165}, label: "revremark", expr: &zeroOrOneExpr{ - pos: position{line: 1184, col: 97, offset: 36905}, + pos: position{line: 1191, col: 97, offset: 37175}, expr: &actionExpr{ - pos: position{line: 1203, col: 27, offset: 37561}, + pos: position{line: 1210, col: 27, offset: 37831}, run: (*parser).callonDocumentHeader424, expr: &oneOrMoreExpr{ - pos: position{line: 1203, col: 27, offset: 37561}, + pos: position{line: 1210, col: 27, offset: 37831}, expr: &charClassMatcher{ - pos: position{line: 1203, col: 27, offset: 37561}, + pos: position{line: 1210, col: 27, offset: 37831}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -18929,21 +19100,21 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1186, col: 15, offset: 37023}, + pos: position{line: 1193, col: 15, offset: 37293}, run: (*parser).callonDocumentHeader427, expr: &seqExpr{ - pos: position{line: 1186, col: 15, offset: 37023}, + pos: position{line: 1193, col: 15, offset: 37293}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1186, col: 15, offset: 37023}, + pos: position{line: 1193, col: 15, offset: 37293}, label: "revdate", expr: &actionExpr{ - pos: position{line: 1199, col: 25, offset: 37489}, + pos: position{line: 1206, col: 25, offset: 37759}, run: (*parser).callonDocumentHeader430, expr: &oneOrMoreExpr{ - pos: position{line: 1199, col: 25, offset: 37489}, + pos: position{line: 1206, col: 25, offset: 37759}, expr: &charClassMatcher{ - pos: position{line: 1199, col: 25, offset: 37489}, + pos: position{line: 1206, col: 25, offset: 37759}, val: "[^:\\r\\n]", chars: []rune{':', '\r', '\n'}, ignoreCase: false, @@ -18953,26 +19124,26 @@ var g = &grammar{ }, }, &zeroOrOneExpr{ - pos: position{line: 1186, col: 46, offset: 37054}, + pos: position{line: 1193, col: 46, offset: 37324}, expr: &litMatcher{ - pos: position{line: 1186, col: 46, offset: 37054}, + pos: position{line: 1193, col: 46, offset: 37324}, val: ":", ignoreCase: false, want: "\":\"", }, }, &labeledExpr{ - pos: position{line: 1186, col: 51, offset: 37059}, + pos: position{line: 1193, col: 51, offset: 37329}, label: "revremark", expr: &zeroOrOneExpr{ - pos: position{line: 1186, col: 61, offset: 37069}, + pos: position{line: 1193, col: 61, offset: 37339}, expr: &actionExpr{ - pos: position{line: 1203, col: 27, offset: 37561}, + pos: position{line: 1210, col: 27, offset: 37831}, run: (*parser).callonDocumentHeader437, expr: &oneOrMoreExpr{ - pos: position{line: 1203, col: 27, offset: 37561}, + pos: position{line: 1210, col: 27, offset: 37831}, expr: &charClassMatcher{ - pos: position{line: 1203, col: 27, offset: 37561}, + pos: position{line: 1210, col: 27, offset: 37831}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -18989,28 +19160,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonDocumentHeader441, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -19019,9 +19190,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -19042,15 +19213,15 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1090, col: 5, offset: 33865}, + pos: position{line: 1097, col: 5, offset: 34135}, label: "moreExtraAttrs", expr: &ruleRefExpr{ - pos: position{line: 1090, col: 21, offset: 33881}, + pos: position{line: 1097, col: 21, offset: 34151}, name: "DocumentHeaderAttributes", }, }, &andCodeExpr{ - pos: position{line: 1091, col: 5, offset: 33911}, + pos: position{line: 1098, col: 5, offset: 34181}, run: (*parser).callonDocumentHeader450, }, }, @@ -19059,14 +19230,14 @@ var g = &grammar{ }, { name: "DocumentHeaderAttributes", - pos: position{line: 1109, col: 1, offset: 34546}, + pos: position{line: 1116, col: 1, offset: 34816}, expr: &zeroOrMoreExpr{ - pos: position{line: 1109, col: 29, offset: 34574}, + pos: position{line: 1116, col: 29, offset: 34844}, expr: &choiceExpr{ - pos: position{line: 1109, col: 30, offset: 34575}, + pos: position{line: 1116, col: 30, offset: 34845}, alternatives: []interface{}{ &ruleRefExpr{ - pos: position{line: 1109, col: 30, offset: 34575}, + pos: position{line: 1116, col: 30, offset: 34845}, name: "AttributeDeclaration", }, &actionExpr{ @@ -19124,10 +19295,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 364, col: 49, offset: 11201}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonDocumentHeaderAttributes15, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -19136,28 +19307,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonDocumentHeaderAttributes18, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -19166,9 +19337,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -19231,10 +19402,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 366, col: 39, offset: 11322}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonDocumentHeaderAttributes36, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -19243,28 +19414,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonDocumentHeaderAttributes39, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -19273,9 +19444,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -19284,36 +19455,36 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2876, col: 22, offset: 94317}, + pos: position{line: 2762, col: 22, offset: 90750}, run: (*parser).callonDocumentHeaderAttributes46, expr: &seqExpr{ - pos: position{line: 2876, col: 22, offset: 94317}, + pos: position{line: 2762, col: 22, offset: 90750}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2881, col: 31, offset: 94538}, + pos: position{line: 2767, col: 31, offset: 90971}, val: "//", ignoreCase: false, want: "\"//\"", }, ¬Expr{ - pos: position{line: 2881, col: 36, offset: 94543}, + pos: position{line: 2767, col: 36, offset: 90976}, expr: &litMatcher{ - pos: position{line: 2881, col: 37, offset: 94544}, + pos: position{line: 2767, col: 37, offset: 90977}, val: "//", ignoreCase: false, want: "\"//\"", }, }, &labeledExpr{ - pos: position{line: 2876, col: 49, offset: 94344}, + pos: position{line: 2762, col: 49, offset: 90777}, label: "content", expr: &actionExpr{ - pos: position{line: 2883, col: 29, offset: 94579}, + pos: position{line: 2769, col: 29, offset: 91012}, run: (*parser).callonDocumentHeaderAttributes52, expr: &zeroOrMoreExpr{ - pos: position{line: 2883, col: 29, offset: 94579}, + pos: position{line: 2769, col: 29, offset: 91012}, expr: &charClassMatcher{ - pos: position{line: 2883, col: 29, offset: 94579}, + pos: position{line: 2769, col: 29, offset: 91012}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -19323,28 +19494,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonDocumentHeaderAttributes56, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -19353,9 +19524,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -19364,36 +19535,36 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 820, col: 5, offset: 26700}, + pos: position{line: 827, col: 5, offset: 26970}, run: (*parser).callonDocumentHeaderAttributes63, expr: &seqExpr{ - pos: position{line: 820, col: 5, offset: 26700}, + pos: position{line: 827, col: 5, offset: 26970}, exprs: []interface{}{ &actionExpr{ - pos: position{line: 745, col: 5, offset: 24119}, + pos: position{line: 752, col: 5, offset: 24389}, run: (*parser).callonDocumentHeaderAttributes65, expr: &seqExpr{ - pos: position{line: 745, col: 5, offset: 24119}, + pos: position{line: 752, col: 5, offset: 24389}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 745, col: 5, offset: 24119}, + pos: position{line: 752, col: 5, offset: 24389}, label: "delimiter", expr: &actionExpr{ - pos: position{line: 745, col: 16, offset: 24130}, + pos: position{line: 752, col: 16, offset: 24400}, run: (*parser).callonDocumentHeaderAttributes68, expr: &seqExpr{ - pos: position{line: 745, col: 16, offset: 24130}, + pos: position{line: 752, col: 16, offset: 24400}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 745, col: 16, offset: 24130}, + pos: position{line: 752, col: 16, offset: 24400}, val: "////", ignoreCase: false, want: "\"////\"", }, &zeroOrMoreExpr{ - pos: position{line: 745, col: 23, offset: 24137}, + pos: position{line: 752, col: 23, offset: 24407}, expr: &litMatcher{ - pos: position{line: 745, col: 23, offset: 24137}, + pos: position{line: 752, col: 23, offset: 24407}, val: "/", ignoreCase: false, want: "\"/\"", @@ -19404,12 +19575,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 747, col: 8, offset: 24221}, + pos: position{line: 754, col: 8, offset: 24491}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonDocumentHeaderAttributes74, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -19418,28 +19589,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonDocumentHeaderAttributes77, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -19448,9 +19619,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -19459,46 +19630,46 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 821, col: 5, offset: 26731}, + pos: position{line: 828, col: 5, offset: 27001}, label: "content", expr: &zeroOrMoreExpr{ - pos: position{line: 831, col: 5, offset: 27017}, + pos: position{line: 838, col: 5, offset: 27287}, expr: &actionExpr{ - pos: position{line: 831, col: 6, offset: 27018}, + pos: position{line: 838, col: 6, offset: 27288}, run: (*parser).callonDocumentHeaderAttributes86, expr: &seqExpr{ - pos: position{line: 831, col: 6, offset: 27018}, + pos: position{line: 838, col: 6, offset: 27288}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 831, col: 6, offset: 27018}, + pos: position{line: 838, col: 6, offset: 27288}, expr: &choiceExpr{ - pos: position{line: 828, col: 29, offset: 26960}, + pos: position{line: 835, col: 29, offset: 27230}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 745, col: 5, offset: 24119}, + pos: position{line: 752, col: 5, offset: 24389}, run: (*parser).callonDocumentHeaderAttributes90, expr: &seqExpr{ - pos: position{line: 745, col: 5, offset: 24119}, + pos: position{line: 752, col: 5, offset: 24389}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 745, col: 5, offset: 24119}, + pos: position{line: 752, col: 5, offset: 24389}, label: "delimiter", expr: &actionExpr{ - pos: position{line: 745, col: 16, offset: 24130}, + pos: position{line: 752, col: 16, offset: 24400}, run: (*parser).callonDocumentHeaderAttributes93, expr: &seqExpr{ - pos: position{line: 745, col: 16, offset: 24130}, + pos: position{line: 752, col: 16, offset: 24400}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 745, col: 16, offset: 24130}, + pos: position{line: 752, col: 16, offset: 24400}, val: "////", ignoreCase: false, want: "\"////\"", }, &zeroOrMoreExpr{ - pos: position{line: 745, col: 23, offset: 24137}, + pos: position{line: 752, col: 23, offset: 24407}, expr: &litMatcher{ - pos: position{line: 745, col: 23, offset: 24137}, + pos: position{line: 752, col: 23, offset: 24407}, val: "/", ignoreCase: false, want: "\"/\"", @@ -19509,12 +19680,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 747, col: 8, offset: 24221}, + pos: position{line: 754, col: 8, offset: 24491}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonDocumentHeaderAttributes99, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -19523,28 +19694,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonDocumentHeaderAttributes102, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -19553,9 +19724,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -19564,42 +19735,42 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, }, }, &labeledExpr{ - pos: position{line: 832, col: 5, offset: 27048}, + pos: position{line: 839, col: 5, offset: 27318}, label: "line", expr: &actionExpr{ - pos: position{line: 809, col: 5, offset: 26395}, + pos: position{line: 816, col: 5, offset: 26665}, run: (*parser).callonDocumentHeaderAttributes112, expr: &seqExpr{ - pos: position{line: 809, col: 5, offset: 26395}, + pos: position{line: 816, col: 5, offset: 26665}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 809, col: 5, offset: 26395}, + pos: position{line: 816, col: 5, offset: 26665}, expr: ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, &labeledExpr{ - pos: position{line: 810, col: 5, offset: 26468}, + pos: position{line: 817, col: 5, offset: 26738}, label: "content", expr: &actionExpr{ - pos: position{line: 810, col: 14, offset: 26477}, + pos: position{line: 817, col: 14, offset: 26747}, run: (*parser).callonDocumentHeaderAttributes118, expr: &zeroOrMoreExpr{ - pos: position{line: 810, col: 14, offset: 26477}, + pos: position{line: 817, col: 14, offset: 26747}, expr: &charClassMatcher{ - pos: position{line: 810, col: 14, offset: 26477}, + pos: position{line: 817, col: 14, offset: 26747}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -19609,28 +19780,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonDocumentHeaderAttributes122, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -19639,9 +19810,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -19656,35 +19827,35 @@ var g = &grammar{ }, }, &zeroOrOneExpr{ - pos: position{line: 822, col: 5, offset: 26765}, + pos: position{line: 829, col: 5, offset: 27035}, expr: &choiceExpr{ - pos: position{line: 828, col: 29, offset: 26960}, + pos: position{line: 835, col: 29, offset: 27230}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 745, col: 5, offset: 24119}, + pos: position{line: 752, col: 5, offset: 24389}, run: (*parser).callonDocumentHeaderAttributes131, expr: &seqExpr{ - pos: position{line: 745, col: 5, offset: 24119}, + pos: position{line: 752, col: 5, offset: 24389}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 745, col: 5, offset: 24119}, + pos: position{line: 752, col: 5, offset: 24389}, label: "delimiter", expr: &actionExpr{ - pos: position{line: 745, col: 16, offset: 24130}, + pos: position{line: 752, col: 16, offset: 24400}, run: (*parser).callonDocumentHeaderAttributes134, expr: &seqExpr{ - pos: position{line: 745, col: 16, offset: 24130}, + pos: position{line: 752, col: 16, offset: 24400}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 745, col: 16, offset: 24130}, + pos: position{line: 752, col: 16, offset: 24400}, val: "////", ignoreCase: false, want: "\"////\"", }, &zeroOrMoreExpr{ - pos: position{line: 745, col: 23, offset: 24137}, + pos: position{line: 752, col: 23, offset: 24407}, expr: &litMatcher{ - pos: position{line: 745, col: 23, offset: 24137}, + pos: position{line: 752, col: 23, offset: 24407}, val: "/", ignoreCase: false, want: "\"/\"", @@ -19695,12 +19866,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 747, col: 8, offset: 24221}, + pos: position{line: 754, col: 8, offset: 24491}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonDocumentHeaderAttributes140, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -19709,28 +19880,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonDocumentHeaderAttributes143, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -19739,9 +19910,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -19750,9 +19921,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -19762,27 +19933,27 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 683, col: 14, offset: 22042}, + pos: position{line: 690, col: 14, offset: 22312}, run: (*parser).callonDocumentHeaderAttributes152, expr: &seqExpr{ - pos: position{line: 683, col: 14, offset: 22042}, + pos: position{line: 690, col: 14, offset: 22312}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 683, col: 14, offset: 22042}, + pos: position{line: 690, col: 14, offset: 22312}, expr: ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, &zeroOrMoreExpr{ - pos: position{line: 683, col: 19, offset: 22047}, + pos: position{line: 690, col: 19, offset: 22317}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonDocumentHeaderAttributes158, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -19791,28 +19962,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonDocumentHeaderAttributes161, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -19821,9 +19992,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -19837,26 +20008,26 @@ var g = &grammar{ }, { name: "InlineElement", - pos: position{line: 1270, col: 1, offset: 39731}, + pos: position{line: 1277, col: 1, offset: 40001}, expr: &actionExpr{ - pos: position{line: 1271, col: 5, offset: 39754}, + pos: position{line: 1278, col: 5, offset: 40024}, run: (*parser).callonInlineElement1, expr: &labeledExpr{ - pos: position{line: 1271, col: 5, offset: 39754}, + pos: position{line: 1278, col: 5, offset: 40024}, label: "element", expr: &choiceExpr{ - pos: position{line: 1272, col: 9, offset: 39772}, + pos: position{line: 1279, col: 9, offset: 40042}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3109, col: 5, offset: 101386}, + pos: position{line: 3005, col: 5, offset: 98023}, run: (*parser).callonInlineElement4, expr: &seqExpr{ - pos: position{line: 3109, col: 5, offset: 101386}, + pos: position{line: 3005, col: 5, offset: 98023}, exprs: []interface{}{ &oneOrMoreExpr{ - pos: position{line: 3109, col: 5, offset: 101386}, + pos: position{line: 3005, col: 5, offset: 98023}, expr: &charClassMatcher{ - pos: position{line: 3109, col: 5, offset: 101386}, + pos: position{line: 3005, col: 5, offset: 98023}, val: "[,;!?0-9\\pL]", chars: []rune{',', ';', '!', '?'}, ranges: []rune{'0', '9'}, @@ -19866,13 +20037,13 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3110, col: 6, offset: 101436}, + pos: position{line: 3006, col: 6, offset: 98073}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonInlineElement9, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -19880,37 +20051,37 @@ var g = &grammar{ }, }, &andExpr{ - pos: position{line: 3110, col: 14, offset: 101444}, + pos: position{line: 3006, col: 14, offset: 98081}, expr: &choiceExpr{ - pos: position{line: 3110, col: 16, offset: 101446}, + pos: position{line: 3006, col: 16, offset: 98083}, alternatives: []interface{}{ &charClassMatcher{ - pos: position{line: 3110, col: 16, offset: 101446}, + pos: position{line: 3006, col: 16, offset: 98083}, val: "[.�]", chars: []rune{'.', '�'}, ignoreCase: false, inverted: false, }, &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonInlineElement14, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -19919,9 +20090,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -19933,12 +20104,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 3180, col: 11, offset: 103464}, + pos: position{line: 3076, col: 11, offset: 100101}, run: (*parser).callonInlineElement21, expr: &oneOrMoreExpr{ - pos: position{line: 3180, col: 11, offset: 103464}, + pos: position{line: 3076, col: 11, offset: 100101}, expr: &charClassMatcher{ - pos: position{line: 3180, col: 12, offset: 103465}, + pos: position{line: 3076, col: 12, offset: 100102}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -19947,28 +20118,28 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1220, col: 5, offset: 38317}, + pos: position{line: 1227, col: 5, offset: 38587}, run: (*parser).callonInlineElement24, expr: &seqExpr{ - pos: position{line: 1220, col: 5, offset: 38317}, + pos: position{line: 1227, col: 5, offset: 38587}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 1220, col: 5, offset: 38317}, + pos: position{line: 1227, col: 5, offset: 38587}, run: (*parser).callonInlineElement26, }, &litMatcher{ - pos: position{line: 1223, col: 5, offset: 38419}, + pos: position{line: 1230, col: 5, offset: 38689}, val: "+", ignoreCase: false, want: "\"+\"", }, &zeroOrMoreExpr{ - pos: position{line: 1223, col: 9, offset: 38423}, + pos: position{line: 1230, col: 9, offset: 38693}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonInlineElement29, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -19977,30 +20148,30 @@ var g = &grammar{ }, }, &andExpr{ - pos: position{line: 1223, col: 16, offset: 38430}, + pos: position{line: 1230, col: 16, offset: 38700}, expr: &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonInlineElement33, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -20009,9 +20180,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -20021,33 +20192,33 @@ var g = &grammar{ }, }, &seqExpr{ - pos: position{line: 1275, col: 11, offset: 39871}, + pos: position{line: 1282, col: 11, offset: 40141}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 1275, col: 11, offset: 39871}, + pos: position{line: 1282, col: 11, offset: 40141}, expr: &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonInlineElement43, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -20056,51 +20227,51 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, }, }, &choiceExpr{ - pos: position{line: 1276, col: 13, offset: 39914}, + pos: position{line: 1283, col: 13, offset: 40184}, alternatives: []interface{}{ &ruleRefExpr{ - pos: position{line: 1276, col: 13, offset: 39914}, + pos: position{line: 1283, col: 13, offset: 40184}, name: "Quote", }, &actionExpr{ - pos: position{line: 641, col: 5, offset: 20613}, + pos: position{line: 648, col: 5, offset: 20883}, run: (*parser).callonInlineElement52, expr: &seqExpr{ - pos: position{line: 641, col: 5, offset: 20613}, + pos: position{line: 648, col: 5, offset: 20883}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 641, col: 5, offset: 20613}, + pos: position{line: 648, col: 5, offset: 20883}, run: (*parser).callonInlineElement54, }, &labeledExpr{ - pos: position{line: 644, col: 5, offset: 20682}, + pos: position{line: 651, col: 5, offset: 20952}, label: "element", expr: &choiceExpr{ - pos: position{line: 644, col: 14, offset: 20691}, + pos: position{line: 651, col: 14, offset: 20961}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 664, col: 25, offset: 21344}, + pos: position{line: 671, col: 25, offset: 21614}, run: (*parser).callonInlineElement57, expr: &seqExpr{ - pos: position{line: 664, col: 25, offset: 21344}, + pos: position{line: 671, col: 25, offset: 21614}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 664, col: 25, offset: 21344}, + pos: position{line: 671, col: 25, offset: 21614}, val: "{counter:", ignoreCase: false, want: "\"{counter:\"", }, &labeledExpr{ - pos: position{line: 664, col: 37, offset: 21356}, + pos: position{line: 671, col: 37, offset: 21626}, label: "name", expr: &actionExpr{ pos: position{line: 324, col: 18, offset: 10072}, @@ -20134,33 +20305,33 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 664, col: 56, offset: 21375}, + pos: position{line: 671, col: 56, offset: 21645}, label: "start", expr: &zeroOrOneExpr{ - pos: position{line: 664, col: 62, offset: 21381}, + pos: position{line: 671, col: 62, offset: 21651}, expr: &actionExpr{ - pos: position{line: 672, col: 17, offset: 21676}, + pos: position{line: 679, col: 17, offset: 21946}, run: (*parser).callonInlineElement68, expr: &seqExpr{ - pos: position{line: 672, col: 17, offset: 21676}, + pos: position{line: 679, col: 17, offset: 21946}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 672, col: 17, offset: 21676}, + pos: position{line: 679, col: 17, offset: 21946}, val: ":", ignoreCase: false, want: "\":\"", }, &labeledExpr{ - pos: position{line: 672, col: 21, offset: 21680}, + pos: position{line: 679, col: 21, offset: 21950}, label: "start", expr: &choiceExpr{ - pos: position{line: 672, col: 28, offset: 21687}, + pos: position{line: 679, col: 28, offset: 21957}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 672, col: 28, offset: 21687}, + pos: position{line: 679, col: 28, offset: 21957}, run: (*parser).callonInlineElement73, expr: &charClassMatcher{ - pos: position{line: 672, col: 28, offset: 21687}, + pos: position{line: 679, col: 28, offset: 21957}, val: "[A-Za-z]", ranges: []rune{'A', 'Z', 'a', 'z'}, ignoreCase: false, @@ -20168,12 +20339,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 674, col: 9, offset: 21741}, + pos: position{line: 681, col: 9, offset: 22011}, run: (*parser).callonInlineElement75, expr: &oneOrMoreExpr{ - pos: position{line: 674, col: 9, offset: 21741}, + pos: position{line: 681, col: 9, offset: 22011}, expr: &charClassMatcher{ - pos: position{line: 674, col: 9, offset: 21741}, + pos: position{line: 681, col: 9, offset: 22011}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -20190,7 +20361,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 664, col: 78, offset: 21397}, + pos: position{line: 671, col: 78, offset: 21667}, val: "}", ignoreCase: false, want: "\"}\"", @@ -20199,19 +20370,19 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 668, col: 25, offset: 21515}, + pos: position{line: 675, col: 25, offset: 21785}, run: (*parser).callonInlineElement79, expr: &seqExpr{ - pos: position{line: 668, col: 25, offset: 21515}, + pos: position{line: 675, col: 25, offset: 21785}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 668, col: 25, offset: 21515}, + pos: position{line: 675, col: 25, offset: 21785}, val: "{counter2:", ignoreCase: false, want: "\"{counter2:\"", }, &labeledExpr{ - pos: position{line: 668, col: 38, offset: 21528}, + pos: position{line: 675, col: 38, offset: 21798}, label: "name", expr: &actionExpr{ pos: position{line: 324, col: 18, offset: 10072}, @@ -20245,33 +20416,33 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 668, col: 57, offset: 21547}, + pos: position{line: 675, col: 57, offset: 21817}, label: "start", expr: &zeroOrOneExpr{ - pos: position{line: 668, col: 63, offset: 21553}, + pos: position{line: 675, col: 63, offset: 21823}, expr: &actionExpr{ - pos: position{line: 672, col: 17, offset: 21676}, + pos: position{line: 679, col: 17, offset: 21946}, run: (*parser).callonInlineElement90, expr: &seqExpr{ - pos: position{line: 672, col: 17, offset: 21676}, + pos: position{line: 679, col: 17, offset: 21946}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 672, col: 17, offset: 21676}, + pos: position{line: 679, col: 17, offset: 21946}, val: ":", ignoreCase: false, want: "\":\"", }, &labeledExpr{ - pos: position{line: 672, col: 21, offset: 21680}, + pos: position{line: 679, col: 21, offset: 21950}, label: "start", expr: &choiceExpr{ - pos: position{line: 672, col: 28, offset: 21687}, + pos: position{line: 679, col: 28, offset: 21957}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 672, col: 28, offset: 21687}, + pos: position{line: 679, col: 28, offset: 21957}, run: (*parser).callonInlineElement95, expr: &charClassMatcher{ - pos: position{line: 672, col: 28, offset: 21687}, + pos: position{line: 679, col: 28, offset: 21957}, val: "[A-Za-z]", ranges: []rune{'A', 'Z', 'a', 'z'}, ignoreCase: false, @@ -20279,12 +20450,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 674, col: 9, offset: 21741}, + pos: position{line: 681, col: 9, offset: 22011}, run: (*parser).callonInlineElement97, expr: &oneOrMoreExpr{ - pos: position{line: 674, col: 9, offset: 21741}, + pos: position{line: 681, col: 9, offset: 22011}, expr: &charClassMatcher{ - pos: position{line: 674, col: 9, offset: 21741}, + pos: position{line: 681, col: 9, offset: 22011}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -20301,7 +20472,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 668, col: 79, offset: 21569}, + pos: position{line: 675, col: 79, offset: 21839}, val: "}", ignoreCase: false, want: "\"}\"", @@ -20310,19 +20481,19 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 650, col: 5, offset: 20820}, + pos: position{line: 657, col: 5, offset: 21090}, run: (*parser).callonInlineElement101, expr: &seqExpr{ - pos: position{line: 650, col: 5, offset: 20820}, + pos: position{line: 657, col: 5, offset: 21090}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 650, col: 5, offset: 20820}, + pos: position{line: 657, col: 5, offset: 21090}, val: "\\{", ignoreCase: false, want: "\"\\\\{\"", }, &labeledExpr{ - pos: position{line: 650, col: 13, offset: 20828}, + pos: position{line: 657, col: 13, offset: 21098}, label: "name", expr: &actionExpr{ pos: position{line: 324, col: 18, offset: 10072}, @@ -20356,7 +20527,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 650, col: 32, offset: 20847}, + pos: position{line: 657, col: 32, offset: 21117}, val: "}", ignoreCase: false, want: "\"}\"", @@ -20365,19 +20536,19 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 657, col: 5, offset: 21088}, + pos: position{line: 664, col: 5, offset: 21358}, run: (*parser).callonInlineElement111, expr: &seqExpr{ - pos: position{line: 657, col: 5, offset: 21088}, + pos: position{line: 664, col: 5, offset: 21358}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 657, col: 5, offset: 21088}, + pos: position{line: 664, col: 5, offset: 21358}, val: "{", ignoreCase: false, want: "\"{\"", }, &labeledExpr{ - pos: position{line: 657, col: 9, offset: 21092}, + pos: position{line: 664, col: 9, offset: 21362}, label: "name", expr: &actionExpr{ pos: position{line: 324, col: 18, offset: 10072}, @@ -20411,7 +20582,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 657, col: 28, offset: 21111}, + pos: position{line: 664, col: 28, offset: 21381}, val: "}", ignoreCase: false, want: "\"}\"", @@ -20426,53 +20597,53 @@ var g = &grammar{ }, }, &ruleRefExpr{ - pos: position{line: 1278, col: 15, offset: 39968}, + pos: position{line: 1285, col: 15, offset: 40238}, name: "InlineMacro", }, &actionExpr{ - pos: position{line: 2859, col: 5, offset: 93679}, + pos: position{line: 2745, col: 5, offset: 90112}, run: (*parser).callonInlineElement122, expr: &seqExpr{ - pos: position{line: 2859, col: 5, offset: 93679}, + pos: position{line: 2745, col: 5, offset: 90112}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 2859, col: 5, offset: 93679}, + pos: position{line: 2745, col: 5, offset: 90112}, run: (*parser).callonInlineElement124, }, &labeledExpr{ - pos: position{line: 2862, col: 5, offset: 93755}, + pos: position{line: 2748, col: 5, offset: 90188}, label: "element", expr: &choiceExpr{ - pos: position{line: 2864, col: 9, offset: 93853}, + pos: position{line: 2750, col: 9, offset: 90286}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2864, col: 9, offset: 93853}, + pos: position{line: 2750, col: 9, offset: 90286}, run: (*parser).callonInlineElement127, expr: &choiceExpr{ - pos: position{line: 692, col: 27, offset: 22395}, + pos: position{line: 699, col: 27, offset: 22665}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 692, col: 27, offset: 22395}, + pos: position{line: 699, col: 27, offset: 22665}, run: (*parser).callonInlineElement129, expr: &seqExpr{ - pos: position{line: 692, col: 27, offset: 22395}, + pos: position{line: 699, col: 27, offset: 22665}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 692, col: 27, offset: 22395}, + pos: position{line: 699, col: 27, offset: 22665}, val: "<<", ignoreCase: false, want: "\"<<\"", }, &labeledExpr{ - pos: position{line: 692, col: 32, offset: 22400}, + pos: position{line: 699, col: 32, offset: 22670}, label: "id", expr: &actionExpr{ - pos: position{line: 3161, col: 7, offset: 103049}, + pos: position{line: 3057, col: 7, offset: 99686}, run: (*parser).callonInlineElement133, expr: &oneOrMoreExpr{ - pos: position{line: 3161, col: 7, offset: 103049}, + pos: position{line: 3057, col: 7, offset: 99686}, expr: &charClassMatcher{ - pos: position{line: 3161, col: 7, offset: 103049}, + pos: position{line: 3057, col: 7, offset: 99686}, val: "[^[]<>,]", chars: []rune{'[', ']', '<', '>', ','}, ignoreCase: false, @@ -20482,12 +20653,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 692, col: 40, offset: 22408}, + pos: position{line: 699, col: 40, offset: 22678}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonInlineElement137, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -20496,27 +20667,27 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 692, col: 47, offset: 22415}, + pos: position{line: 699, col: 47, offset: 22685}, val: ",", ignoreCase: false, want: "\",\"", }, &labeledExpr{ - pos: position{line: 692, col: 51, offset: 22419}, + pos: position{line: 699, col: 51, offset: 22689}, label: "label", expr: &oneOrMoreExpr{ - pos: position{line: 702, col: 24, offset: 22820}, + pos: position{line: 709, col: 24, offset: 23090}, expr: &choiceExpr{ - pos: position{line: 703, col: 5, offset: 22826}, + pos: position{line: 710, col: 5, offset: 23096}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 703, col: 6, offset: 22827}, + pos: position{line: 710, col: 6, offset: 23097}, run: (*parser).callonInlineElement143, expr: &seqExpr{ - pos: position{line: 703, col: 6, offset: 22827}, + pos: position{line: 710, col: 6, offset: 23097}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 703, col: 6, offset: 22827}, + pos: position{line: 710, col: 6, offset: 23097}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -20524,9 +20695,9 @@ var g = &grammar{ inverted: false, }, &oneOrMoreExpr{ - pos: position{line: 703, col: 14, offset: 22835}, + pos: position{line: 710, col: 14, offset: 23105}, expr: &charClassMatcher{ - pos: position{line: 703, col: 14, offset: 22835}, + pos: position{line: 710, col: 14, offset: 23105}, val: "[^\\r\\n{<>]", chars: []rune{'\r', '\n', '{', '<', '>'}, ignoreCase: false, @@ -20537,19 +20708,19 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 650, col: 5, offset: 20820}, + pos: position{line: 657, col: 5, offset: 21090}, run: (*parser).callonInlineElement148, expr: &seqExpr{ - pos: position{line: 650, col: 5, offset: 20820}, + pos: position{line: 657, col: 5, offset: 21090}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 650, col: 5, offset: 20820}, + pos: position{line: 657, col: 5, offset: 21090}, val: "\\{", ignoreCase: false, want: "\"\\\\{\"", }, &labeledExpr{ - pos: position{line: 650, col: 13, offset: 20828}, + pos: position{line: 657, col: 13, offset: 21098}, label: "name", expr: &actionExpr{ pos: position{line: 324, col: 18, offset: 10072}, @@ -20583,7 +20754,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 650, col: 32, offset: 20847}, + pos: position{line: 657, col: 32, offset: 21117}, val: "}", ignoreCase: false, want: "\"}\"", @@ -20592,19 +20763,19 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 657, col: 5, offset: 21088}, + pos: position{line: 664, col: 5, offset: 21358}, run: (*parser).callonInlineElement158, expr: &seqExpr{ - pos: position{line: 657, col: 5, offset: 21088}, + pos: position{line: 664, col: 5, offset: 21358}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 657, col: 5, offset: 21088}, + pos: position{line: 664, col: 5, offset: 21358}, val: "{", ignoreCase: false, want: "\"{\"", }, &labeledExpr{ - pos: position{line: 657, col: 9, offset: 21092}, + pos: position{line: 664, col: 9, offset: 21362}, label: "name", expr: &actionExpr{ pos: position{line: 324, col: 18, offset: 10072}, @@ -20638,7 +20809,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 657, col: 28, offset: 21111}, + pos: position{line: 664, col: 28, offset: 21381}, val: "}", ignoreCase: false, want: "\"}\"", @@ -20647,10 +20818,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 707, col: 8, offset: 23061}, + pos: position{line: 714, col: 8, offset: 23331}, run: (*parser).callonInlineElement168, expr: &litMatcher{ - pos: position{line: 707, col: 8, offset: 23061}, + pos: position{line: 714, col: 8, offset: 23331}, val: "{", ignoreCase: false, want: "\"{\"", @@ -20661,7 +20832,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 692, col: 79, offset: 22447}, + pos: position{line: 699, col: 79, offset: 22717}, val: ">>", ignoreCase: false, want: "\">>\"", @@ -20670,27 +20841,27 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 694, col: 9, offset: 22520}, + pos: position{line: 701, col: 9, offset: 22790}, run: (*parser).callonInlineElement171, expr: &seqExpr{ - pos: position{line: 694, col: 9, offset: 22520}, + pos: position{line: 701, col: 9, offset: 22790}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 694, col: 9, offset: 22520}, + pos: position{line: 701, col: 9, offset: 22790}, val: "<<", ignoreCase: false, want: "\"<<\"", }, &labeledExpr{ - pos: position{line: 694, col: 14, offset: 22525}, + pos: position{line: 701, col: 14, offset: 22795}, label: "id", expr: &actionExpr{ - pos: position{line: 3161, col: 7, offset: 103049}, + pos: position{line: 3057, col: 7, offset: 99686}, run: (*parser).callonInlineElement175, expr: &oneOrMoreExpr{ - pos: position{line: 3161, col: 7, offset: 103049}, + pos: position{line: 3057, col: 7, offset: 99686}, expr: &charClassMatcher{ - pos: position{line: 3161, col: 7, offset: 103049}, + pos: position{line: 3057, col: 7, offset: 99686}, val: "[^[]<>,]", chars: []rune{'[', ']', '<', '>', ','}, ignoreCase: false, @@ -20700,7 +20871,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 694, col: 22, offset: 22533}, + pos: position{line: 701, col: 22, offset: 22803}, val: ">>", ignoreCase: false, want: "\">>\"", @@ -20712,10 +20883,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2867, col: 11, offset: 93957}, + pos: position{line: 2753, col: 11, offset: 90390}, run: (*parser).callonInlineElement179, expr: &charClassMatcher{ - pos: position{line: 2867, col: 12, offset: 93958}, + pos: position{line: 2753, col: 12, offset: 90391}, val: "[<>&]", chars: []rune{'<', '>', '&'}, ignoreCase: false, @@ -20729,65 +20900,95 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2892, col: 5, offset: 94851}, + pos: position{line: 2778, col: 5, offset: 91284}, run: (*parser).callonInlineElement181, expr: &seqExpr{ - pos: position{line: 2892, col: 5, offset: 94851}, + pos: position{line: 2778, col: 5, offset: 91284}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2892, col: 5, offset: 94851}, + pos: position{line: 2778, col: 5, offset: 91284}, val: "\\", ignoreCase: false, want: "\"\\\\\"", }, &choiceExpr{ - pos: position{line: 2892, col: 10, offset: 94856}, + pos: position{line: 2778, col: 10, offset: 91289}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2900, col: 15, offset: 95132}, + pos: position{line: 2787, col: 5, offset: 91579}, run: (*parser).callonInlineElement185, expr: &litMatcher{ - pos: position{line: 2900, col: 15, offset: 95132}, + pos: position{line: 2787, col: 5, offset: 91579}, + val: "\"`", + ignoreCase: false, + want: "\"\\\"`\"", + }, + }, + &actionExpr{ + pos: position{line: 2790, col: 7, offset: 91637}, + run: (*parser).callonInlineElement187, + expr: &litMatcher{ + pos: position{line: 2790, col: 7, offset: 91637}, + val: "`\"", + ignoreCase: false, + want: "\"`\\\"\"", + }, + }, + &actionExpr{ + pos: position{line: 2793, col: 7, offset: 91695}, + run: (*parser).callonInlineElement189, + expr: &litMatcher{ + pos: position{line: 2793, col: 7, offset: 91695}, + val: "'`", + ignoreCase: false, + want: "\"'`\"", + }, + }, + &actionExpr{ + pos: position{line: 2796, col: 7, offset: 91751}, + run: (*parser).callonInlineElement191, + expr: &litMatcher{ + pos: position{line: 2796, col: 7, offset: 91751}, val: "`'", ignoreCase: false, want: "\"`'\"", }, }, &actionExpr{ - pos: position{line: 2906, col: 14, offset: 95236}, - run: (*parser).callonInlineElement187, + pos: position{line: 2802, col: 14, offset: 91873}, + run: (*parser).callonInlineElement193, expr: &litMatcher{ - pos: position{line: 2906, col: 14, offset: 95236}, + pos: position{line: 2802, col: 14, offset: 91873}, val: "(C)", ignoreCase: false, want: "\"(C)\"", }, }, &actionExpr{ - pos: position{line: 2910, col: 14, offset: 95302}, - run: (*parser).callonInlineElement189, + pos: position{line: 2806, col: 14, offset: 91939}, + run: (*parser).callonInlineElement195, expr: &litMatcher{ - pos: position{line: 2910, col: 14, offset: 95302}, + pos: position{line: 2806, col: 14, offset: 91939}, val: "(TM)", ignoreCase: false, want: "\"(TM)\"", }, }, &actionExpr{ - pos: position{line: 2914, col: 15, offset: 95371}, - run: (*parser).callonInlineElement191, + pos: position{line: 2810, col: 15, offset: 92008}, + run: (*parser).callonInlineElement197, expr: &litMatcher{ - pos: position{line: 2914, col: 15, offset: 95371}, + pos: position{line: 2810, col: 15, offset: 92008}, val: "(R)", ignoreCase: false, want: "\"(R)\"", }, }, &actionExpr{ - pos: position{line: 2918, col: 13, offset: 95436}, - run: (*parser).callonInlineElement193, + pos: position{line: 2814, col: 13, offset: 92073}, + run: (*parser).callonInlineElement199, expr: &litMatcher{ - pos: position{line: 2918, col: 13, offset: 95436}, + pos: position{line: 2814, col: 13, offset: 92073}, val: "...", ignoreCase: false, want: "\"...\"", @@ -20799,63 +21000,93 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2900, col: 15, offset: 95132}, - run: (*parser).callonInlineElement195, + pos: position{line: 2787, col: 5, offset: 91579}, + run: (*parser).callonInlineElement201, expr: &litMatcher{ - pos: position{line: 2900, col: 15, offset: 95132}, + pos: position{line: 2787, col: 5, offset: 91579}, + val: "\"`", + ignoreCase: false, + want: "\"\\\"`\"", + }, + }, + &actionExpr{ + pos: position{line: 2790, col: 7, offset: 91637}, + run: (*parser).callonInlineElement203, + expr: &litMatcher{ + pos: position{line: 2790, col: 7, offset: 91637}, + val: "`\"", + ignoreCase: false, + want: "\"`\\\"\"", + }, + }, + &actionExpr{ + pos: position{line: 2793, col: 7, offset: 91695}, + run: (*parser).callonInlineElement205, + expr: &litMatcher{ + pos: position{line: 2793, col: 7, offset: 91695}, + val: "'`", + ignoreCase: false, + want: "\"'`\"", + }, + }, + &actionExpr{ + pos: position{line: 2796, col: 7, offset: 91751}, + run: (*parser).callonInlineElement207, + expr: &litMatcher{ + pos: position{line: 2796, col: 7, offset: 91751}, val: "`'", ignoreCase: false, want: "\"`'\"", }, }, &actionExpr{ - pos: position{line: 2906, col: 14, offset: 95236}, - run: (*parser).callonInlineElement197, + pos: position{line: 2802, col: 14, offset: 91873}, + run: (*parser).callonInlineElement209, expr: &litMatcher{ - pos: position{line: 2906, col: 14, offset: 95236}, + pos: position{line: 2802, col: 14, offset: 91873}, val: "(C)", ignoreCase: false, want: "\"(C)\"", }, }, &actionExpr{ - pos: position{line: 2910, col: 14, offset: 95302}, - run: (*parser).callonInlineElement199, + pos: position{line: 2806, col: 14, offset: 91939}, + run: (*parser).callonInlineElement211, expr: &litMatcher{ - pos: position{line: 2910, col: 14, offset: 95302}, + pos: position{line: 2806, col: 14, offset: 91939}, val: "(TM)", ignoreCase: false, want: "\"(TM)\"", }, }, &actionExpr{ - pos: position{line: 2914, col: 15, offset: 95371}, - run: (*parser).callonInlineElement201, + pos: position{line: 2810, col: 15, offset: 92008}, + run: (*parser).callonInlineElement213, expr: &litMatcher{ - pos: position{line: 2914, col: 15, offset: 95371}, + pos: position{line: 2810, col: 15, offset: 92008}, val: "(R)", ignoreCase: false, want: "\"(R)\"", }, }, &actionExpr{ - pos: position{line: 2918, col: 13, offset: 95436}, - run: (*parser).callonInlineElement203, + pos: position{line: 2814, col: 13, offset: 92073}, + run: (*parser).callonInlineElement215, expr: &litMatcher{ - pos: position{line: 2918, col: 13, offset: 95436}, + pos: position{line: 2814, col: 13, offset: 92073}, val: "...", ignoreCase: false, want: "\"...\"", }, }, &actionExpr{ - pos: position{line: 2929, col: 5, offset: 95746}, - run: (*parser).callonInlineElement205, + pos: position{line: 2825, col: 5, offset: 92383}, + run: (*parser).callonInlineElement217, expr: &seqExpr{ - pos: position{line: 2929, col: 5, offset: 95746}, + pos: position{line: 2825, col: 5, offset: 92383}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 3090, col: 13, offset: 100713}, + pos: position{line: 2986, col: 13, offset: 97350}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -20863,15 +21094,15 @@ var g = &grammar{ inverted: false, }, &litMatcher{ - pos: position{line: 2929, col: 14, offset: 95755}, + pos: position{line: 2825, col: 14, offset: 92392}, val: "\\'", ignoreCase: false, want: "\"\\\\'\"", }, &andExpr{ - pos: position{line: 2929, col: 19, offset: 95760}, + pos: position{line: 2825, col: 19, offset: 92397}, expr: &charClassMatcher{ - pos: position{line: 2929, col: 20, offset: 95761}, + pos: position{line: 2825, col: 20, offset: 92398}, val: "[\\pL]", classes: []*unicode.RangeTable{rangeTable("L")}, ignoreCase: false, @@ -20882,13 +21113,13 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2935, col: 5, offset: 95992}, - run: (*parser).callonInlineElement211, + pos: position{line: 2831, col: 5, offset: 92629}, + run: (*parser).callonInlineElement223, expr: &seqExpr{ - pos: position{line: 2935, col: 5, offset: 95992}, + pos: position{line: 2831, col: 5, offset: 92629}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 3090, col: 13, offset: 100713}, + pos: position{line: 2986, col: 13, offset: 97350}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -20896,15 +21127,15 @@ var g = &grammar{ inverted: false, }, &litMatcher{ - pos: position{line: 2935, col: 14, offset: 96001}, + pos: position{line: 2831, col: 14, offset: 92638}, val: "'", ignoreCase: false, want: "\"'\"", }, &andExpr{ - pos: position{line: 2935, col: 18, offset: 96005}, + pos: position{line: 2831, col: 18, offset: 92642}, expr: &charClassMatcher{ - pos: position{line: 2935, col: 19, offset: 96006}, + pos: position{line: 2831, col: 19, offset: 92643}, val: "[\\pL]", classes: []*unicode.RangeTable{rangeTable("L")}, ignoreCase: false, @@ -20915,27 +21146,27 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1212, col: 23, offset: 37871}, - run: (*parser).callonInlineElement217, + pos: position{line: 1219, col: 23, offset: 38141}, + run: (*parser).callonInlineElement229, expr: &seqExpr{ - pos: position{line: 1212, col: 23, offset: 37871}, + pos: position{line: 1219, col: 23, offset: 38141}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1210, col: 32, offset: 37839}, + pos: position{line: 1217, col: 32, offset: 38109}, val: "�", ignoreCase: false, want: "\"�\"", }, &labeledExpr{ - pos: position{line: 1212, col: 51, offset: 37899}, + pos: position{line: 1219, col: 51, offset: 38169}, label: "ref", expr: &actionExpr{ - pos: position{line: 1212, col: 56, offset: 37904}, - run: (*parser).callonInlineElement221, + pos: position{line: 1219, col: 56, offset: 38174}, + run: (*parser).callonInlineElement233, expr: &oneOrMoreExpr{ - pos: position{line: 1212, col: 56, offset: 37904}, + pos: position{line: 1219, col: 56, offset: 38174}, expr: &charClassMatcher{ - pos: position{line: 1212, col: 56, offset: 37904}, + pos: position{line: 1219, col: 56, offset: 38174}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -20945,7 +21176,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1210, col: 32, offset: 37839}, + pos: position{line: 1217, col: 32, offset: 38109}, val: "�", ignoreCase: false, want: "\"�\"", @@ -20954,10 +21185,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 3128, col: 12, offset: 101932}, - run: (*parser).callonInlineElement225, + pos: position{line: 3024, col: 12, offset: 98569}, + run: (*parser).callonInlineElement237, expr: &anyMatcher{ - line: 3128, col: 12, offset: 101932, + line: 3024, col: 12, offset: 98569, }, }, }, @@ -20971,28 +21202,28 @@ var g = &grammar{ }, { name: "InlineButton", - pos: position{line: 1306, col: 1, offset: 41050}, + pos: position{line: 1313, col: 1, offset: 41320}, expr: &actionExpr{ - pos: position{line: 1307, col: 5, offset: 41071}, + pos: position{line: 1314, col: 5, offset: 41341}, run: (*parser).callonInlineButton1, expr: &seqExpr{ - pos: position{line: 1307, col: 5, offset: 41071}, + pos: position{line: 1314, col: 5, offset: 41341}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 1307, col: 5, offset: 41071}, + pos: position{line: 1314, col: 5, offset: 41341}, run: (*parser).callonInlineButton3, }, &litMatcher{ - pos: position{line: 1310, col: 5, offset: 41130}, + pos: position{line: 1317, col: 5, offset: 41400}, val: "btn:", ignoreCase: false, want: "\"btn:\"", }, &labeledExpr{ - pos: position{line: 1310, col: 12, offset: 41137}, + pos: position{line: 1317, col: 12, offset: 41407}, label: "attributes", expr: &ruleRefExpr{ - pos: position{line: 1310, col: 24, offset: 41149}, + pos: position{line: 1317, col: 24, offset: 41419}, name: "InlineAttributes", }, }, @@ -21002,33 +21233,33 @@ var g = &grammar{ }, { name: "InlineMenu", - pos: position{line: 1317, col: 1, offset: 41437}, + pos: position{line: 1324, col: 1, offset: 41707}, expr: &actionExpr{ - pos: position{line: 1318, col: 5, offset: 41456}, + pos: position{line: 1325, col: 5, offset: 41726}, run: (*parser).callonInlineMenu1, expr: &seqExpr{ - pos: position{line: 1318, col: 5, offset: 41456}, + pos: position{line: 1325, col: 5, offset: 41726}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 1318, col: 5, offset: 41456}, + pos: position{line: 1325, col: 5, offset: 41726}, run: (*parser).callonInlineMenu3, }, &litMatcher{ - pos: position{line: 1321, col: 5, offset: 41515}, + pos: position{line: 1328, col: 5, offset: 41785}, val: "menu:", ignoreCase: false, want: "\"menu:\"", }, &labeledExpr{ - pos: position{line: 1321, col: 13, offset: 41523}, + pos: position{line: 1328, col: 13, offset: 41793}, label: "id", expr: &actionExpr{ - pos: position{line: 3161, col: 7, offset: 103049}, + pos: position{line: 3057, col: 7, offset: 99686}, run: (*parser).callonInlineMenu6, expr: &oneOrMoreExpr{ - pos: position{line: 3161, col: 7, offset: 103049}, + pos: position{line: 3057, col: 7, offset: 99686}, expr: &charClassMatcher{ - pos: position{line: 3161, col: 7, offset: 103049}, + pos: position{line: 3057, col: 7, offset: 99686}, val: "[^[]<>,]", chars: []rune{'[', ']', '<', '>', ','}, ignoreCase: false, @@ -21038,10 +21269,10 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1321, col: 21, offset: 41531}, + pos: position{line: 1328, col: 21, offset: 41801}, label: "attributes", expr: &ruleRefExpr{ - pos: position{line: 1321, col: 33, offset: 41543}, + pos: position{line: 1328, col: 33, offset: 41813}, name: "InlineAttributes", }, }, @@ -21051,29 +21282,29 @@ var g = &grammar{ }, { name: "IndexTerm", - pos: position{line: 1328, col: 1, offset: 41842}, + pos: position{line: 1335, col: 1, offset: 42112}, expr: &actionExpr{ - pos: position{line: 1328, col: 14, offset: 41855}, + pos: position{line: 1335, col: 14, offset: 42125}, run: (*parser).callonIndexTerm1, expr: &seqExpr{ - pos: position{line: 1328, col: 14, offset: 41855}, + pos: position{line: 1335, col: 14, offset: 42125}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1328, col: 14, offset: 41855}, + pos: position{line: 1335, col: 14, offset: 42125}, val: "((", ignoreCase: false, want: "\"((\"", }, &labeledExpr{ - pos: position{line: 1328, col: 19, offset: 41860}, + pos: position{line: 1335, col: 19, offset: 42130}, label: "term", expr: &ruleRefExpr{ - pos: position{line: 1328, col: 25, offset: 41866}, + pos: position{line: 1335, col: 25, offset: 42136}, name: "IndexTermContent", }, }, &litMatcher{ - pos: position{line: 1328, col: 43, offset: 41884}, + pos: position{line: 1335, col: 43, offset: 42154}, val: "))", ignoreCase: false, want: "\"))\"", @@ -21084,28 +21315,28 @@ var g = &grammar{ }, { name: "IndexTermContent", - pos: position{line: 1332, col: 1, offset: 41953}, + pos: position{line: 1339, col: 1, offset: 42223}, expr: &actionExpr{ - pos: position{line: 1332, col: 21, offset: 41973}, + pos: position{line: 1339, col: 21, offset: 42243}, run: (*parser).callonIndexTermContent1, expr: &labeledExpr{ - pos: position{line: 1332, col: 21, offset: 41973}, + pos: position{line: 1339, col: 21, offset: 42243}, label: "elements", expr: &oneOrMoreExpr{ - pos: position{line: 1332, col: 30, offset: 41982}, + pos: position{line: 1339, col: 30, offset: 42252}, expr: &choiceExpr{ - pos: position{line: 1332, col: 31, offset: 41983}, + pos: position{line: 1339, col: 31, offset: 42253}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3102, col: 5, offset: 101168}, + pos: position{line: 2998, col: 5, offset: 97805}, run: (*parser).callonIndexTermContent5, expr: &seqExpr{ - pos: position{line: 3102, col: 5, offset: 101168}, + pos: position{line: 2998, col: 5, offset: 97805}, exprs: []interface{}{ &oneOrMoreExpr{ - pos: position{line: 3102, col: 5, offset: 101168}, + pos: position{line: 2998, col: 5, offset: 97805}, expr: &charClassMatcher{ - pos: position{line: 3102, col: 5, offset: 101168}, + pos: position{line: 2998, col: 5, offset: 97805}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -21114,21 +21345,21 @@ var g = &grammar{ }, }, &andExpr{ - pos: position{line: 3102, col: 15, offset: 101178}, + pos: position{line: 2998, col: 15, offset: 97815}, expr: &choiceExpr{ - pos: position{line: 3102, col: 17, offset: 101180}, + pos: position{line: 2998, col: 17, offset: 97817}, alternatives: []interface{}{ &charClassMatcher{ - pos: position{line: 3102, col: 17, offset: 101180}, + pos: position{line: 2998, col: 17, offset: 97817}, val: "[\\r\\n ,]]", chars: []rune{'\r', '\n', ' ', ',', ']'}, ignoreCase: false, inverted: false, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -21138,15 +21369,15 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 3104, col: 9, offset: 101262}, + pos: position{line: 3000, col: 9, offset: 97899}, run: (*parser).callonIndexTermContent14, expr: &seqExpr{ - pos: position{line: 3104, col: 9, offset: 101262}, + pos: position{line: 3000, col: 9, offset: 97899}, exprs: []interface{}{ &oneOrMoreExpr{ - pos: position{line: 3104, col: 9, offset: 101262}, + pos: position{line: 3000, col: 9, offset: 97899}, expr: &charClassMatcher{ - pos: position{line: 3104, col: 9, offset: 101262}, + pos: position{line: 3000, col: 9, offset: 97899}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -21155,21 +21386,21 @@ var g = &grammar{ }, }, &oneOrMoreExpr{ - pos: position{line: 3104, col: 19, offset: 101272}, + pos: position{line: 3000, col: 19, offset: 97909}, expr: &seqExpr{ - pos: position{line: 3104, col: 20, offset: 101273}, + pos: position{line: 3000, col: 20, offset: 97910}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 3104, col: 20, offset: 101273}, + pos: position{line: 3000, col: 20, offset: 97910}, val: "[=*_`]", chars: []rune{'=', '*', '_', '`'}, ignoreCase: false, inverted: false, }, &oneOrMoreExpr{ - pos: position{line: 3104, col: 27, offset: 101280}, + pos: position{line: 3000, col: 27, offset: 97917}, expr: &charClassMatcher{ - pos: position{line: 3104, col: 27, offset: 101280}, + pos: position{line: 3000, col: 27, offset: 97917}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -21184,18 +21415,14 @@ var g = &grammar{ }, }, &ruleRefExpr{ - pos: position{line: 1332, col: 38, offset: 41990}, - name: "QuotedString", - }, - &ruleRefExpr{ - pos: position{line: 1332, col: 53, offset: 42005}, + pos: position{line: 1339, col: 38, offset: 42260}, name: "QuotedText", }, &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, - run: (*parser).callonIndexTermContent25, + pos: position{line: 3072, col: 10, offset: 100034}, + run: (*parser).callonIndexTermContent24, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -21203,49 +21430,49 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2859, col: 5, offset: 93679}, - run: (*parser).callonIndexTermContent27, + pos: position{line: 2745, col: 5, offset: 90112}, + run: (*parser).callonIndexTermContent26, expr: &seqExpr{ - pos: position{line: 2859, col: 5, offset: 93679}, + pos: position{line: 2745, col: 5, offset: 90112}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 2859, col: 5, offset: 93679}, - run: (*parser).callonIndexTermContent29, + pos: position{line: 2745, col: 5, offset: 90112}, + run: (*parser).callonIndexTermContent28, }, &labeledExpr{ - pos: position{line: 2862, col: 5, offset: 93755}, + pos: position{line: 2748, col: 5, offset: 90188}, label: "element", expr: &choiceExpr{ - pos: position{line: 2864, col: 9, offset: 93853}, + pos: position{line: 2750, col: 9, offset: 90286}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2864, col: 9, offset: 93853}, - run: (*parser).callonIndexTermContent32, + pos: position{line: 2750, col: 9, offset: 90286}, + run: (*parser).callonIndexTermContent31, expr: &choiceExpr{ - pos: position{line: 692, col: 27, offset: 22395}, + pos: position{line: 699, col: 27, offset: 22665}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 692, col: 27, offset: 22395}, - run: (*parser).callonIndexTermContent34, + pos: position{line: 699, col: 27, offset: 22665}, + run: (*parser).callonIndexTermContent33, expr: &seqExpr{ - pos: position{line: 692, col: 27, offset: 22395}, + pos: position{line: 699, col: 27, offset: 22665}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 692, col: 27, offset: 22395}, + pos: position{line: 699, col: 27, offset: 22665}, val: "<<", ignoreCase: false, want: "\"<<\"", }, &labeledExpr{ - pos: position{line: 692, col: 32, offset: 22400}, + pos: position{line: 699, col: 32, offset: 22670}, label: "id", expr: &actionExpr{ - pos: position{line: 3161, col: 7, offset: 103049}, - run: (*parser).callonIndexTermContent38, + pos: position{line: 3057, col: 7, offset: 99686}, + run: (*parser).callonIndexTermContent37, expr: &oneOrMoreExpr{ - pos: position{line: 3161, col: 7, offset: 103049}, + pos: position{line: 3057, col: 7, offset: 99686}, expr: &charClassMatcher{ - pos: position{line: 3161, col: 7, offset: 103049}, + pos: position{line: 3057, col: 7, offset: 99686}, val: "[^[]<>,]", chars: []rune{'[', ']', '<', '>', ','}, ignoreCase: false, @@ -21255,12 +21482,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 692, col: 40, offset: 22408}, + pos: position{line: 699, col: 40, offset: 22678}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, - run: (*parser).callonIndexTermContent42, + pos: position{line: 3072, col: 10, offset: 100034}, + run: (*parser).callonIndexTermContent41, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -21269,27 +21496,27 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 692, col: 47, offset: 22415}, + pos: position{line: 699, col: 47, offset: 22685}, val: ",", ignoreCase: false, want: "\",\"", }, &labeledExpr{ - pos: position{line: 692, col: 51, offset: 22419}, + pos: position{line: 699, col: 51, offset: 22689}, label: "label", expr: &oneOrMoreExpr{ - pos: position{line: 702, col: 24, offset: 22820}, + pos: position{line: 709, col: 24, offset: 23090}, expr: &choiceExpr{ - pos: position{line: 703, col: 5, offset: 22826}, + pos: position{line: 710, col: 5, offset: 23096}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 703, col: 6, offset: 22827}, - run: (*parser).callonIndexTermContent48, + pos: position{line: 710, col: 6, offset: 23097}, + run: (*parser).callonIndexTermContent47, expr: &seqExpr{ - pos: position{line: 703, col: 6, offset: 22827}, + pos: position{line: 710, col: 6, offset: 23097}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 703, col: 6, offset: 22827}, + pos: position{line: 710, col: 6, offset: 23097}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -21297,9 +21524,9 @@ var g = &grammar{ inverted: false, }, &oneOrMoreExpr{ - pos: position{line: 703, col: 14, offset: 22835}, + pos: position{line: 710, col: 14, offset: 23105}, expr: &charClassMatcher{ - pos: position{line: 703, col: 14, offset: 22835}, + pos: position{line: 710, col: 14, offset: 23105}, val: "[^\\r\\n{<>]", chars: []rune{'\r', '\n', '{', '<', '>'}, ignoreCase: false, @@ -21310,23 +21537,23 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 650, col: 5, offset: 20820}, - run: (*parser).callonIndexTermContent53, + pos: position{line: 657, col: 5, offset: 21090}, + run: (*parser).callonIndexTermContent52, expr: &seqExpr{ - pos: position{line: 650, col: 5, offset: 20820}, + pos: position{line: 657, col: 5, offset: 21090}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 650, col: 5, offset: 20820}, + pos: position{line: 657, col: 5, offset: 21090}, val: "\\{", ignoreCase: false, want: "\"\\\\{\"", }, &labeledExpr{ - pos: position{line: 650, col: 13, offset: 20828}, + pos: position{line: 657, col: 13, offset: 21098}, label: "name", expr: &actionExpr{ pos: position{line: 324, col: 18, offset: 10072}, - run: (*parser).callonIndexTermContent57, + run: (*parser).callonIndexTermContent56, expr: &seqExpr{ pos: position{line: 324, col: 18, offset: 10072}, exprs: []interface{}{ @@ -21356,7 +21583,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 650, col: 32, offset: 20847}, + pos: position{line: 657, col: 32, offset: 21117}, val: "}", ignoreCase: false, want: "\"}\"", @@ -21365,23 +21592,23 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 657, col: 5, offset: 21088}, - run: (*parser).callonIndexTermContent63, + pos: position{line: 664, col: 5, offset: 21358}, + run: (*parser).callonIndexTermContent62, expr: &seqExpr{ - pos: position{line: 657, col: 5, offset: 21088}, + pos: position{line: 664, col: 5, offset: 21358}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 657, col: 5, offset: 21088}, + pos: position{line: 664, col: 5, offset: 21358}, val: "{", ignoreCase: false, want: "\"{\"", }, &labeledExpr{ - pos: position{line: 657, col: 9, offset: 21092}, + pos: position{line: 664, col: 9, offset: 21362}, label: "name", expr: &actionExpr{ pos: position{line: 324, col: 18, offset: 10072}, - run: (*parser).callonIndexTermContent67, + run: (*parser).callonIndexTermContent66, expr: &seqExpr{ pos: position{line: 324, col: 18, offset: 10072}, exprs: []interface{}{ @@ -21411,7 +21638,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 657, col: 28, offset: 21111}, + pos: position{line: 664, col: 28, offset: 21381}, val: "}", ignoreCase: false, want: "\"}\"", @@ -21420,10 +21647,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 707, col: 8, offset: 23061}, - run: (*parser).callonIndexTermContent73, + pos: position{line: 714, col: 8, offset: 23331}, + run: (*parser).callonIndexTermContent72, expr: &litMatcher{ - pos: position{line: 707, col: 8, offset: 23061}, + pos: position{line: 714, col: 8, offset: 23331}, val: "{", ignoreCase: false, want: "\"{\"", @@ -21434,7 +21661,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 692, col: 79, offset: 22447}, + pos: position{line: 699, col: 79, offset: 22717}, val: ">>", ignoreCase: false, want: "\">>\"", @@ -21443,27 +21670,27 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 694, col: 9, offset: 22520}, - run: (*parser).callonIndexTermContent76, + pos: position{line: 701, col: 9, offset: 22790}, + run: (*parser).callonIndexTermContent75, expr: &seqExpr{ - pos: position{line: 694, col: 9, offset: 22520}, + pos: position{line: 701, col: 9, offset: 22790}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 694, col: 9, offset: 22520}, + pos: position{line: 701, col: 9, offset: 22790}, val: "<<", ignoreCase: false, want: "\"<<\"", }, &labeledExpr{ - pos: position{line: 694, col: 14, offset: 22525}, + pos: position{line: 701, col: 14, offset: 22795}, label: "id", expr: &actionExpr{ - pos: position{line: 3161, col: 7, offset: 103049}, - run: (*parser).callonIndexTermContent80, + pos: position{line: 3057, col: 7, offset: 99686}, + run: (*parser).callonIndexTermContent79, expr: &oneOrMoreExpr{ - pos: position{line: 3161, col: 7, offset: 103049}, + pos: position{line: 3057, col: 7, offset: 99686}, expr: &charClassMatcher{ - pos: position{line: 3161, col: 7, offset: 103049}, + pos: position{line: 3057, col: 7, offset: 99686}, val: "[^[]<>,]", chars: []rune{'[', ']', '<', '>', ','}, ignoreCase: false, @@ -21473,7 +21700,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 694, col: 22, offset: 22533}, + pos: position{line: 701, col: 22, offset: 22803}, val: ">>", ignoreCase: false, want: "\">>\"", @@ -21485,10 +21712,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2867, col: 11, offset: 93957}, - run: (*parser).callonIndexTermContent84, + pos: position{line: 2753, col: 11, offset: 90390}, + run: (*parser).callonIndexTermContent83, expr: &charClassMatcher{ - pos: position{line: 2867, col: 12, offset: 93958}, + pos: position{line: 2753, col: 12, offset: 90391}, val: "[<>&]", chars: []rune{'<', '>', '&'}, ignoreCase: false, @@ -21502,27 +21729,27 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1212, col: 23, offset: 37871}, - run: (*parser).callonIndexTermContent86, + pos: position{line: 1219, col: 23, offset: 38141}, + run: (*parser).callonIndexTermContent85, expr: &seqExpr{ - pos: position{line: 1212, col: 23, offset: 37871}, + pos: position{line: 1219, col: 23, offset: 38141}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1210, col: 32, offset: 37839}, + pos: position{line: 1217, col: 32, offset: 38109}, val: "�", ignoreCase: false, want: "\"�\"", }, &labeledExpr{ - pos: position{line: 1212, col: 51, offset: 37899}, + pos: position{line: 1219, col: 51, offset: 38169}, label: "ref", expr: &actionExpr{ - pos: position{line: 1212, col: 56, offset: 37904}, - run: (*parser).callonIndexTermContent90, + pos: position{line: 1219, col: 56, offset: 38174}, + run: (*parser).callonIndexTermContent89, expr: &oneOrMoreExpr{ - pos: position{line: 1212, col: 56, offset: 37904}, + pos: position{line: 1219, col: 56, offset: 38174}, expr: &charClassMatcher{ - pos: position{line: 1212, col: 56, offset: 37904}, + pos: position{line: 1219, col: 56, offset: 38174}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -21532,7 +21759,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1210, col: 32, offset: 37839}, + pos: position{line: 1217, col: 32, offset: 38109}, val: "�", ignoreCase: false, want: "\"�\"", @@ -21541,22 +21768,22 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1332, col: 114, offset: 42066}, - run: (*parser).callonIndexTermContent94, + pos: position{line: 1339, col: 99, offset: 42321}, + run: (*parser).callonIndexTermContent93, expr: &seqExpr{ - pos: position{line: 1332, col: 115, offset: 42067}, + pos: position{line: 1339, col: 100, offset: 42322}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 1332, col: 115, offset: 42067}, + pos: position{line: 1339, col: 100, offset: 42322}, expr: &litMatcher{ - pos: position{line: 1332, col: 116, offset: 42068}, + pos: position{line: 1339, col: 101, offset: 42323}, val: "))", ignoreCase: false, want: "\"))\"", }, }, &anyMatcher{ - line: 1332, col: 121, offset: 42073, + line: 1339, col: 106, offset: 42328, }, }, }, @@ -21569,62 +21796,62 @@ var g = &grammar{ }, { name: "ImageBlock", - pos: position{line: 1352, col: 1, offset: 42782}, + pos: position{line: 1359, col: 1, offset: 43037}, expr: &actionExpr{ - pos: position{line: 1353, col: 5, offset: 42801}, + pos: position{line: 1360, col: 5, offset: 43056}, run: (*parser).callonImageBlock1, expr: &seqExpr{ - pos: position{line: 1353, col: 5, offset: 42801}, + pos: position{line: 1360, col: 5, offset: 43056}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1353, col: 5, offset: 42801}, + pos: position{line: 1360, col: 5, offset: 43056}, val: "image::", ignoreCase: false, want: "\"image::\"", }, &labeledExpr{ - pos: position{line: 1353, col: 15, offset: 42811}, + pos: position{line: 1360, col: 15, offset: 43066}, label: "path", expr: &actionExpr{ - pos: position{line: 3136, col: 13, offset: 102133}, + pos: position{line: 3032, col: 13, offset: 98770}, run: (*parser).callonImageBlock5, expr: &seqExpr{ - pos: position{line: 3136, col: 13, offset: 102133}, + pos: position{line: 3032, col: 13, offset: 98770}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 3136, col: 13, offset: 102133}, + pos: position{line: 3032, col: 13, offset: 98770}, label: "scheme", expr: &zeroOrOneExpr{ - pos: position{line: 3136, col: 20, offset: 102140}, + pos: position{line: 3032, col: 20, offset: 98777}, expr: &choiceExpr{ - pos: position{line: 3144, col: 11, offset: 102402}, + pos: position{line: 3040, col: 11, offset: 99039}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3144, col: 11, offset: 102402}, + pos: position{line: 3040, col: 11, offset: 99039}, val: "http://", ignoreCase: false, want: "\"http://\"", }, &litMatcher{ - pos: position{line: 3144, col: 23, offset: 102414}, + pos: position{line: 3040, col: 23, offset: 99051}, val: "https://", ignoreCase: false, want: "\"https://\"", }, &litMatcher{ - pos: position{line: 3144, col: 36, offset: 102427}, + pos: position{line: 3040, col: 36, offset: 99064}, val: "ftp://", ignoreCase: false, want: "\"ftp://\"", }, &litMatcher{ - pos: position{line: 3144, col: 47, offset: 102438}, + pos: position{line: 3040, col: 47, offset: 99075}, val: "irc://", ignoreCase: false, want: "\"irc://\"", }, &litMatcher{ - pos: position{line: 3144, col: 58, offset: 102449}, + pos: position{line: 3040, col: 58, offset: 99086}, val: "mailto:", ignoreCase: false, want: "\"mailto:\"", @@ -21634,43 +21861,43 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 3136, col: 30, offset: 102150}, + pos: position{line: 3032, col: 30, offset: 98787}, label: "path", expr: &oneOrMoreExpr{ - pos: position{line: 3136, col: 35, offset: 102155}, + pos: position{line: 3032, col: 35, offset: 98792}, expr: &choiceExpr{ - pos: position{line: 3136, col: 36, offset: 102156}, + pos: position{line: 3032, col: 36, offset: 98793}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3147, col: 5, offset: 102477}, + pos: position{line: 3043, col: 5, offset: 99114}, run: (*parser).callonImageBlock18, expr: &seqExpr{ - pos: position{line: 3147, col: 5, offset: 102477}, + pos: position{line: 3043, col: 5, offset: 99114}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 3147, col: 5, offset: 102477}, + pos: position{line: 3043, col: 5, offset: 99114}, expr: &litMatcher{ - pos: position{line: 3147, col: 6, offset: 102478}, + pos: position{line: 3043, col: 6, offset: 99115}, val: "[", ignoreCase: false, want: "\"[\"", }, }, &labeledExpr{ - pos: position{line: 3148, col: 5, offset: 102502}, + pos: position{line: 3044, col: 5, offset: 99139}, label: "elements", expr: &oneOrMoreExpr{ - pos: position{line: 3148, col: 14, offset: 102511}, + pos: position{line: 3044, col: 14, offset: 99148}, expr: &choiceExpr{ - pos: position{line: 3149, col: 9, offset: 102521}, + pos: position{line: 3045, col: 9, offset: 99158}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3149, col: 9, offset: 102521}, + pos: position{line: 3045, col: 9, offset: 99158}, run: (*parser).callonImageBlock25, expr: &oneOrMoreExpr{ - pos: position{line: 3149, col: 9, offset: 102521}, + pos: position{line: 3045, col: 9, offset: 99158}, expr: &charClassMatcher{ - pos: position{line: 3149, col: 10, offset: 102522}, + pos: position{line: 3045, col: 10, offset: 99159}, val: "[^\\r\\n[]�{.,;?!<> ]", chars: []rune{'\r', '\n', '[', ']', '�', '{', '.', ',', ';', '?', '!', '<', '>', ' '}, ignoreCase: false, @@ -21679,13 +21906,13 @@ var g = &grammar{ }, }, &seqExpr{ - pos: position{line: 3152, col: 11, offset: 102787}, + pos: position{line: 3048, col: 11, offset: 99424}, exprs: []interface{}{ &actionExpr{ - pos: position{line: 3122, col: 25, offset: 101758}, + pos: position{line: 3018, col: 25, offset: 98395}, run: (*parser).callonImageBlock29, expr: &charClassMatcher{ - pos: position{line: 3122, col: 25, offset: 101758}, + pos: position{line: 3018, col: 25, offset: 98395}, val: "[.,;?!]", chars: []rune{'.', ',', ';', '?', '!'}, ignoreCase: false, @@ -21693,23 +21920,23 @@ var g = &grammar{ }, }, &andExpr{ - pos: position{line: 3152, col: 32, offset: 102808}, + pos: position{line: 3048, col: 32, offset: 99445}, expr: ¬Expr{ - pos: position{line: 3152, col: 34, offset: 102810}, + pos: position{line: 3048, col: 34, offset: 99447}, expr: &choiceExpr{ - pos: position{line: 3152, col: 36, offset: 102812}, + pos: position{line: 3048, col: 36, offset: 99449}, alternatives: []interface{}{ ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonImageBlock36, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -21723,35 +21950,35 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 641, col: 5, offset: 20613}, + pos: position{line: 648, col: 5, offset: 20883}, run: (*parser).callonImageBlock38, expr: &seqExpr{ - pos: position{line: 641, col: 5, offset: 20613}, + pos: position{line: 648, col: 5, offset: 20883}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 641, col: 5, offset: 20613}, + pos: position{line: 648, col: 5, offset: 20883}, run: (*parser).callonImageBlock40, }, &labeledExpr{ - pos: position{line: 644, col: 5, offset: 20682}, + pos: position{line: 651, col: 5, offset: 20952}, label: "element", expr: &choiceExpr{ - pos: position{line: 644, col: 14, offset: 20691}, + pos: position{line: 651, col: 14, offset: 20961}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 664, col: 25, offset: 21344}, + pos: position{line: 671, col: 25, offset: 21614}, run: (*parser).callonImageBlock43, expr: &seqExpr{ - pos: position{line: 664, col: 25, offset: 21344}, + pos: position{line: 671, col: 25, offset: 21614}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 664, col: 25, offset: 21344}, + pos: position{line: 671, col: 25, offset: 21614}, val: "{counter:", ignoreCase: false, want: "\"{counter:\"", }, &labeledExpr{ - pos: position{line: 664, col: 37, offset: 21356}, + pos: position{line: 671, col: 37, offset: 21626}, label: "name", expr: &actionExpr{ pos: position{line: 324, col: 18, offset: 10072}, @@ -21785,33 +22012,33 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 664, col: 56, offset: 21375}, + pos: position{line: 671, col: 56, offset: 21645}, label: "start", expr: &zeroOrOneExpr{ - pos: position{line: 664, col: 62, offset: 21381}, + pos: position{line: 671, col: 62, offset: 21651}, expr: &actionExpr{ - pos: position{line: 672, col: 17, offset: 21676}, + pos: position{line: 679, col: 17, offset: 21946}, run: (*parser).callonImageBlock54, expr: &seqExpr{ - pos: position{line: 672, col: 17, offset: 21676}, + pos: position{line: 679, col: 17, offset: 21946}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 672, col: 17, offset: 21676}, + pos: position{line: 679, col: 17, offset: 21946}, val: ":", ignoreCase: false, want: "\":\"", }, &labeledExpr{ - pos: position{line: 672, col: 21, offset: 21680}, + pos: position{line: 679, col: 21, offset: 21950}, label: "start", expr: &choiceExpr{ - pos: position{line: 672, col: 28, offset: 21687}, + pos: position{line: 679, col: 28, offset: 21957}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 672, col: 28, offset: 21687}, + pos: position{line: 679, col: 28, offset: 21957}, run: (*parser).callonImageBlock59, expr: &charClassMatcher{ - pos: position{line: 672, col: 28, offset: 21687}, + pos: position{line: 679, col: 28, offset: 21957}, val: "[A-Za-z]", ranges: []rune{'A', 'Z', 'a', 'z'}, ignoreCase: false, @@ -21819,12 +22046,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 674, col: 9, offset: 21741}, + pos: position{line: 681, col: 9, offset: 22011}, run: (*parser).callonImageBlock61, expr: &oneOrMoreExpr{ - pos: position{line: 674, col: 9, offset: 21741}, + pos: position{line: 681, col: 9, offset: 22011}, expr: &charClassMatcher{ - pos: position{line: 674, col: 9, offset: 21741}, + pos: position{line: 681, col: 9, offset: 22011}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -21841,7 +22068,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 664, col: 78, offset: 21397}, + pos: position{line: 671, col: 78, offset: 21667}, val: "}", ignoreCase: false, want: "\"}\"", @@ -21850,19 +22077,19 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 668, col: 25, offset: 21515}, + pos: position{line: 675, col: 25, offset: 21785}, run: (*parser).callonImageBlock65, expr: &seqExpr{ - pos: position{line: 668, col: 25, offset: 21515}, + pos: position{line: 675, col: 25, offset: 21785}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 668, col: 25, offset: 21515}, + pos: position{line: 675, col: 25, offset: 21785}, val: "{counter2:", ignoreCase: false, want: "\"{counter2:\"", }, &labeledExpr{ - pos: position{line: 668, col: 38, offset: 21528}, + pos: position{line: 675, col: 38, offset: 21798}, label: "name", expr: &actionExpr{ pos: position{line: 324, col: 18, offset: 10072}, @@ -21896,33 +22123,33 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 668, col: 57, offset: 21547}, + pos: position{line: 675, col: 57, offset: 21817}, label: "start", expr: &zeroOrOneExpr{ - pos: position{line: 668, col: 63, offset: 21553}, + pos: position{line: 675, col: 63, offset: 21823}, expr: &actionExpr{ - pos: position{line: 672, col: 17, offset: 21676}, + pos: position{line: 679, col: 17, offset: 21946}, run: (*parser).callonImageBlock76, expr: &seqExpr{ - pos: position{line: 672, col: 17, offset: 21676}, + pos: position{line: 679, col: 17, offset: 21946}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 672, col: 17, offset: 21676}, + pos: position{line: 679, col: 17, offset: 21946}, val: ":", ignoreCase: false, want: "\":\"", }, &labeledExpr{ - pos: position{line: 672, col: 21, offset: 21680}, + pos: position{line: 679, col: 21, offset: 21950}, label: "start", expr: &choiceExpr{ - pos: position{line: 672, col: 28, offset: 21687}, + pos: position{line: 679, col: 28, offset: 21957}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 672, col: 28, offset: 21687}, + pos: position{line: 679, col: 28, offset: 21957}, run: (*parser).callonImageBlock81, expr: &charClassMatcher{ - pos: position{line: 672, col: 28, offset: 21687}, + pos: position{line: 679, col: 28, offset: 21957}, val: "[A-Za-z]", ranges: []rune{'A', 'Z', 'a', 'z'}, ignoreCase: false, @@ -21930,12 +22157,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 674, col: 9, offset: 21741}, + pos: position{line: 681, col: 9, offset: 22011}, run: (*parser).callonImageBlock83, expr: &oneOrMoreExpr{ - pos: position{line: 674, col: 9, offset: 21741}, + pos: position{line: 681, col: 9, offset: 22011}, expr: &charClassMatcher{ - pos: position{line: 674, col: 9, offset: 21741}, + pos: position{line: 681, col: 9, offset: 22011}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -21952,7 +22179,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 668, col: 79, offset: 21569}, + pos: position{line: 675, col: 79, offset: 21839}, val: "}", ignoreCase: false, want: "\"}\"", @@ -21961,19 +22188,19 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 650, col: 5, offset: 20820}, + pos: position{line: 657, col: 5, offset: 21090}, run: (*parser).callonImageBlock87, expr: &seqExpr{ - pos: position{line: 650, col: 5, offset: 20820}, + pos: position{line: 657, col: 5, offset: 21090}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 650, col: 5, offset: 20820}, + pos: position{line: 657, col: 5, offset: 21090}, val: "\\{", ignoreCase: false, want: "\"\\\\{\"", }, &labeledExpr{ - pos: position{line: 650, col: 13, offset: 20828}, + pos: position{line: 657, col: 13, offset: 21098}, label: "name", expr: &actionExpr{ pos: position{line: 324, col: 18, offset: 10072}, @@ -22007,7 +22234,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 650, col: 32, offset: 20847}, + pos: position{line: 657, col: 32, offset: 21117}, val: "}", ignoreCase: false, want: "\"}\"", @@ -22016,19 +22243,19 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 657, col: 5, offset: 21088}, + pos: position{line: 664, col: 5, offset: 21358}, run: (*parser).callonImageBlock97, expr: &seqExpr{ - pos: position{line: 657, col: 5, offset: 21088}, + pos: position{line: 664, col: 5, offset: 21358}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 657, col: 5, offset: 21088}, + pos: position{line: 664, col: 5, offset: 21358}, val: "{", ignoreCase: false, want: "\"{\"", }, &labeledExpr{ - pos: position{line: 657, col: 9, offset: 21092}, + pos: position{line: 664, col: 9, offset: 21362}, label: "name", expr: &actionExpr{ pos: position{line: 324, col: 18, offset: 10072}, @@ -22062,7 +22289,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 657, col: 28, offset: 21111}, + pos: position{line: 664, col: 28, offset: 21381}, val: "}", ignoreCase: false, want: "\"}\"", @@ -22077,49 +22304,49 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2859, col: 5, offset: 93679}, + pos: position{line: 2745, col: 5, offset: 90112}, run: (*parser).callonImageBlock107, expr: &seqExpr{ - pos: position{line: 2859, col: 5, offset: 93679}, + pos: position{line: 2745, col: 5, offset: 90112}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 2859, col: 5, offset: 93679}, + pos: position{line: 2745, col: 5, offset: 90112}, run: (*parser).callonImageBlock109, }, &labeledExpr{ - pos: position{line: 2862, col: 5, offset: 93755}, + pos: position{line: 2748, col: 5, offset: 90188}, label: "element", expr: &choiceExpr{ - pos: position{line: 2864, col: 9, offset: 93853}, + pos: position{line: 2750, col: 9, offset: 90286}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2864, col: 9, offset: 93853}, + pos: position{line: 2750, col: 9, offset: 90286}, run: (*parser).callonImageBlock112, expr: &choiceExpr{ - pos: position{line: 692, col: 27, offset: 22395}, + pos: position{line: 699, col: 27, offset: 22665}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 692, col: 27, offset: 22395}, + pos: position{line: 699, col: 27, offset: 22665}, run: (*parser).callonImageBlock114, expr: &seqExpr{ - pos: position{line: 692, col: 27, offset: 22395}, + pos: position{line: 699, col: 27, offset: 22665}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 692, col: 27, offset: 22395}, + pos: position{line: 699, col: 27, offset: 22665}, val: "<<", ignoreCase: false, want: "\"<<\"", }, &labeledExpr{ - pos: position{line: 692, col: 32, offset: 22400}, + pos: position{line: 699, col: 32, offset: 22670}, label: "id", expr: &actionExpr{ - pos: position{line: 3161, col: 7, offset: 103049}, + pos: position{line: 3057, col: 7, offset: 99686}, run: (*parser).callonImageBlock118, expr: &oneOrMoreExpr{ - pos: position{line: 3161, col: 7, offset: 103049}, + pos: position{line: 3057, col: 7, offset: 99686}, expr: &charClassMatcher{ - pos: position{line: 3161, col: 7, offset: 103049}, + pos: position{line: 3057, col: 7, offset: 99686}, val: "[^[]<>,]", chars: []rune{'[', ']', '<', '>', ','}, ignoreCase: false, @@ -22129,12 +22356,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 692, col: 40, offset: 22408}, + pos: position{line: 699, col: 40, offset: 22678}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonImageBlock122, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -22143,27 +22370,27 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 692, col: 47, offset: 22415}, + pos: position{line: 699, col: 47, offset: 22685}, val: ",", ignoreCase: false, want: "\",\"", }, &labeledExpr{ - pos: position{line: 692, col: 51, offset: 22419}, + pos: position{line: 699, col: 51, offset: 22689}, label: "label", expr: &oneOrMoreExpr{ - pos: position{line: 702, col: 24, offset: 22820}, + pos: position{line: 709, col: 24, offset: 23090}, expr: &choiceExpr{ - pos: position{line: 703, col: 5, offset: 22826}, + pos: position{line: 710, col: 5, offset: 23096}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 703, col: 6, offset: 22827}, + pos: position{line: 710, col: 6, offset: 23097}, run: (*parser).callonImageBlock128, expr: &seqExpr{ - pos: position{line: 703, col: 6, offset: 22827}, + pos: position{line: 710, col: 6, offset: 23097}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 703, col: 6, offset: 22827}, + pos: position{line: 710, col: 6, offset: 23097}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -22171,9 +22398,9 @@ var g = &grammar{ inverted: false, }, &oneOrMoreExpr{ - pos: position{line: 703, col: 14, offset: 22835}, + pos: position{line: 710, col: 14, offset: 23105}, expr: &charClassMatcher{ - pos: position{line: 703, col: 14, offset: 22835}, + pos: position{line: 710, col: 14, offset: 23105}, val: "[^\\r\\n{<>]", chars: []rune{'\r', '\n', '{', '<', '>'}, ignoreCase: false, @@ -22184,19 +22411,19 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 650, col: 5, offset: 20820}, + pos: position{line: 657, col: 5, offset: 21090}, run: (*parser).callonImageBlock133, expr: &seqExpr{ - pos: position{line: 650, col: 5, offset: 20820}, + pos: position{line: 657, col: 5, offset: 21090}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 650, col: 5, offset: 20820}, + pos: position{line: 657, col: 5, offset: 21090}, val: "\\{", ignoreCase: false, want: "\"\\\\{\"", }, &labeledExpr{ - pos: position{line: 650, col: 13, offset: 20828}, + pos: position{line: 657, col: 13, offset: 21098}, label: "name", expr: &actionExpr{ pos: position{line: 324, col: 18, offset: 10072}, @@ -22230,7 +22457,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 650, col: 32, offset: 20847}, + pos: position{line: 657, col: 32, offset: 21117}, val: "}", ignoreCase: false, want: "\"}\"", @@ -22239,19 +22466,19 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 657, col: 5, offset: 21088}, + pos: position{line: 664, col: 5, offset: 21358}, run: (*parser).callonImageBlock143, expr: &seqExpr{ - pos: position{line: 657, col: 5, offset: 21088}, + pos: position{line: 664, col: 5, offset: 21358}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 657, col: 5, offset: 21088}, + pos: position{line: 664, col: 5, offset: 21358}, val: "{", ignoreCase: false, want: "\"{\"", }, &labeledExpr{ - pos: position{line: 657, col: 9, offset: 21092}, + pos: position{line: 664, col: 9, offset: 21362}, label: "name", expr: &actionExpr{ pos: position{line: 324, col: 18, offset: 10072}, @@ -22285,7 +22512,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 657, col: 28, offset: 21111}, + pos: position{line: 664, col: 28, offset: 21381}, val: "}", ignoreCase: false, want: "\"}\"", @@ -22294,10 +22521,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 707, col: 8, offset: 23061}, + pos: position{line: 714, col: 8, offset: 23331}, run: (*parser).callonImageBlock153, expr: &litMatcher{ - pos: position{line: 707, col: 8, offset: 23061}, + pos: position{line: 714, col: 8, offset: 23331}, val: "{", ignoreCase: false, want: "\"{\"", @@ -22308,7 +22535,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 692, col: 79, offset: 22447}, + pos: position{line: 699, col: 79, offset: 22717}, val: ">>", ignoreCase: false, want: "\">>\"", @@ -22317,27 +22544,27 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 694, col: 9, offset: 22520}, + pos: position{line: 701, col: 9, offset: 22790}, run: (*parser).callonImageBlock156, expr: &seqExpr{ - pos: position{line: 694, col: 9, offset: 22520}, + pos: position{line: 701, col: 9, offset: 22790}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 694, col: 9, offset: 22520}, + pos: position{line: 701, col: 9, offset: 22790}, val: "<<", ignoreCase: false, want: "\"<<\"", }, &labeledExpr{ - pos: position{line: 694, col: 14, offset: 22525}, + pos: position{line: 701, col: 14, offset: 22795}, label: "id", expr: &actionExpr{ - pos: position{line: 3161, col: 7, offset: 103049}, + pos: position{line: 3057, col: 7, offset: 99686}, run: (*parser).callonImageBlock160, expr: &oneOrMoreExpr{ - pos: position{line: 3161, col: 7, offset: 103049}, + pos: position{line: 3057, col: 7, offset: 99686}, expr: &charClassMatcher{ - pos: position{line: 3161, col: 7, offset: 103049}, + pos: position{line: 3057, col: 7, offset: 99686}, val: "[^[]<>,]", chars: []rune{'[', ']', '<', '>', ','}, ignoreCase: false, @@ -22347,7 +22574,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 694, col: 22, offset: 22533}, + pos: position{line: 701, col: 22, offset: 22803}, val: ">>", ignoreCase: false, want: "\">>\"", @@ -22359,10 +22586,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2867, col: 11, offset: 93957}, + pos: position{line: 2753, col: 11, offset: 90390}, run: (*parser).callonImageBlock164, expr: &charClassMatcher{ - pos: position{line: 2867, col: 12, offset: 93958}, + pos: position{line: 2753, col: 12, offset: 90391}, val: "[<>&]", chars: []rune{'<', '>', '&'}, ignoreCase: false, @@ -22376,10 +22603,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 3155, col: 11, offset: 102893}, + pos: position{line: 3051, col: 11, offset: 99530}, run: (*parser).callonImageBlock166, expr: &litMatcher{ - pos: position{line: 3155, col: 11, offset: 102893}, + pos: position{line: 3051, col: 11, offset: 99530}, val: "{", ignoreCase: false, want: "\"{\"", @@ -22393,27 +22620,27 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1212, col: 23, offset: 37871}, + pos: position{line: 1219, col: 23, offset: 38141}, run: (*parser).callonImageBlock168, expr: &seqExpr{ - pos: position{line: 1212, col: 23, offset: 37871}, + pos: position{line: 1219, col: 23, offset: 38141}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1210, col: 32, offset: 37839}, + pos: position{line: 1217, col: 32, offset: 38109}, val: "�", ignoreCase: false, want: "\"�\"", }, &labeledExpr{ - pos: position{line: 1212, col: 51, offset: 37899}, + pos: position{line: 1219, col: 51, offset: 38169}, label: "ref", expr: &actionExpr{ - pos: position{line: 1212, col: 56, offset: 37904}, + pos: position{line: 1219, col: 56, offset: 38174}, run: (*parser).callonImageBlock172, expr: &oneOrMoreExpr{ - pos: position{line: 1212, col: 56, offset: 37904}, + pos: position{line: 1219, col: 56, offset: 38174}, expr: &charClassMatcher{ - pos: position{line: 1212, col: 56, offset: 37904}, + pos: position{line: 1219, col: 56, offset: 38174}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -22423,7 +22650,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1210, col: 32, offset: 37839}, + pos: position{line: 1217, col: 32, offset: 38109}, val: "�", ignoreCase: false, want: "\"�\"", @@ -22440,20 +22667,20 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1353, col: 31, offset: 42827}, + pos: position{line: 1360, col: 31, offset: 43082}, label: "attributes", expr: &ruleRefExpr{ - pos: position{line: 1353, col: 43, offset: 42839}, + pos: position{line: 1360, col: 43, offset: 43094}, name: "InlineAttributes", }, }, &zeroOrMoreExpr{ - pos: position{line: 1353, col: 61, offset: 42857}, + pos: position{line: 1360, col: 61, offset: 43112}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonImageBlock179, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -22462,28 +22689,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonImageBlock182, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -22492,9 +22719,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -22505,71 +22732,71 @@ var g = &grammar{ }, { name: "InlineImage", - pos: position{line: 1358, col: 1, offset: 43074}, + pos: position{line: 1365, col: 1, offset: 43329}, expr: &actionExpr{ - pos: position{line: 1358, col: 16, offset: 43089}, + pos: position{line: 1365, col: 16, offset: 43344}, run: (*parser).callonInlineImage1, expr: &seqExpr{ - pos: position{line: 1358, col: 16, offset: 43089}, + pos: position{line: 1365, col: 16, offset: 43344}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1358, col: 16, offset: 43089}, + pos: position{line: 1365, col: 16, offset: 43344}, val: "image:", ignoreCase: false, want: "\"image:\"", }, ¬Expr{ - pos: position{line: 1358, col: 25, offset: 43098}, + pos: position{line: 1365, col: 25, offset: 43353}, expr: &litMatcher{ - pos: position{line: 1358, col: 26, offset: 43099}, + pos: position{line: 1365, col: 26, offset: 43354}, val: ":", ignoreCase: false, want: "\":\"", }, }, &labeledExpr{ - pos: position{line: 1358, col: 30, offset: 43103}, + pos: position{line: 1365, col: 30, offset: 43358}, label: "path", expr: &actionExpr{ - pos: position{line: 3136, col: 13, offset: 102133}, + pos: position{line: 3032, col: 13, offset: 98770}, run: (*parser).callonInlineImage7, expr: &seqExpr{ - pos: position{line: 3136, col: 13, offset: 102133}, + pos: position{line: 3032, col: 13, offset: 98770}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 3136, col: 13, offset: 102133}, + pos: position{line: 3032, col: 13, offset: 98770}, label: "scheme", expr: &zeroOrOneExpr{ - pos: position{line: 3136, col: 20, offset: 102140}, + pos: position{line: 3032, col: 20, offset: 98777}, expr: &choiceExpr{ - pos: position{line: 3144, col: 11, offset: 102402}, + pos: position{line: 3040, col: 11, offset: 99039}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3144, col: 11, offset: 102402}, + pos: position{line: 3040, col: 11, offset: 99039}, val: "http://", ignoreCase: false, want: "\"http://\"", }, &litMatcher{ - pos: position{line: 3144, col: 23, offset: 102414}, + pos: position{line: 3040, col: 23, offset: 99051}, val: "https://", ignoreCase: false, want: "\"https://\"", }, &litMatcher{ - pos: position{line: 3144, col: 36, offset: 102427}, + pos: position{line: 3040, col: 36, offset: 99064}, val: "ftp://", ignoreCase: false, want: "\"ftp://\"", }, &litMatcher{ - pos: position{line: 3144, col: 47, offset: 102438}, + pos: position{line: 3040, col: 47, offset: 99075}, val: "irc://", ignoreCase: false, want: "\"irc://\"", }, &litMatcher{ - pos: position{line: 3144, col: 58, offset: 102449}, + pos: position{line: 3040, col: 58, offset: 99086}, val: "mailto:", ignoreCase: false, want: "\"mailto:\"", @@ -22579,43 +22806,43 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 3136, col: 30, offset: 102150}, + pos: position{line: 3032, col: 30, offset: 98787}, label: "path", expr: &oneOrMoreExpr{ - pos: position{line: 3136, col: 35, offset: 102155}, + pos: position{line: 3032, col: 35, offset: 98792}, expr: &choiceExpr{ - pos: position{line: 3136, col: 36, offset: 102156}, + pos: position{line: 3032, col: 36, offset: 98793}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3147, col: 5, offset: 102477}, + pos: position{line: 3043, col: 5, offset: 99114}, run: (*parser).callonInlineImage20, expr: &seqExpr{ - pos: position{line: 3147, col: 5, offset: 102477}, + pos: position{line: 3043, col: 5, offset: 99114}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 3147, col: 5, offset: 102477}, + pos: position{line: 3043, col: 5, offset: 99114}, expr: &litMatcher{ - pos: position{line: 3147, col: 6, offset: 102478}, + pos: position{line: 3043, col: 6, offset: 99115}, val: "[", ignoreCase: false, want: "\"[\"", }, }, &labeledExpr{ - pos: position{line: 3148, col: 5, offset: 102502}, + pos: position{line: 3044, col: 5, offset: 99139}, label: "elements", expr: &oneOrMoreExpr{ - pos: position{line: 3148, col: 14, offset: 102511}, + pos: position{line: 3044, col: 14, offset: 99148}, expr: &choiceExpr{ - pos: position{line: 3149, col: 9, offset: 102521}, + pos: position{line: 3045, col: 9, offset: 99158}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3149, col: 9, offset: 102521}, + pos: position{line: 3045, col: 9, offset: 99158}, run: (*parser).callonInlineImage27, expr: &oneOrMoreExpr{ - pos: position{line: 3149, col: 9, offset: 102521}, + pos: position{line: 3045, col: 9, offset: 99158}, expr: &charClassMatcher{ - pos: position{line: 3149, col: 10, offset: 102522}, + pos: position{line: 3045, col: 10, offset: 99159}, val: "[^\\r\\n[]�{.,;?!<> ]", chars: []rune{'\r', '\n', '[', ']', '�', '{', '.', ',', ';', '?', '!', '<', '>', ' '}, ignoreCase: false, @@ -22624,13 +22851,13 @@ var g = &grammar{ }, }, &seqExpr{ - pos: position{line: 3152, col: 11, offset: 102787}, + pos: position{line: 3048, col: 11, offset: 99424}, exprs: []interface{}{ &actionExpr{ - pos: position{line: 3122, col: 25, offset: 101758}, + pos: position{line: 3018, col: 25, offset: 98395}, run: (*parser).callonInlineImage31, expr: &charClassMatcher{ - pos: position{line: 3122, col: 25, offset: 101758}, + pos: position{line: 3018, col: 25, offset: 98395}, val: "[.,;?!]", chars: []rune{'.', ',', ';', '?', '!'}, ignoreCase: false, @@ -22638,23 +22865,23 @@ var g = &grammar{ }, }, &andExpr{ - pos: position{line: 3152, col: 32, offset: 102808}, + pos: position{line: 3048, col: 32, offset: 99445}, expr: ¬Expr{ - pos: position{line: 3152, col: 34, offset: 102810}, + pos: position{line: 3048, col: 34, offset: 99447}, expr: &choiceExpr{ - pos: position{line: 3152, col: 36, offset: 102812}, + pos: position{line: 3048, col: 36, offset: 99449}, alternatives: []interface{}{ ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonInlineImage38, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -22668,35 +22895,35 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 641, col: 5, offset: 20613}, + pos: position{line: 648, col: 5, offset: 20883}, run: (*parser).callonInlineImage40, expr: &seqExpr{ - pos: position{line: 641, col: 5, offset: 20613}, + pos: position{line: 648, col: 5, offset: 20883}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 641, col: 5, offset: 20613}, + pos: position{line: 648, col: 5, offset: 20883}, run: (*parser).callonInlineImage42, }, &labeledExpr{ - pos: position{line: 644, col: 5, offset: 20682}, + pos: position{line: 651, col: 5, offset: 20952}, label: "element", expr: &choiceExpr{ - pos: position{line: 644, col: 14, offset: 20691}, + pos: position{line: 651, col: 14, offset: 20961}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 664, col: 25, offset: 21344}, + pos: position{line: 671, col: 25, offset: 21614}, run: (*parser).callonInlineImage45, expr: &seqExpr{ - pos: position{line: 664, col: 25, offset: 21344}, + pos: position{line: 671, col: 25, offset: 21614}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 664, col: 25, offset: 21344}, + pos: position{line: 671, col: 25, offset: 21614}, val: "{counter:", ignoreCase: false, want: "\"{counter:\"", }, &labeledExpr{ - pos: position{line: 664, col: 37, offset: 21356}, + pos: position{line: 671, col: 37, offset: 21626}, label: "name", expr: &actionExpr{ pos: position{line: 324, col: 18, offset: 10072}, @@ -22730,33 +22957,33 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 664, col: 56, offset: 21375}, + pos: position{line: 671, col: 56, offset: 21645}, label: "start", expr: &zeroOrOneExpr{ - pos: position{line: 664, col: 62, offset: 21381}, + pos: position{line: 671, col: 62, offset: 21651}, expr: &actionExpr{ - pos: position{line: 672, col: 17, offset: 21676}, + pos: position{line: 679, col: 17, offset: 21946}, run: (*parser).callonInlineImage56, expr: &seqExpr{ - pos: position{line: 672, col: 17, offset: 21676}, + pos: position{line: 679, col: 17, offset: 21946}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 672, col: 17, offset: 21676}, + pos: position{line: 679, col: 17, offset: 21946}, val: ":", ignoreCase: false, want: "\":\"", }, &labeledExpr{ - pos: position{line: 672, col: 21, offset: 21680}, + pos: position{line: 679, col: 21, offset: 21950}, label: "start", expr: &choiceExpr{ - pos: position{line: 672, col: 28, offset: 21687}, + pos: position{line: 679, col: 28, offset: 21957}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 672, col: 28, offset: 21687}, + pos: position{line: 679, col: 28, offset: 21957}, run: (*parser).callonInlineImage61, expr: &charClassMatcher{ - pos: position{line: 672, col: 28, offset: 21687}, + pos: position{line: 679, col: 28, offset: 21957}, val: "[A-Za-z]", ranges: []rune{'A', 'Z', 'a', 'z'}, ignoreCase: false, @@ -22764,12 +22991,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 674, col: 9, offset: 21741}, + pos: position{line: 681, col: 9, offset: 22011}, run: (*parser).callonInlineImage63, expr: &oneOrMoreExpr{ - pos: position{line: 674, col: 9, offset: 21741}, + pos: position{line: 681, col: 9, offset: 22011}, expr: &charClassMatcher{ - pos: position{line: 674, col: 9, offset: 21741}, + pos: position{line: 681, col: 9, offset: 22011}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -22786,7 +23013,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 664, col: 78, offset: 21397}, + pos: position{line: 671, col: 78, offset: 21667}, val: "}", ignoreCase: false, want: "\"}\"", @@ -22795,19 +23022,19 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 668, col: 25, offset: 21515}, + pos: position{line: 675, col: 25, offset: 21785}, run: (*parser).callonInlineImage67, expr: &seqExpr{ - pos: position{line: 668, col: 25, offset: 21515}, + pos: position{line: 675, col: 25, offset: 21785}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 668, col: 25, offset: 21515}, + pos: position{line: 675, col: 25, offset: 21785}, val: "{counter2:", ignoreCase: false, want: "\"{counter2:\"", }, &labeledExpr{ - pos: position{line: 668, col: 38, offset: 21528}, + pos: position{line: 675, col: 38, offset: 21798}, label: "name", expr: &actionExpr{ pos: position{line: 324, col: 18, offset: 10072}, @@ -22841,33 +23068,33 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 668, col: 57, offset: 21547}, + pos: position{line: 675, col: 57, offset: 21817}, label: "start", expr: &zeroOrOneExpr{ - pos: position{line: 668, col: 63, offset: 21553}, + pos: position{line: 675, col: 63, offset: 21823}, expr: &actionExpr{ - pos: position{line: 672, col: 17, offset: 21676}, + pos: position{line: 679, col: 17, offset: 21946}, run: (*parser).callonInlineImage78, expr: &seqExpr{ - pos: position{line: 672, col: 17, offset: 21676}, + pos: position{line: 679, col: 17, offset: 21946}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 672, col: 17, offset: 21676}, + pos: position{line: 679, col: 17, offset: 21946}, val: ":", ignoreCase: false, want: "\":\"", }, &labeledExpr{ - pos: position{line: 672, col: 21, offset: 21680}, + pos: position{line: 679, col: 21, offset: 21950}, label: "start", expr: &choiceExpr{ - pos: position{line: 672, col: 28, offset: 21687}, + pos: position{line: 679, col: 28, offset: 21957}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 672, col: 28, offset: 21687}, + pos: position{line: 679, col: 28, offset: 21957}, run: (*parser).callonInlineImage83, expr: &charClassMatcher{ - pos: position{line: 672, col: 28, offset: 21687}, + pos: position{line: 679, col: 28, offset: 21957}, val: "[A-Za-z]", ranges: []rune{'A', 'Z', 'a', 'z'}, ignoreCase: false, @@ -22875,12 +23102,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 674, col: 9, offset: 21741}, + pos: position{line: 681, col: 9, offset: 22011}, run: (*parser).callonInlineImage85, expr: &oneOrMoreExpr{ - pos: position{line: 674, col: 9, offset: 21741}, + pos: position{line: 681, col: 9, offset: 22011}, expr: &charClassMatcher{ - pos: position{line: 674, col: 9, offset: 21741}, + pos: position{line: 681, col: 9, offset: 22011}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -22897,7 +23124,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 668, col: 79, offset: 21569}, + pos: position{line: 675, col: 79, offset: 21839}, val: "}", ignoreCase: false, want: "\"}\"", @@ -22906,19 +23133,19 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 650, col: 5, offset: 20820}, + pos: position{line: 657, col: 5, offset: 21090}, run: (*parser).callonInlineImage89, expr: &seqExpr{ - pos: position{line: 650, col: 5, offset: 20820}, + pos: position{line: 657, col: 5, offset: 21090}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 650, col: 5, offset: 20820}, + pos: position{line: 657, col: 5, offset: 21090}, val: "\\{", ignoreCase: false, want: "\"\\\\{\"", }, &labeledExpr{ - pos: position{line: 650, col: 13, offset: 20828}, + pos: position{line: 657, col: 13, offset: 21098}, label: "name", expr: &actionExpr{ pos: position{line: 324, col: 18, offset: 10072}, @@ -22952,7 +23179,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 650, col: 32, offset: 20847}, + pos: position{line: 657, col: 32, offset: 21117}, val: "}", ignoreCase: false, want: "\"}\"", @@ -22961,19 +23188,19 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 657, col: 5, offset: 21088}, + pos: position{line: 664, col: 5, offset: 21358}, run: (*parser).callonInlineImage99, expr: &seqExpr{ - pos: position{line: 657, col: 5, offset: 21088}, + pos: position{line: 664, col: 5, offset: 21358}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 657, col: 5, offset: 21088}, + pos: position{line: 664, col: 5, offset: 21358}, val: "{", ignoreCase: false, want: "\"{\"", }, &labeledExpr{ - pos: position{line: 657, col: 9, offset: 21092}, + pos: position{line: 664, col: 9, offset: 21362}, label: "name", expr: &actionExpr{ pos: position{line: 324, col: 18, offset: 10072}, @@ -23007,7 +23234,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 657, col: 28, offset: 21111}, + pos: position{line: 664, col: 28, offset: 21381}, val: "}", ignoreCase: false, want: "\"}\"", @@ -23022,49 +23249,49 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2859, col: 5, offset: 93679}, + pos: position{line: 2745, col: 5, offset: 90112}, run: (*parser).callonInlineImage109, expr: &seqExpr{ - pos: position{line: 2859, col: 5, offset: 93679}, + pos: position{line: 2745, col: 5, offset: 90112}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 2859, col: 5, offset: 93679}, + pos: position{line: 2745, col: 5, offset: 90112}, run: (*parser).callonInlineImage111, }, &labeledExpr{ - pos: position{line: 2862, col: 5, offset: 93755}, + pos: position{line: 2748, col: 5, offset: 90188}, label: "element", expr: &choiceExpr{ - pos: position{line: 2864, col: 9, offset: 93853}, + pos: position{line: 2750, col: 9, offset: 90286}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2864, col: 9, offset: 93853}, + pos: position{line: 2750, col: 9, offset: 90286}, run: (*parser).callonInlineImage114, expr: &choiceExpr{ - pos: position{line: 692, col: 27, offset: 22395}, + pos: position{line: 699, col: 27, offset: 22665}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 692, col: 27, offset: 22395}, + pos: position{line: 699, col: 27, offset: 22665}, run: (*parser).callonInlineImage116, expr: &seqExpr{ - pos: position{line: 692, col: 27, offset: 22395}, + pos: position{line: 699, col: 27, offset: 22665}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 692, col: 27, offset: 22395}, + pos: position{line: 699, col: 27, offset: 22665}, val: "<<", ignoreCase: false, want: "\"<<\"", }, &labeledExpr{ - pos: position{line: 692, col: 32, offset: 22400}, + pos: position{line: 699, col: 32, offset: 22670}, label: "id", expr: &actionExpr{ - pos: position{line: 3161, col: 7, offset: 103049}, + pos: position{line: 3057, col: 7, offset: 99686}, run: (*parser).callonInlineImage120, expr: &oneOrMoreExpr{ - pos: position{line: 3161, col: 7, offset: 103049}, + pos: position{line: 3057, col: 7, offset: 99686}, expr: &charClassMatcher{ - pos: position{line: 3161, col: 7, offset: 103049}, + pos: position{line: 3057, col: 7, offset: 99686}, val: "[^[]<>,]", chars: []rune{'[', ']', '<', '>', ','}, ignoreCase: false, @@ -23074,12 +23301,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 692, col: 40, offset: 22408}, + pos: position{line: 699, col: 40, offset: 22678}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonInlineImage124, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -23088,27 +23315,27 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 692, col: 47, offset: 22415}, + pos: position{line: 699, col: 47, offset: 22685}, val: ",", ignoreCase: false, want: "\",\"", }, &labeledExpr{ - pos: position{line: 692, col: 51, offset: 22419}, + pos: position{line: 699, col: 51, offset: 22689}, label: "label", expr: &oneOrMoreExpr{ - pos: position{line: 702, col: 24, offset: 22820}, + pos: position{line: 709, col: 24, offset: 23090}, expr: &choiceExpr{ - pos: position{line: 703, col: 5, offset: 22826}, + pos: position{line: 710, col: 5, offset: 23096}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 703, col: 6, offset: 22827}, + pos: position{line: 710, col: 6, offset: 23097}, run: (*parser).callonInlineImage130, expr: &seqExpr{ - pos: position{line: 703, col: 6, offset: 22827}, + pos: position{line: 710, col: 6, offset: 23097}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 703, col: 6, offset: 22827}, + pos: position{line: 710, col: 6, offset: 23097}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -23116,9 +23343,9 @@ var g = &grammar{ inverted: false, }, &oneOrMoreExpr{ - pos: position{line: 703, col: 14, offset: 22835}, + pos: position{line: 710, col: 14, offset: 23105}, expr: &charClassMatcher{ - pos: position{line: 703, col: 14, offset: 22835}, + pos: position{line: 710, col: 14, offset: 23105}, val: "[^\\r\\n{<>]", chars: []rune{'\r', '\n', '{', '<', '>'}, ignoreCase: false, @@ -23129,19 +23356,19 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 650, col: 5, offset: 20820}, + pos: position{line: 657, col: 5, offset: 21090}, run: (*parser).callonInlineImage135, expr: &seqExpr{ - pos: position{line: 650, col: 5, offset: 20820}, + pos: position{line: 657, col: 5, offset: 21090}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 650, col: 5, offset: 20820}, + pos: position{line: 657, col: 5, offset: 21090}, val: "\\{", ignoreCase: false, want: "\"\\\\{\"", }, &labeledExpr{ - pos: position{line: 650, col: 13, offset: 20828}, + pos: position{line: 657, col: 13, offset: 21098}, label: "name", expr: &actionExpr{ pos: position{line: 324, col: 18, offset: 10072}, @@ -23175,7 +23402,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 650, col: 32, offset: 20847}, + pos: position{line: 657, col: 32, offset: 21117}, val: "}", ignoreCase: false, want: "\"}\"", @@ -23184,19 +23411,19 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 657, col: 5, offset: 21088}, + pos: position{line: 664, col: 5, offset: 21358}, run: (*parser).callonInlineImage145, expr: &seqExpr{ - pos: position{line: 657, col: 5, offset: 21088}, + pos: position{line: 664, col: 5, offset: 21358}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 657, col: 5, offset: 21088}, + pos: position{line: 664, col: 5, offset: 21358}, val: "{", ignoreCase: false, want: "\"{\"", }, &labeledExpr{ - pos: position{line: 657, col: 9, offset: 21092}, + pos: position{line: 664, col: 9, offset: 21362}, label: "name", expr: &actionExpr{ pos: position{line: 324, col: 18, offset: 10072}, @@ -23230,7 +23457,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 657, col: 28, offset: 21111}, + pos: position{line: 664, col: 28, offset: 21381}, val: "}", ignoreCase: false, want: "\"}\"", @@ -23239,10 +23466,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 707, col: 8, offset: 23061}, + pos: position{line: 714, col: 8, offset: 23331}, run: (*parser).callonInlineImage155, expr: &litMatcher{ - pos: position{line: 707, col: 8, offset: 23061}, + pos: position{line: 714, col: 8, offset: 23331}, val: "{", ignoreCase: false, want: "\"{\"", @@ -23253,7 +23480,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 692, col: 79, offset: 22447}, + pos: position{line: 699, col: 79, offset: 22717}, val: ">>", ignoreCase: false, want: "\">>\"", @@ -23262,27 +23489,27 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 694, col: 9, offset: 22520}, + pos: position{line: 701, col: 9, offset: 22790}, run: (*parser).callonInlineImage158, expr: &seqExpr{ - pos: position{line: 694, col: 9, offset: 22520}, + pos: position{line: 701, col: 9, offset: 22790}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 694, col: 9, offset: 22520}, + pos: position{line: 701, col: 9, offset: 22790}, val: "<<", ignoreCase: false, want: "\"<<\"", }, &labeledExpr{ - pos: position{line: 694, col: 14, offset: 22525}, + pos: position{line: 701, col: 14, offset: 22795}, label: "id", expr: &actionExpr{ - pos: position{line: 3161, col: 7, offset: 103049}, + pos: position{line: 3057, col: 7, offset: 99686}, run: (*parser).callonInlineImage162, expr: &oneOrMoreExpr{ - pos: position{line: 3161, col: 7, offset: 103049}, + pos: position{line: 3057, col: 7, offset: 99686}, expr: &charClassMatcher{ - pos: position{line: 3161, col: 7, offset: 103049}, + pos: position{line: 3057, col: 7, offset: 99686}, val: "[^[]<>,]", chars: []rune{'[', ']', '<', '>', ','}, ignoreCase: false, @@ -23292,7 +23519,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 694, col: 22, offset: 22533}, + pos: position{line: 701, col: 22, offset: 22803}, val: ">>", ignoreCase: false, want: "\">>\"", @@ -23304,10 +23531,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2867, col: 11, offset: 93957}, + pos: position{line: 2753, col: 11, offset: 90390}, run: (*parser).callonInlineImage166, expr: &charClassMatcher{ - pos: position{line: 2867, col: 12, offset: 93958}, + pos: position{line: 2753, col: 12, offset: 90391}, val: "[<>&]", chars: []rune{'<', '>', '&'}, ignoreCase: false, @@ -23321,10 +23548,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 3155, col: 11, offset: 102893}, + pos: position{line: 3051, col: 11, offset: 99530}, run: (*parser).callonInlineImage168, expr: &litMatcher{ - pos: position{line: 3155, col: 11, offset: 102893}, + pos: position{line: 3051, col: 11, offset: 99530}, val: "{", ignoreCase: false, want: "\"{\"", @@ -23338,27 +23565,27 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1212, col: 23, offset: 37871}, + pos: position{line: 1219, col: 23, offset: 38141}, run: (*parser).callonInlineImage170, expr: &seqExpr{ - pos: position{line: 1212, col: 23, offset: 37871}, + pos: position{line: 1219, col: 23, offset: 38141}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1210, col: 32, offset: 37839}, + pos: position{line: 1217, col: 32, offset: 38109}, val: "�", ignoreCase: false, want: "\"�\"", }, &labeledExpr{ - pos: position{line: 1212, col: 51, offset: 37899}, + pos: position{line: 1219, col: 51, offset: 38169}, label: "ref", expr: &actionExpr{ - pos: position{line: 1212, col: 56, offset: 37904}, + pos: position{line: 1219, col: 56, offset: 38174}, run: (*parser).callonInlineImage174, expr: &oneOrMoreExpr{ - pos: position{line: 1212, col: 56, offset: 37904}, + pos: position{line: 1219, col: 56, offset: 38174}, expr: &charClassMatcher{ - pos: position{line: 1212, col: 56, offset: 37904}, + pos: position{line: 1219, col: 56, offset: 38174}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -23368,7 +23595,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1210, col: 32, offset: 37839}, + pos: position{line: 1217, col: 32, offset: 38109}, val: "�", ignoreCase: false, want: "\"�\"", @@ -23385,10 +23612,10 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1358, col: 46, offset: 43119}, + pos: position{line: 1365, col: 46, offset: 43374}, label: "attributes", expr: &ruleRefExpr{ - pos: position{line: 1358, col: 58, offset: 43131}, + pos: position{line: 1365, col: 58, offset: 43386}, name: "InlineAttributes", }, }, @@ -23398,29 +23625,29 @@ var g = &grammar{ }, { name: "InlineIcon", - pos: position{line: 1365, col: 1, offset: 43527}, + pos: position{line: 1372, col: 1, offset: 43782}, expr: &actionExpr{ - pos: position{line: 1365, col: 15, offset: 43541}, + pos: position{line: 1372, col: 15, offset: 43796}, run: (*parser).callonInlineIcon1, expr: &seqExpr{ - pos: position{line: 1365, col: 15, offset: 43541}, + pos: position{line: 1372, col: 15, offset: 43796}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1365, col: 15, offset: 43541}, + pos: position{line: 1372, col: 15, offset: 43796}, val: "icon:", ignoreCase: false, want: "\"icon:\"", }, &labeledExpr{ - pos: position{line: 1365, col: 23, offset: 43549}, + pos: position{line: 1372, col: 23, offset: 43804}, label: "icon", expr: &actionExpr{ - pos: position{line: 1365, col: 29, offset: 43555}, + pos: position{line: 1372, col: 29, offset: 43810}, run: (*parser).callonInlineIcon5, expr: &oneOrMoreExpr{ - pos: position{line: 1365, col: 29, offset: 43555}, + pos: position{line: 1372, col: 29, offset: 43810}, expr: &charClassMatcher{ - pos: position{line: 1365, col: 29, offset: 43555}, + pos: position{line: 1372, col: 29, offset: 43810}, val: "[_-0-9\\pL]", chars: []rune{'_', '-'}, ranges: []rune{'0', '9'}, @@ -23432,10 +23659,10 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1365, col: 73, offset: 43599}, + pos: position{line: 1372, col: 73, offset: 43854}, label: "attributes", expr: &ruleRefExpr{ - pos: position{line: 1365, col: 85, offset: 43611}, + pos: position{line: 1372, col: 85, offset: 43866}, name: "InlineAttributes", }, }, @@ -23445,32 +23672,32 @@ var g = &grammar{ }, { name: "InlineFootnote", - pos: position{line: 1372, col: 1, offset: 43977}, + pos: position{line: 1379, col: 1, offset: 44232}, expr: &choiceExpr{ - pos: position{line: 1372, col: 19, offset: 43995}, + pos: position{line: 1379, col: 19, offset: 44250}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 1372, col: 19, offset: 43995}, + pos: position{line: 1379, col: 19, offset: 44250}, run: (*parser).callonInlineFootnote2, expr: &seqExpr{ - pos: position{line: 1372, col: 19, offset: 43995}, + pos: position{line: 1379, col: 19, offset: 44250}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1372, col: 19, offset: 43995}, + pos: position{line: 1379, col: 19, offset: 44250}, val: "footnote:[", ignoreCase: false, want: "\"footnote:[\"", }, &labeledExpr{ - pos: position{line: 1372, col: 32, offset: 44008}, + pos: position{line: 1379, col: 32, offset: 44263}, label: "content", expr: &ruleRefExpr{ - pos: position{line: 1372, col: 41, offset: 44017}, + pos: position{line: 1379, col: 41, offset: 44272}, name: "FootnoteContent", }, }, &litMatcher{ - pos: position{line: 1372, col: 58, offset: 44034}, + pos: position{line: 1379, col: 58, offset: 44289}, val: "]", ignoreCase: false, want: "\"]\"", @@ -23479,27 +23706,27 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1374, col: 9, offset: 44094}, + pos: position{line: 1381, col: 9, offset: 44349}, run: (*parser).callonInlineFootnote8, expr: &seqExpr{ - pos: position{line: 1374, col: 9, offset: 44094}, + pos: position{line: 1381, col: 9, offset: 44349}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1374, col: 9, offset: 44094}, + pos: position{line: 1381, col: 9, offset: 44349}, val: "footnote:", ignoreCase: false, want: "\"footnote:\"", }, &labeledExpr{ - pos: position{line: 1374, col: 21, offset: 44106}, + pos: position{line: 1381, col: 21, offset: 44361}, label: "ref", expr: &actionExpr{ - pos: position{line: 3094, col: 14, offset: 100787}, + pos: position{line: 2990, col: 14, offset: 97424}, run: (*parser).callonInlineFootnote12, expr: &oneOrMoreExpr{ - pos: position{line: 3094, col: 14, offset: 100787}, + pos: position{line: 2990, col: 14, offset: 97424}, expr: &charClassMatcher{ - pos: position{line: 3094, col: 14, offset: 100787}, + pos: position{line: 2990, col: 14, offset: 97424}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -23510,24 +23737,24 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1374, col: 39, offset: 44124}, + pos: position{line: 1381, col: 39, offset: 44379}, val: "[", ignoreCase: false, want: "\"[\"", }, &labeledExpr{ - pos: position{line: 1374, col: 43, offset: 44128}, + pos: position{line: 1381, col: 43, offset: 44383}, label: "content", expr: &zeroOrOneExpr{ - pos: position{line: 1374, col: 51, offset: 44136}, + pos: position{line: 1381, col: 51, offset: 44391}, expr: &ruleRefExpr{ - pos: position{line: 1374, col: 52, offset: 44137}, + pos: position{line: 1381, col: 52, offset: 44392}, name: "FootnoteContent", }, }, }, &litMatcher{ - pos: position{line: 1374, col: 70, offset: 44155}, + pos: position{line: 1381, col: 70, offset: 44410}, val: "]", ignoreCase: false, want: "\"]\"", @@ -23540,29 +23767,29 @@ var g = &grammar{ }, { name: "FootnoteContent", - pos: position{line: 1380, col: 1, offset: 44304}, + pos: position{line: 1387, col: 1, offset: 44559}, expr: &actionExpr{ - pos: position{line: 1380, col: 20, offset: 44323}, + pos: position{line: 1387, col: 20, offset: 44578}, run: (*parser).callonFootnoteContent1, expr: &labeledExpr{ - pos: position{line: 1380, col: 20, offset: 44323}, + pos: position{line: 1387, col: 20, offset: 44578}, label: "elements", expr: &oneOrMoreExpr{ - pos: position{line: 1380, col: 29, offset: 44332}, + pos: position{line: 1387, col: 29, offset: 44587}, expr: &seqExpr{ - pos: position{line: 1380, col: 30, offset: 44333}, + pos: position{line: 1387, col: 30, offset: 44588}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 1380, col: 30, offset: 44333}, + pos: position{line: 1387, col: 30, offset: 44588}, expr: &litMatcher{ - pos: position{line: 1380, col: 31, offset: 44334}, + pos: position{line: 1387, col: 31, offset: 44589}, val: "]", ignoreCase: false, want: "\"]\"", }, }, &ruleRefExpr{ - pos: position{line: 1380, col: 35, offset: 44338}, + pos: position{line: 1387, col: 35, offset: 44593}, name: "InlineElement", }, }, @@ -23573,32 +23800,32 @@ var g = &grammar{ }, { name: "PassthroughMacro", - pos: position{line: 1412, col: 1, offset: 46027}, + pos: position{line: 1419, col: 1, offset: 46282}, expr: &choiceExpr{ - pos: position{line: 1412, col: 21, offset: 46047}, + pos: position{line: 1419, col: 21, offset: 46302}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 1412, col: 21, offset: 46047}, + pos: position{line: 1419, col: 21, offset: 46302}, run: (*parser).callonPassthroughMacro2, expr: &seqExpr{ - pos: position{line: 1412, col: 21, offset: 46047}, + pos: position{line: 1419, col: 21, offset: 46302}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1412, col: 21, offset: 46047}, + pos: position{line: 1419, col: 21, offset: 46302}, val: "pass:[", ignoreCase: false, want: "\"pass:[\"", }, &labeledExpr{ - pos: position{line: 1412, col: 30, offset: 46056}, + pos: position{line: 1419, col: 30, offset: 46311}, label: "content", expr: &zeroOrMoreExpr{ - pos: position{line: 1412, col: 38, offset: 46064}, + pos: position{line: 1419, col: 38, offset: 46319}, expr: &actionExpr{ - pos: position{line: 1418, col: 30, offset: 46390}, + pos: position{line: 1425, col: 30, offset: 46645}, run: (*parser).callonPassthroughMacro7, expr: &charClassMatcher{ - pos: position{line: 1418, col: 30, offset: 46390}, + pos: position{line: 1425, col: 30, offset: 46645}, val: "[^]]", chars: []rune{']'}, ignoreCase: false, @@ -23608,7 +23835,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1412, col: 67, offset: 46093}, + pos: position{line: 1419, col: 67, offset: 46348}, val: "]", ignoreCase: false, want: "\"]\"", @@ -23617,34 +23844,34 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1414, col: 9, offset: 46197}, + pos: position{line: 1421, col: 9, offset: 46452}, run: (*parser).callonPassthroughMacro10, expr: &seqExpr{ - pos: position{line: 1414, col: 9, offset: 46197}, + pos: position{line: 1421, col: 9, offset: 46452}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1414, col: 9, offset: 46197}, + pos: position{line: 1421, col: 9, offset: 46452}, val: "pass:q[", ignoreCase: false, want: "\"pass:q[\"", }, &labeledExpr{ - pos: position{line: 1414, col: 19, offset: 46207}, + pos: position{line: 1421, col: 19, offset: 46462}, label: "content", expr: &zeroOrMoreExpr{ - pos: position{line: 1414, col: 27, offset: 46215}, + pos: position{line: 1421, col: 27, offset: 46470}, expr: &choiceExpr{ - pos: position{line: 1414, col: 28, offset: 46216}, + pos: position{line: 1421, col: 28, offset: 46471}, alternatives: []interface{}{ &ruleRefExpr{ - pos: position{line: 1414, col: 28, offset: 46216}, + pos: position{line: 1421, col: 28, offset: 46471}, name: "QuotedText", }, &actionExpr{ - pos: position{line: 1418, col: 30, offset: 46390}, + pos: position{line: 1425, col: 30, offset: 46645}, run: (*parser).callonPassthroughMacro17, expr: &charClassMatcher{ - pos: position{line: 1418, col: 30, offset: 46390}, + pos: position{line: 1425, col: 30, offset: 46645}, val: "[^]]", chars: []rune{']'}, ignoreCase: false, @@ -23656,7 +23883,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1414, col: 69, offset: 46257}, + pos: position{line: 1421, col: 69, offset: 46512}, val: "]", ignoreCase: false, want: "\"]\"", @@ -23669,72 +23896,72 @@ var g = &grammar{ }, { name: "Link", - pos: position{line: 1425, col: 1, offset: 46646}, + pos: position{line: 1432, col: 1, offset: 46901}, expr: &choiceExpr{ - pos: position{line: 1425, col: 9, offset: 46654}, + pos: position{line: 1432, col: 9, offset: 46909}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 1428, col: 5, offset: 46708}, + pos: position{line: 1435, col: 5, offset: 46963}, run: (*parser).callonLink2, expr: &seqExpr{ - pos: position{line: 1428, col: 5, offset: 46708}, + pos: position{line: 1435, col: 5, offset: 46963}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1428, col: 5, offset: 46708}, + pos: position{line: 1435, col: 5, offset: 46963}, val: "<", ignoreCase: false, want: "\"<\"", }, &labeledExpr{ - pos: position{line: 1429, col: 5, offset: 46717}, + pos: position{line: 1436, col: 5, offset: 46972}, label: "url", expr: &actionExpr{ - pos: position{line: 3140, col: 23, offset: 102282}, + pos: position{line: 3036, col: 23, offset: 98919}, run: (*parser).callonLink6, expr: &seqExpr{ - pos: position{line: 3140, col: 23, offset: 102282}, + pos: position{line: 3036, col: 23, offset: 98919}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 3140, col: 23, offset: 102282}, + pos: position{line: 3036, col: 23, offset: 98919}, expr: &litMatcher{ - pos: position{line: 3140, col: 24, offset: 102283}, + pos: position{line: 3036, col: 24, offset: 98920}, val: "[", ignoreCase: false, want: "\"[\"", }, }, &labeledExpr{ - pos: position{line: 3140, col: 28, offset: 102287}, + pos: position{line: 3036, col: 28, offset: 98924}, label: "scheme", expr: &choiceExpr{ - pos: position{line: 3144, col: 11, offset: 102402}, + pos: position{line: 3040, col: 11, offset: 99039}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3144, col: 11, offset: 102402}, + pos: position{line: 3040, col: 11, offset: 99039}, val: "http://", ignoreCase: false, want: "\"http://\"", }, &litMatcher{ - pos: position{line: 3144, col: 23, offset: 102414}, + pos: position{line: 3040, col: 23, offset: 99051}, val: "https://", ignoreCase: false, want: "\"https://\"", }, &litMatcher{ - pos: position{line: 3144, col: 36, offset: 102427}, + pos: position{line: 3040, col: 36, offset: 99064}, val: "ftp://", ignoreCase: false, want: "\"ftp://\"", }, &litMatcher{ - pos: position{line: 3144, col: 47, offset: 102438}, + pos: position{line: 3040, col: 47, offset: 99075}, val: "irc://", ignoreCase: false, want: "\"irc://\"", }, &litMatcher{ - pos: position{line: 3144, col: 58, offset: 102449}, + pos: position{line: 3040, col: 58, offset: 99086}, val: "mailto:", ignoreCase: false, want: "\"mailto:\"", @@ -23743,40 +23970,40 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 3140, col: 44, offset: 102303}, + pos: position{line: 3036, col: 44, offset: 98940}, label: "path", expr: &oneOrMoreExpr{ - pos: position{line: 3140, col: 49, offset: 102308}, + pos: position{line: 3036, col: 49, offset: 98945}, expr: &actionExpr{ - pos: position{line: 3147, col: 5, offset: 102477}, + pos: position{line: 3043, col: 5, offset: 99114}, run: (*parser).callonLink19, expr: &seqExpr{ - pos: position{line: 3147, col: 5, offset: 102477}, + pos: position{line: 3043, col: 5, offset: 99114}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 3147, col: 5, offset: 102477}, + pos: position{line: 3043, col: 5, offset: 99114}, expr: &litMatcher{ - pos: position{line: 3147, col: 6, offset: 102478}, + pos: position{line: 3043, col: 6, offset: 99115}, val: "[", ignoreCase: false, want: "\"[\"", }, }, &labeledExpr{ - pos: position{line: 3148, col: 5, offset: 102502}, + pos: position{line: 3044, col: 5, offset: 99139}, label: "elements", expr: &oneOrMoreExpr{ - pos: position{line: 3148, col: 14, offset: 102511}, + pos: position{line: 3044, col: 14, offset: 99148}, expr: &choiceExpr{ - pos: position{line: 3149, col: 9, offset: 102521}, + pos: position{line: 3045, col: 9, offset: 99158}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3149, col: 9, offset: 102521}, + pos: position{line: 3045, col: 9, offset: 99158}, run: (*parser).callonLink26, expr: &oneOrMoreExpr{ - pos: position{line: 3149, col: 9, offset: 102521}, + pos: position{line: 3045, col: 9, offset: 99158}, expr: &charClassMatcher{ - pos: position{line: 3149, col: 10, offset: 102522}, + pos: position{line: 3045, col: 10, offset: 99159}, val: "[^\\r\\n[]�{.,;?!<> ]", chars: []rune{'\r', '\n', '[', ']', '�', '{', '.', ',', ';', '?', '!', '<', '>', ' '}, ignoreCase: false, @@ -23785,13 +24012,13 @@ var g = &grammar{ }, }, &seqExpr{ - pos: position{line: 3152, col: 11, offset: 102787}, + pos: position{line: 3048, col: 11, offset: 99424}, exprs: []interface{}{ &actionExpr{ - pos: position{line: 3122, col: 25, offset: 101758}, + pos: position{line: 3018, col: 25, offset: 98395}, run: (*parser).callonLink30, expr: &charClassMatcher{ - pos: position{line: 3122, col: 25, offset: 101758}, + pos: position{line: 3018, col: 25, offset: 98395}, val: "[.,;?!]", chars: []rune{'.', ',', ';', '?', '!'}, ignoreCase: false, @@ -23799,23 +24026,23 @@ var g = &grammar{ }, }, &andExpr{ - pos: position{line: 3152, col: 32, offset: 102808}, + pos: position{line: 3048, col: 32, offset: 99445}, expr: ¬Expr{ - pos: position{line: 3152, col: 34, offset: 102810}, + pos: position{line: 3048, col: 34, offset: 99447}, expr: &choiceExpr{ - pos: position{line: 3152, col: 36, offset: 102812}, + pos: position{line: 3048, col: 36, offset: 99449}, alternatives: []interface{}{ ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonLink37, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -23829,35 +24056,35 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 641, col: 5, offset: 20613}, + pos: position{line: 648, col: 5, offset: 20883}, run: (*parser).callonLink39, expr: &seqExpr{ - pos: position{line: 641, col: 5, offset: 20613}, + pos: position{line: 648, col: 5, offset: 20883}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 641, col: 5, offset: 20613}, + pos: position{line: 648, col: 5, offset: 20883}, run: (*parser).callonLink41, }, &labeledExpr{ - pos: position{line: 644, col: 5, offset: 20682}, + pos: position{line: 651, col: 5, offset: 20952}, label: "element", expr: &choiceExpr{ - pos: position{line: 644, col: 14, offset: 20691}, + pos: position{line: 651, col: 14, offset: 20961}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 664, col: 25, offset: 21344}, + pos: position{line: 671, col: 25, offset: 21614}, run: (*parser).callonLink44, expr: &seqExpr{ - pos: position{line: 664, col: 25, offset: 21344}, + pos: position{line: 671, col: 25, offset: 21614}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 664, col: 25, offset: 21344}, + pos: position{line: 671, col: 25, offset: 21614}, val: "{counter:", ignoreCase: false, want: "\"{counter:\"", }, &labeledExpr{ - pos: position{line: 664, col: 37, offset: 21356}, + pos: position{line: 671, col: 37, offset: 21626}, label: "name", expr: &actionExpr{ pos: position{line: 324, col: 18, offset: 10072}, @@ -23891,33 +24118,33 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 664, col: 56, offset: 21375}, + pos: position{line: 671, col: 56, offset: 21645}, label: "start", expr: &zeroOrOneExpr{ - pos: position{line: 664, col: 62, offset: 21381}, + pos: position{line: 671, col: 62, offset: 21651}, expr: &actionExpr{ - pos: position{line: 672, col: 17, offset: 21676}, + pos: position{line: 679, col: 17, offset: 21946}, run: (*parser).callonLink55, expr: &seqExpr{ - pos: position{line: 672, col: 17, offset: 21676}, + pos: position{line: 679, col: 17, offset: 21946}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 672, col: 17, offset: 21676}, + pos: position{line: 679, col: 17, offset: 21946}, val: ":", ignoreCase: false, want: "\":\"", }, &labeledExpr{ - pos: position{line: 672, col: 21, offset: 21680}, + pos: position{line: 679, col: 21, offset: 21950}, label: "start", expr: &choiceExpr{ - pos: position{line: 672, col: 28, offset: 21687}, + pos: position{line: 679, col: 28, offset: 21957}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 672, col: 28, offset: 21687}, + pos: position{line: 679, col: 28, offset: 21957}, run: (*parser).callonLink60, expr: &charClassMatcher{ - pos: position{line: 672, col: 28, offset: 21687}, + pos: position{line: 679, col: 28, offset: 21957}, val: "[A-Za-z]", ranges: []rune{'A', 'Z', 'a', 'z'}, ignoreCase: false, @@ -23925,12 +24152,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 674, col: 9, offset: 21741}, + pos: position{line: 681, col: 9, offset: 22011}, run: (*parser).callonLink62, expr: &oneOrMoreExpr{ - pos: position{line: 674, col: 9, offset: 21741}, + pos: position{line: 681, col: 9, offset: 22011}, expr: &charClassMatcher{ - pos: position{line: 674, col: 9, offset: 21741}, + pos: position{line: 681, col: 9, offset: 22011}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -23947,7 +24174,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 664, col: 78, offset: 21397}, + pos: position{line: 671, col: 78, offset: 21667}, val: "}", ignoreCase: false, want: "\"}\"", @@ -23956,19 +24183,19 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 668, col: 25, offset: 21515}, + pos: position{line: 675, col: 25, offset: 21785}, run: (*parser).callonLink66, expr: &seqExpr{ - pos: position{line: 668, col: 25, offset: 21515}, + pos: position{line: 675, col: 25, offset: 21785}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 668, col: 25, offset: 21515}, + pos: position{line: 675, col: 25, offset: 21785}, val: "{counter2:", ignoreCase: false, want: "\"{counter2:\"", }, &labeledExpr{ - pos: position{line: 668, col: 38, offset: 21528}, + pos: position{line: 675, col: 38, offset: 21798}, label: "name", expr: &actionExpr{ pos: position{line: 324, col: 18, offset: 10072}, @@ -24002,33 +24229,33 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 668, col: 57, offset: 21547}, + pos: position{line: 675, col: 57, offset: 21817}, label: "start", expr: &zeroOrOneExpr{ - pos: position{line: 668, col: 63, offset: 21553}, + pos: position{line: 675, col: 63, offset: 21823}, expr: &actionExpr{ - pos: position{line: 672, col: 17, offset: 21676}, + pos: position{line: 679, col: 17, offset: 21946}, run: (*parser).callonLink77, expr: &seqExpr{ - pos: position{line: 672, col: 17, offset: 21676}, + pos: position{line: 679, col: 17, offset: 21946}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 672, col: 17, offset: 21676}, + pos: position{line: 679, col: 17, offset: 21946}, val: ":", ignoreCase: false, want: "\":\"", }, &labeledExpr{ - pos: position{line: 672, col: 21, offset: 21680}, + pos: position{line: 679, col: 21, offset: 21950}, label: "start", expr: &choiceExpr{ - pos: position{line: 672, col: 28, offset: 21687}, + pos: position{line: 679, col: 28, offset: 21957}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 672, col: 28, offset: 21687}, + pos: position{line: 679, col: 28, offset: 21957}, run: (*parser).callonLink82, expr: &charClassMatcher{ - pos: position{line: 672, col: 28, offset: 21687}, + pos: position{line: 679, col: 28, offset: 21957}, val: "[A-Za-z]", ranges: []rune{'A', 'Z', 'a', 'z'}, ignoreCase: false, @@ -24036,12 +24263,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 674, col: 9, offset: 21741}, + pos: position{line: 681, col: 9, offset: 22011}, run: (*parser).callonLink84, expr: &oneOrMoreExpr{ - pos: position{line: 674, col: 9, offset: 21741}, + pos: position{line: 681, col: 9, offset: 22011}, expr: &charClassMatcher{ - pos: position{line: 674, col: 9, offset: 21741}, + pos: position{line: 681, col: 9, offset: 22011}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -24058,7 +24285,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 668, col: 79, offset: 21569}, + pos: position{line: 675, col: 79, offset: 21839}, val: "}", ignoreCase: false, want: "\"}\"", @@ -24067,19 +24294,19 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 650, col: 5, offset: 20820}, + pos: position{line: 657, col: 5, offset: 21090}, run: (*parser).callonLink88, expr: &seqExpr{ - pos: position{line: 650, col: 5, offset: 20820}, + pos: position{line: 657, col: 5, offset: 21090}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 650, col: 5, offset: 20820}, + pos: position{line: 657, col: 5, offset: 21090}, val: "\\{", ignoreCase: false, want: "\"\\\\{\"", }, &labeledExpr{ - pos: position{line: 650, col: 13, offset: 20828}, + pos: position{line: 657, col: 13, offset: 21098}, label: "name", expr: &actionExpr{ pos: position{line: 324, col: 18, offset: 10072}, @@ -24113,7 +24340,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 650, col: 32, offset: 20847}, + pos: position{line: 657, col: 32, offset: 21117}, val: "}", ignoreCase: false, want: "\"}\"", @@ -24122,19 +24349,19 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 657, col: 5, offset: 21088}, + pos: position{line: 664, col: 5, offset: 21358}, run: (*parser).callonLink98, expr: &seqExpr{ - pos: position{line: 657, col: 5, offset: 21088}, + pos: position{line: 664, col: 5, offset: 21358}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 657, col: 5, offset: 21088}, + pos: position{line: 664, col: 5, offset: 21358}, val: "{", ignoreCase: false, want: "\"{\"", }, &labeledExpr{ - pos: position{line: 657, col: 9, offset: 21092}, + pos: position{line: 664, col: 9, offset: 21362}, label: "name", expr: &actionExpr{ pos: position{line: 324, col: 18, offset: 10072}, @@ -24168,7 +24395,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 657, col: 28, offset: 21111}, + pos: position{line: 664, col: 28, offset: 21381}, val: "}", ignoreCase: false, want: "\"}\"", @@ -24183,49 +24410,49 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2859, col: 5, offset: 93679}, + pos: position{line: 2745, col: 5, offset: 90112}, run: (*parser).callonLink108, expr: &seqExpr{ - pos: position{line: 2859, col: 5, offset: 93679}, + pos: position{line: 2745, col: 5, offset: 90112}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 2859, col: 5, offset: 93679}, + pos: position{line: 2745, col: 5, offset: 90112}, run: (*parser).callonLink110, }, &labeledExpr{ - pos: position{line: 2862, col: 5, offset: 93755}, + pos: position{line: 2748, col: 5, offset: 90188}, label: "element", expr: &choiceExpr{ - pos: position{line: 2864, col: 9, offset: 93853}, + pos: position{line: 2750, col: 9, offset: 90286}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2864, col: 9, offset: 93853}, + pos: position{line: 2750, col: 9, offset: 90286}, run: (*parser).callonLink113, expr: &choiceExpr{ - pos: position{line: 692, col: 27, offset: 22395}, + pos: position{line: 699, col: 27, offset: 22665}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 692, col: 27, offset: 22395}, + pos: position{line: 699, col: 27, offset: 22665}, run: (*parser).callonLink115, expr: &seqExpr{ - pos: position{line: 692, col: 27, offset: 22395}, + pos: position{line: 699, col: 27, offset: 22665}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 692, col: 27, offset: 22395}, + pos: position{line: 699, col: 27, offset: 22665}, val: "<<", ignoreCase: false, want: "\"<<\"", }, &labeledExpr{ - pos: position{line: 692, col: 32, offset: 22400}, + pos: position{line: 699, col: 32, offset: 22670}, label: "id", expr: &actionExpr{ - pos: position{line: 3161, col: 7, offset: 103049}, + pos: position{line: 3057, col: 7, offset: 99686}, run: (*parser).callonLink119, expr: &oneOrMoreExpr{ - pos: position{line: 3161, col: 7, offset: 103049}, + pos: position{line: 3057, col: 7, offset: 99686}, expr: &charClassMatcher{ - pos: position{line: 3161, col: 7, offset: 103049}, + pos: position{line: 3057, col: 7, offset: 99686}, val: "[^[]<>,]", chars: []rune{'[', ']', '<', '>', ','}, ignoreCase: false, @@ -24235,12 +24462,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 692, col: 40, offset: 22408}, + pos: position{line: 699, col: 40, offset: 22678}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonLink123, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -24249,27 +24476,27 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 692, col: 47, offset: 22415}, + pos: position{line: 699, col: 47, offset: 22685}, val: ",", ignoreCase: false, want: "\",\"", }, &labeledExpr{ - pos: position{line: 692, col: 51, offset: 22419}, + pos: position{line: 699, col: 51, offset: 22689}, label: "label", expr: &oneOrMoreExpr{ - pos: position{line: 702, col: 24, offset: 22820}, + pos: position{line: 709, col: 24, offset: 23090}, expr: &choiceExpr{ - pos: position{line: 703, col: 5, offset: 22826}, + pos: position{line: 710, col: 5, offset: 23096}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 703, col: 6, offset: 22827}, + pos: position{line: 710, col: 6, offset: 23097}, run: (*parser).callonLink129, expr: &seqExpr{ - pos: position{line: 703, col: 6, offset: 22827}, + pos: position{line: 710, col: 6, offset: 23097}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 703, col: 6, offset: 22827}, + pos: position{line: 710, col: 6, offset: 23097}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -24277,9 +24504,9 @@ var g = &grammar{ inverted: false, }, &oneOrMoreExpr{ - pos: position{line: 703, col: 14, offset: 22835}, + pos: position{line: 710, col: 14, offset: 23105}, expr: &charClassMatcher{ - pos: position{line: 703, col: 14, offset: 22835}, + pos: position{line: 710, col: 14, offset: 23105}, val: "[^\\r\\n{<>]", chars: []rune{'\r', '\n', '{', '<', '>'}, ignoreCase: false, @@ -24290,19 +24517,19 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 650, col: 5, offset: 20820}, + pos: position{line: 657, col: 5, offset: 21090}, run: (*parser).callonLink134, expr: &seqExpr{ - pos: position{line: 650, col: 5, offset: 20820}, + pos: position{line: 657, col: 5, offset: 21090}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 650, col: 5, offset: 20820}, + pos: position{line: 657, col: 5, offset: 21090}, val: "\\{", ignoreCase: false, want: "\"\\\\{\"", }, &labeledExpr{ - pos: position{line: 650, col: 13, offset: 20828}, + pos: position{line: 657, col: 13, offset: 21098}, label: "name", expr: &actionExpr{ pos: position{line: 324, col: 18, offset: 10072}, @@ -24336,7 +24563,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 650, col: 32, offset: 20847}, + pos: position{line: 657, col: 32, offset: 21117}, val: "}", ignoreCase: false, want: "\"}\"", @@ -24345,19 +24572,19 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 657, col: 5, offset: 21088}, + pos: position{line: 664, col: 5, offset: 21358}, run: (*parser).callonLink144, expr: &seqExpr{ - pos: position{line: 657, col: 5, offset: 21088}, + pos: position{line: 664, col: 5, offset: 21358}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 657, col: 5, offset: 21088}, + pos: position{line: 664, col: 5, offset: 21358}, val: "{", ignoreCase: false, want: "\"{\"", }, &labeledExpr{ - pos: position{line: 657, col: 9, offset: 21092}, + pos: position{line: 664, col: 9, offset: 21362}, label: "name", expr: &actionExpr{ pos: position{line: 324, col: 18, offset: 10072}, @@ -24391,7 +24618,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 657, col: 28, offset: 21111}, + pos: position{line: 664, col: 28, offset: 21381}, val: "}", ignoreCase: false, want: "\"}\"", @@ -24400,10 +24627,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 707, col: 8, offset: 23061}, + pos: position{line: 714, col: 8, offset: 23331}, run: (*parser).callonLink154, expr: &litMatcher{ - pos: position{line: 707, col: 8, offset: 23061}, + pos: position{line: 714, col: 8, offset: 23331}, val: "{", ignoreCase: false, want: "\"{\"", @@ -24414,7 +24641,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 692, col: 79, offset: 22447}, + pos: position{line: 699, col: 79, offset: 22717}, val: ">>", ignoreCase: false, want: "\">>\"", @@ -24423,27 +24650,27 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 694, col: 9, offset: 22520}, + pos: position{line: 701, col: 9, offset: 22790}, run: (*parser).callonLink157, expr: &seqExpr{ - pos: position{line: 694, col: 9, offset: 22520}, + pos: position{line: 701, col: 9, offset: 22790}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 694, col: 9, offset: 22520}, + pos: position{line: 701, col: 9, offset: 22790}, val: "<<", ignoreCase: false, want: "\"<<\"", }, &labeledExpr{ - pos: position{line: 694, col: 14, offset: 22525}, + pos: position{line: 701, col: 14, offset: 22795}, label: "id", expr: &actionExpr{ - pos: position{line: 3161, col: 7, offset: 103049}, + pos: position{line: 3057, col: 7, offset: 99686}, run: (*parser).callonLink161, expr: &oneOrMoreExpr{ - pos: position{line: 3161, col: 7, offset: 103049}, + pos: position{line: 3057, col: 7, offset: 99686}, expr: &charClassMatcher{ - pos: position{line: 3161, col: 7, offset: 103049}, + pos: position{line: 3057, col: 7, offset: 99686}, val: "[^[]<>,]", chars: []rune{'[', ']', '<', '>', ','}, ignoreCase: false, @@ -24453,7 +24680,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 694, col: 22, offset: 22533}, + pos: position{line: 701, col: 22, offset: 22803}, val: ">>", ignoreCase: false, want: "\">>\"", @@ -24465,10 +24692,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2867, col: 11, offset: 93957}, + pos: position{line: 2753, col: 11, offset: 90390}, run: (*parser).callonLink165, expr: &charClassMatcher{ - pos: position{line: 2867, col: 12, offset: 93958}, + pos: position{line: 2753, col: 12, offset: 90391}, val: "[<>&]", chars: []rune{'<', '>', '&'}, ignoreCase: false, @@ -24482,10 +24709,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 3155, col: 11, offset: 102893}, + pos: position{line: 3051, col: 11, offset: 99530}, run: (*parser).callonLink167, expr: &litMatcher{ - pos: position{line: 3155, col: 11, offset: 102893}, + pos: position{line: 3051, col: 11, offset: 99530}, val: "{", ignoreCase: false, want: "\"{\"", @@ -24505,12 +24732,12 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1430, col: 5, offset: 46784}, + pos: position{line: 1437, col: 5, offset: 47039}, label: "closingBracket", expr: &zeroOrOneExpr{ - pos: position{line: 1430, col: 20, offset: 46799}, + pos: position{line: 1437, col: 20, offset: 47054}, expr: &litMatcher{ - pos: position{line: 1430, col: 21, offset: 46800}, + pos: position{line: 1437, col: 21, offset: 47055}, val: ">", ignoreCase: false, want: "\">\"", @@ -24518,18 +24745,18 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1431, col: 5, offset: 46831}, + pos: position{line: 1438, col: 5, offset: 47086}, run: (*parser).callonLink172, }, }, }, }, &ruleRefExpr{ - pos: position{line: 1425, col: 19, offset: 46664}, + pos: position{line: 1432, col: 19, offset: 46919}, name: "RelativeLink", }, &ruleRefExpr{ - pos: position{line: 1425, col: 34, offset: 46679}, + pos: position{line: 1432, col: 34, offset: 46934}, name: "ExternalLink", }, }, @@ -24537,65 +24764,65 @@ var g = &grammar{ }, { name: "RelativeLink", - pos: position{line: 1439, col: 1, offset: 47046}, + pos: position{line: 1446, col: 1, offset: 47301}, expr: &choiceExpr{ - pos: position{line: 1441, col: 5, offset: 47082}, + pos: position{line: 1448, col: 5, offset: 47337}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 1441, col: 5, offset: 47082}, + pos: position{line: 1448, col: 5, offset: 47337}, run: (*parser).callonRelativeLink2, expr: &seqExpr{ - pos: position{line: 1441, col: 5, offset: 47082}, + pos: position{line: 1448, col: 5, offset: 47337}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1441, col: 5, offset: 47082}, + pos: position{line: 1448, col: 5, offset: 47337}, val: "\\link:", ignoreCase: false, want: "\"\\\\link:\"", }, &labeledExpr{ - pos: position{line: 1441, col: 17, offset: 47094}, + pos: position{line: 1448, col: 17, offset: 47349}, label: "url", expr: &actionExpr{ - pos: position{line: 3136, col: 13, offset: 102133}, + pos: position{line: 3032, col: 13, offset: 98770}, run: (*parser).callonRelativeLink6, expr: &seqExpr{ - pos: position{line: 3136, col: 13, offset: 102133}, + pos: position{line: 3032, col: 13, offset: 98770}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 3136, col: 13, offset: 102133}, + pos: position{line: 3032, col: 13, offset: 98770}, label: "scheme", expr: &zeroOrOneExpr{ - pos: position{line: 3136, col: 20, offset: 102140}, + pos: position{line: 3032, col: 20, offset: 98777}, expr: &choiceExpr{ - pos: position{line: 3144, col: 11, offset: 102402}, + pos: position{line: 3040, col: 11, offset: 99039}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3144, col: 11, offset: 102402}, + pos: position{line: 3040, col: 11, offset: 99039}, val: "http://", ignoreCase: false, want: "\"http://\"", }, &litMatcher{ - pos: position{line: 3144, col: 23, offset: 102414}, + pos: position{line: 3040, col: 23, offset: 99051}, val: "https://", ignoreCase: false, want: "\"https://\"", }, &litMatcher{ - pos: position{line: 3144, col: 36, offset: 102427}, + pos: position{line: 3040, col: 36, offset: 99064}, val: "ftp://", ignoreCase: false, want: "\"ftp://\"", }, &litMatcher{ - pos: position{line: 3144, col: 47, offset: 102438}, + pos: position{line: 3040, col: 47, offset: 99075}, val: "irc://", ignoreCase: false, want: "\"irc://\"", }, &litMatcher{ - pos: position{line: 3144, col: 58, offset: 102449}, + pos: position{line: 3040, col: 58, offset: 99086}, val: "mailto:", ignoreCase: false, want: "\"mailto:\"", @@ -24605,43 +24832,43 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 3136, col: 30, offset: 102150}, + pos: position{line: 3032, col: 30, offset: 98787}, label: "path", expr: &oneOrMoreExpr{ - pos: position{line: 3136, col: 35, offset: 102155}, + pos: position{line: 3032, col: 35, offset: 98792}, expr: &choiceExpr{ - pos: position{line: 3136, col: 36, offset: 102156}, + pos: position{line: 3032, col: 36, offset: 98793}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3147, col: 5, offset: 102477}, + pos: position{line: 3043, col: 5, offset: 99114}, run: (*parser).callonRelativeLink19, expr: &seqExpr{ - pos: position{line: 3147, col: 5, offset: 102477}, + pos: position{line: 3043, col: 5, offset: 99114}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 3147, col: 5, offset: 102477}, + pos: position{line: 3043, col: 5, offset: 99114}, expr: &litMatcher{ - pos: position{line: 3147, col: 6, offset: 102478}, + pos: position{line: 3043, col: 6, offset: 99115}, val: "[", ignoreCase: false, want: "\"[\"", }, }, &labeledExpr{ - pos: position{line: 3148, col: 5, offset: 102502}, + pos: position{line: 3044, col: 5, offset: 99139}, label: "elements", expr: &oneOrMoreExpr{ - pos: position{line: 3148, col: 14, offset: 102511}, + pos: position{line: 3044, col: 14, offset: 99148}, expr: &choiceExpr{ - pos: position{line: 3149, col: 9, offset: 102521}, + pos: position{line: 3045, col: 9, offset: 99158}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3149, col: 9, offset: 102521}, + pos: position{line: 3045, col: 9, offset: 99158}, run: (*parser).callonRelativeLink26, expr: &oneOrMoreExpr{ - pos: position{line: 3149, col: 9, offset: 102521}, + pos: position{line: 3045, col: 9, offset: 99158}, expr: &charClassMatcher{ - pos: position{line: 3149, col: 10, offset: 102522}, + pos: position{line: 3045, col: 10, offset: 99159}, val: "[^\\r\\n[]�{.,;?!<> ]", chars: []rune{'\r', '\n', '[', ']', '�', '{', '.', ',', ';', '?', '!', '<', '>', ' '}, ignoreCase: false, @@ -24650,13 +24877,13 @@ var g = &grammar{ }, }, &seqExpr{ - pos: position{line: 3152, col: 11, offset: 102787}, + pos: position{line: 3048, col: 11, offset: 99424}, exprs: []interface{}{ &actionExpr{ - pos: position{line: 3122, col: 25, offset: 101758}, + pos: position{line: 3018, col: 25, offset: 98395}, run: (*parser).callonRelativeLink30, expr: &charClassMatcher{ - pos: position{line: 3122, col: 25, offset: 101758}, + pos: position{line: 3018, col: 25, offset: 98395}, val: "[.,;?!]", chars: []rune{'.', ',', ';', '?', '!'}, ignoreCase: false, @@ -24664,23 +24891,23 @@ var g = &grammar{ }, }, &andExpr{ - pos: position{line: 3152, col: 32, offset: 102808}, + pos: position{line: 3048, col: 32, offset: 99445}, expr: ¬Expr{ - pos: position{line: 3152, col: 34, offset: 102810}, + pos: position{line: 3048, col: 34, offset: 99447}, expr: &choiceExpr{ - pos: position{line: 3152, col: 36, offset: 102812}, + pos: position{line: 3048, col: 36, offset: 99449}, alternatives: []interface{}{ ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonRelativeLink37, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -24694,35 +24921,35 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 641, col: 5, offset: 20613}, + pos: position{line: 648, col: 5, offset: 20883}, run: (*parser).callonRelativeLink39, expr: &seqExpr{ - pos: position{line: 641, col: 5, offset: 20613}, + pos: position{line: 648, col: 5, offset: 20883}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 641, col: 5, offset: 20613}, + pos: position{line: 648, col: 5, offset: 20883}, run: (*parser).callonRelativeLink41, }, &labeledExpr{ - pos: position{line: 644, col: 5, offset: 20682}, + pos: position{line: 651, col: 5, offset: 20952}, label: "element", expr: &choiceExpr{ - pos: position{line: 644, col: 14, offset: 20691}, + pos: position{line: 651, col: 14, offset: 20961}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 664, col: 25, offset: 21344}, + pos: position{line: 671, col: 25, offset: 21614}, run: (*parser).callonRelativeLink44, expr: &seqExpr{ - pos: position{line: 664, col: 25, offset: 21344}, + pos: position{line: 671, col: 25, offset: 21614}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 664, col: 25, offset: 21344}, + pos: position{line: 671, col: 25, offset: 21614}, val: "{counter:", ignoreCase: false, want: "\"{counter:\"", }, &labeledExpr{ - pos: position{line: 664, col: 37, offset: 21356}, + pos: position{line: 671, col: 37, offset: 21626}, label: "name", expr: &actionExpr{ pos: position{line: 324, col: 18, offset: 10072}, @@ -24756,33 +24983,33 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 664, col: 56, offset: 21375}, + pos: position{line: 671, col: 56, offset: 21645}, label: "start", expr: &zeroOrOneExpr{ - pos: position{line: 664, col: 62, offset: 21381}, + pos: position{line: 671, col: 62, offset: 21651}, expr: &actionExpr{ - pos: position{line: 672, col: 17, offset: 21676}, + pos: position{line: 679, col: 17, offset: 21946}, run: (*parser).callonRelativeLink55, expr: &seqExpr{ - pos: position{line: 672, col: 17, offset: 21676}, + pos: position{line: 679, col: 17, offset: 21946}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 672, col: 17, offset: 21676}, + pos: position{line: 679, col: 17, offset: 21946}, val: ":", ignoreCase: false, want: "\":\"", }, &labeledExpr{ - pos: position{line: 672, col: 21, offset: 21680}, + pos: position{line: 679, col: 21, offset: 21950}, label: "start", expr: &choiceExpr{ - pos: position{line: 672, col: 28, offset: 21687}, + pos: position{line: 679, col: 28, offset: 21957}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 672, col: 28, offset: 21687}, + pos: position{line: 679, col: 28, offset: 21957}, run: (*parser).callonRelativeLink60, expr: &charClassMatcher{ - pos: position{line: 672, col: 28, offset: 21687}, + pos: position{line: 679, col: 28, offset: 21957}, val: "[A-Za-z]", ranges: []rune{'A', 'Z', 'a', 'z'}, ignoreCase: false, @@ -24790,12 +25017,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 674, col: 9, offset: 21741}, + pos: position{line: 681, col: 9, offset: 22011}, run: (*parser).callonRelativeLink62, expr: &oneOrMoreExpr{ - pos: position{line: 674, col: 9, offset: 21741}, + pos: position{line: 681, col: 9, offset: 22011}, expr: &charClassMatcher{ - pos: position{line: 674, col: 9, offset: 21741}, + pos: position{line: 681, col: 9, offset: 22011}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -24812,7 +25039,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 664, col: 78, offset: 21397}, + pos: position{line: 671, col: 78, offset: 21667}, val: "}", ignoreCase: false, want: "\"}\"", @@ -24821,19 +25048,19 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 668, col: 25, offset: 21515}, + pos: position{line: 675, col: 25, offset: 21785}, run: (*parser).callonRelativeLink66, expr: &seqExpr{ - pos: position{line: 668, col: 25, offset: 21515}, + pos: position{line: 675, col: 25, offset: 21785}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 668, col: 25, offset: 21515}, + pos: position{line: 675, col: 25, offset: 21785}, val: "{counter2:", ignoreCase: false, want: "\"{counter2:\"", }, &labeledExpr{ - pos: position{line: 668, col: 38, offset: 21528}, + pos: position{line: 675, col: 38, offset: 21798}, label: "name", expr: &actionExpr{ pos: position{line: 324, col: 18, offset: 10072}, @@ -24867,33 +25094,33 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 668, col: 57, offset: 21547}, + pos: position{line: 675, col: 57, offset: 21817}, label: "start", expr: &zeroOrOneExpr{ - pos: position{line: 668, col: 63, offset: 21553}, + pos: position{line: 675, col: 63, offset: 21823}, expr: &actionExpr{ - pos: position{line: 672, col: 17, offset: 21676}, + pos: position{line: 679, col: 17, offset: 21946}, run: (*parser).callonRelativeLink77, expr: &seqExpr{ - pos: position{line: 672, col: 17, offset: 21676}, + pos: position{line: 679, col: 17, offset: 21946}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 672, col: 17, offset: 21676}, + pos: position{line: 679, col: 17, offset: 21946}, val: ":", ignoreCase: false, want: "\":\"", }, &labeledExpr{ - pos: position{line: 672, col: 21, offset: 21680}, + pos: position{line: 679, col: 21, offset: 21950}, label: "start", expr: &choiceExpr{ - pos: position{line: 672, col: 28, offset: 21687}, + pos: position{line: 679, col: 28, offset: 21957}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 672, col: 28, offset: 21687}, + pos: position{line: 679, col: 28, offset: 21957}, run: (*parser).callonRelativeLink82, expr: &charClassMatcher{ - pos: position{line: 672, col: 28, offset: 21687}, + pos: position{line: 679, col: 28, offset: 21957}, val: "[A-Za-z]", ranges: []rune{'A', 'Z', 'a', 'z'}, ignoreCase: false, @@ -24901,12 +25128,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 674, col: 9, offset: 21741}, + pos: position{line: 681, col: 9, offset: 22011}, run: (*parser).callonRelativeLink84, expr: &oneOrMoreExpr{ - pos: position{line: 674, col: 9, offset: 21741}, + pos: position{line: 681, col: 9, offset: 22011}, expr: &charClassMatcher{ - pos: position{line: 674, col: 9, offset: 21741}, + pos: position{line: 681, col: 9, offset: 22011}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -24923,7 +25150,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 668, col: 79, offset: 21569}, + pos: position{line: 675, col: 79, offset: 21839}, val: "}", ignoreCase: false, want: "\"}\"", @@ -24932,19 +25159,19 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 650, col: 5, offset: 20820}, + pos: position{line: 657, col: 5, offset: 21090}, run: (*parser).callonRelativeLink88, expr: &seqExpr{ - pos: position{line: 650, col: 5, offset: 20820}, + pos: position{line: 657, col: 5, offset: 21090}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 650, col: 5, offset: 20820}, + pos: position{line: 657, col: 5, offset: 21090}, val: "\\{", ignoreCase: false, want: "\"\\\\{\"", }, &labeledExpr{ - pos: position{line: 650, col: 13, offset: 20828}, + pos: position{line: 657, col: 13, offset: 21098}, label: "name", expr: &actionExpr{ pos: position{line: 324, col: 18, offset: 10072}, @@ -24978,7 +25205,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 650, col: 32, offset: 20847}, + pos: position{line: 657, col: 32, offset: 21117}, val: "}", ignoreCase: false, want: "\"}\"", @@ -24987,19 +25214,19 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 657, col: 5, offset: 21088}, + pos: position{line: 664, col: 5, offset: 21358}, run: (*parser).callonRelativeLink98, expr: &seqExpr{ - pos: position{line: 657, col: 5, offset: 21088}, + pos: position{line: 664, col: 5, offset: 21358}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 657, col: 5, offset: 21088}, + pos: position{line: 664, col: 5, offset: 21358}, val: "{", ignoreCase: false, want: "\"{\"", }, &labeledExpr{ - pos: position{line: 657, col: 9, offset: 21092}, + pos: position{line: 664, col: 9, offset: 21362}, label: "name", expr: &actionExpr{ pos: position{line: 324, col: 18, offset: 10072}, @@ -25033,7 +25260,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 657, col: 28, offset: 21111}, + pos: position{line: 664, col: 28, offset: 21381}, val: "}", ignoreCase: false, want: "\"}\"", @@ -25048,49 +25275,49 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2859, col: 5, offset: 93679}, + pos: position{line: 2745, col: 5, offset: 90112}, run: (*parser).callonRelativeLink108, expr: &seqExpr{ - pos: position{line: 2859, col: 5, offset: 93679}, + pos: position{line: 2745, col: 5, offset: 90112}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 2859, col: 5, offset: 93679}, + pos: position{line: 2745, col: 5, offset: 90112}, run: (*parser).callonRelativeLink110, }, &labeledExpr{ - pos: position{line: 2862, col: 5, offset: 93755}, + pos: position{line: 2748, col: 5, offset: 90188}, label: "element", expr: &choiceExpr{ - pos: position{line: 2864, col: 9, offset: 93853}, + pos: position{line: 2750, col: 9, offset: 90286}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2864, col: 9, offset: 93853}, + pos: position{line: 2750, col: 9, offset: 90286}, run: (*parser).callonRelativeLink113, expr: &choiceExpr{ - pos: position{line: 692, col: 27, offset: 22395}, + pos: position{line: 699, col: 27, offset: 22665}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 692, col: 27, offset: 22395}, + pos: position{line: 699, col: 27, offset: 22665}, run: (*parser).callonRelativeLink115, expr: &seqExpr{ - pos: position{line: 692, col: 27, offset: 22395}, + pos: position{line: 699, col: 27, offset: 22665}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 692, col: 27, offset: 22395}, + pos: position{line: 699, col: 27, offset: 22665}, val: "<<", ignoreCase: false, want: "\"<<\"", }, &labeledExpr{ - pos: position{line: 692, col: 32, offset: 22400}, + pos: position{line: 699, col: 32, offset: 22670}, label: "id", expr: &actionExpr{ - pos: position{line: 3161, col: 7, offset: 103049}, + pos: position{line: 3057, col: 7, offset: 99686}, run: (*parser).callonRelativeLink119, expr: &oneOrMoreExpr{ - pos: position{line: 3161, col: 7, offset: 103049}, + pos: position{line: 3057, col: 7, offset: 99686}, expr: &charClassMatcher{ - pos: position{line: 3161, col: 7, offset: 103049}, + pos: position{line: 3057, col: 7, offset: 99686}, val: "[^[]<>,]", chars: []rune{'[', ']', '<', '>', ','}, ignoreCase: false, @@ -25100,12 +25327,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 692, col: 40, offset: 22408}, + pos: position{line: 699, col: 40, offset: 22678}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonRelativeLink123, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -25114,27 +25341,27 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 692, col: 47, offset: 22415}, + pos: position{line: 699, col: 47, offset: 22685}, val: ",", ignoreCase: false, want: "\",\"", }, &labeledExpr{ - pos: position{line: 692, col: 51, offset: 22419}, + pos: position{line: 699, col: 51, offset: 22689}, label: "label", expr: &oneOrMoreExpr{ - pos: position{line: 702, col: 24, offset: 22820}, + pos: position{line: 709, col: 24, offset: 23090}, expr: &choiceExpr{ - pos: position{line: 703, col: 5, offset: 22826}, + pos: position{line: 710, col: 5, offset: 23096}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 703, col: 6, offset: 22827}, + pos: position{line: 710, col: 6, offset: 23097}, run: (*parser).callonRelativeLink129, expr: &seqExpr{ - pos: position{line: 703, col: 6, offset: 22827}, + pos: position{line: 710, col: 6, offset: 23097}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 703, col: 6, offset: 22827}, + pos: position{line: 710, col: 6, offset: 23097}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -25142,9 +25369,9 @@ var g = &grammar{ inverted: false, }, &oneOrMoreExpr{ - pos: position{line: 703, col: 14, offset: 22835}, + pos: position{line: 710, col: 14, offset: 23105}, expr: &charClassMatcher{ - pos: position{line: 703, col: 14, offset: 22835}, + pos: position{line: 710, col: 14, offset: 23105}, val: "[^\\r\\n{<>]", chars: []rune{'\r', '\n', '{', '<', '>'}, ignoreCase: false, @@ -25155,19 +25382,19 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 650, col: 5, offset: 20820}, + pos: position{line: 657, col: 5, offset: 21090}, run: (*parser).callonRelativeLink134, expr: &seqExpr{ - pos: position{line: 650, col: 5, offset: 20820}, + pos: position{line: 657, col: 5, offset: 21090}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 650, col: 5, offset: 20820}, + pos: position{line: 657, col: 5, offset: 21090}, val: "\\{", ignoreCase: false, want: "\"\\\\{\"", }, &labeledExpr{ - pos: position{line: 650, col: 13, offset: 20828}, + pos: position{line: 657, col: 13, offset: 21098}, label: "name", expr: &actionExpr{ pos: position{line: 324, col: 18, offset: 10072}, @@ -25201,7 +25428,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 650, col: 32, offset: 20847}, + pos: position{line: 657, col: 32, offset: 21117}, val: "}", ignoreCase: false, want: "\"}\"", @@ -25210,19 +25437,19 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 657, col: 5, offset: 21088}, + pos: position{line: 664, col: 5, offset: 21358}, run: (*parser).callonRelativeLink144, expr: &seqExpr{ - pos: position{line: 657, col: 5, offset: 21088}, + pos: position{line: 664, col: 5, offset: 21358}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 657, col: 5, offset: 21088}, + pos: position{line: 664, col: 5, offset: 21358}, val: "{", ignoreCase: false, want: "\"{\"", }, &labeledExpr{ - pos: position{line: 657, col: 9, offset: 21092}, + pos: position{line: 664, col: 9, offset: 21362}, label: "name", expr: &actionExpr{ pos: position{line: 324, col: 18, offset: 10072}, @@ -25256,7 +25483,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 657, col: 28, offset: 21111}, + pos: position{line: 664, col: 28, offset: 21381}, val: "}", ignoreCase: false, want: "\"}\"", @@ -25265,10 +25492,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 707, col: 8, offset: 23061}, + pos: position{line: 714, col: 8, offset: 23331}, run: (*parser).callonRelativeLink154, expr: &litMatcher{ - pos: position{line: 707, col: 8, offset: 23061}, + pos: position{line: 714, col: 8, offset: 23331}, val: "{", ignoreCase: false, want: "\"{\"", @@ -25279,7 +25506,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 692, col: 79, offset: 22447}, + pos: position{line: 699, col: 79, offset: 22717}, val: ">>", ignoreCase: false, want: "\">>\"", @@ -25288,27 +25515,27 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 694, col: 9, offset: 22520}, + pos: position{line: 701, col: 9, offset: 22790}, run: (*parser).callonRelativeLink157, expr: &seqExpr{ - pos: position{line: 694, col: 9, offset: 22520}, + pos: position{line: 701, col: 9, offset: 22790}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 694, col: 9, offset: 22520}, + pos: position{line: 701, col: 9, offset: 22790}, val: "<<", ignoreCase: false, want: "\"<<\"", }, &labeledExpr{ - pos: position{line: 694, col: 14, offset: 22525}, + pos: position{line: 701, col: 14, offset: 22795}, label: "id", expr: &actionExpr{ - pos: position{line: 3161, col: 7, offset: 103049}, + pos: position{line: 3057, col: 7, offset: 99686}, run: (*parser).callonRelativeLink161, expr: &oneOrMoreExpr{ - pos: position{line: 3161, col: 7, offset: 103049}, + pos: position{line: 3057, col: 7, offset: 99686}, expr: &charClassMatcher{ - pos: position{line: 3161, col: 7, offset: 103049}, + pos: position{line: 3057, col: 7, offset: 99686}, val: "[^[]<>,]", chars: []rune{'[', ']', '<', '>', ','}, ignoreCase: false, @@ -25318,7 +25545,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 694, col: 22, offset: 22533}, + pos: position{line: 701, col: 22, offset: 22803}, val: ">>", ignoreCase: false, want: "\">>\"", @@ -25330,10 +25557,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2867, col: 11, offset: 93957}, + pos: position{line: 2753, col: 11, offset: 90390}, run: (*parser).callonRelativeLink165, expr: &charClassMatcher{ - pos: position{line: 2867, col: 12, offset: 93958}, + pos: position{line: 2753, col: 12, offset: 90391}, val: "[<>&]", chars: []rune{'<', '>', '&'}, ignoreCase: false, @@ -25347,10 +25574,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 3155, col: 11, offset: 102893}, + pos: position{line: 3051, col: 11, offset: 99530}, run: (*parser).callonRelativeLink167, expr: &litMatcher{ - pos: position{line: 3155, col: 11, offset: 102893}, + pos: position{line: 3051, col: 11, offset: 99530}, val: "{", ignoreCase: false, want: "\"{\"", @@ -25364,27 +25591,27 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1212, col: 23, offset: 37871}, + pos: position{line: 1219, col: 23, offset: 38141}, run: (*parser).callonRelativeLink169, expr: &seqExpr{ - pos: position{line: 1212, col: 23, offset: 37871}, + pos: position{line: 1219, col: 23, offset: 38141}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1210, col: 32, offset: 37839}, + pos: position{line: 1217, col: 32, offset: 38109}, val: "�", ignoreCase: false, want: "\"�\"", }, &labeledExpr{ - pos: position{line: 1212, col: 51, offset: 37899}, + pos: position{line: 1219, col: 51, offset: 38169}, label: "ref", expr: &actionExpr{ - pos: position{line: 1212, col: 56, offset: 37904}, + pos: position{line: 1219, col: 56, offset: 38174}, run: (*parser).callonRelativeLink173, expr: &oneOrMoreExpr{ - pos: position{line: 1212, col: 56, offset: 37904}, + pos: position{line: 1219, col: 56, offset: 38174}, expr: &charClassMatcher{ - pos: position{line: 1212, col: 56, offset: 37904}, + pos: position{line: 1219, col: 56, offset: 38174}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -25394,7 +25621,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1210, col: 32, offset: 37839}, + pos: position{line: 1217, col: 32, offset: 38109}, val: "�", ignoreCase: false, want: "\"�\"", @@ -25411,10 +25638,10 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1441, col: 32, offset: 47109}, + pos: position{line: 1448, col: 32, offset: 47364}, label: "attributes", expr: &ruleRefExpr{ - pos: position{line: 1441, col: 44, offset: 47121}, + pos: position{line: 1448, col: 44, offset: 47376}, name: "InlineAttributes", }, }, @@ -25422,60 +25649,60 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1446, col: 5, offset: 47253}, + pos: position{line: 1453, col: 5, offset: 47508}, run: (*parser).callonRelativeLink179, expr: &seqExpr{ - pos: position{line: 1446, col: 5, offset: 47253}, + pos: position{line: 1453, col: 5, offset: 47508}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1446, col: 5, offset: 47253}, + pos: position{line: 1453, col: 5, offset: 47508}, val: "link:", ignoreCase: false, want: "\"link:\"", }, &labeledExpr{ - pos: position{line: 1446, col: 13, offset: 47261}, + pos: position{line: 1453, col: 13, offset: 47516}, label: "url", expr: &actionExpr{ - pos: position{line: 3136, col: 13, offset: 102133}, + pos: position{line: 3032, col: 13, offset: 98770}, run: (*parser).callonRelativeLink183, expr: &seqExpr{ - pos: position{line: 3136, col: 13, offset: 102133}, + pos: position{line: 3032, col: 13, offset: 98770}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 3136, col: 13, offset: 102133}, + pos: position{line: 3032, col: 13, offset: 98770}, label: "scheme", expr: &zeroOrOneExpr{ - pos: position{line: 3136, col: 20, offset: 102140}, + pos: position{line: 3032, col: 20, offset: 98777}, expr: &choiceExpr{ - pos: position{line: 3144, col: 11, offset: 102402}, + pos: position{line: 3040, col: 11, offset: 99039}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3144, col: 11, offset: 102402}, + pos: position{line: 3040, col: 11, offset: 99039}, val: "http://", ignoreCase: false, want: "\"http://\"", }, &litMatcher{ - pos: position{line: 3144, col: 23, offset: 102414}, + pos: position{line: 3040, col: 23, offset: 99051}, val: "https://", ignoreCase: false, want: "\"https://\"", }, &litMatcher{ - pos: position{line: 3144, col: 36, offset: 102427}, + pos: position{line: 3040, col: 36, offset: 99064}, val: "ftp://", ignoreCase: false, want: "\"ftp://\"", }, &litMatcher{ - pos: position{line: 3144, col: 47, offset: 102438}, + pos: position{line: 3040, col: 47, offset: 99075}, val: "irc://", ignoreCase: false, want: "\"irc://\"", }, &litMatcher{ - pos: position{line: 3144, col: 58, offset: 102449}, + pos: position{line: 3040, col: 58, offset: 99086}, val: "mailto:", ignoreCase: false, want: "\"mailto:\"", @@ -25485,43 +25712,43 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 3136, col: 30, offset: 102150}, + pos: position{line: 3032, col: 30, offset: 98787}, label: "path", expr: &oneOrMoreExpr{ - pos: position{line: 3136, col: 35, offset: 102155}, + pos: position{line: 3032, col: 35, offset: 98792}, expr: &choiceExpr{ - pos: position{line: 3136, col: 36, offset: 102156}, + pos: position{line: 3032, col: 36, offset: 98793}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3147, col: 5, offset: 102477}, + pos: position{line: 3043, col: 5, offset: 99114}, run: (*parser).callonRelativeLink196, expr: &seqExpr{ - pos: position{line: 3147, col: 5, offset: 102477}, + pos: position{line: 3043, col: 5, offset: 99114}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 3147, col: 5, offset: 102477}, + pos: position{line: 3043, col: 5, offset: 99114}, expr: &litMatcher{ - pos: position{line: 3147, col: 6, offset: 102478}, + pos: position{line: 3043, col: 6, offset: 99115}, val: "[", ignoreCase: false, want: "\"[\"", }, }, &labeledExpr{ - pos: position{line: 3148, col: 5, offset: 102502}, + pos: position{line: 3044, col: 5, offset: 99139}, label: "elements", expr: &oneOrMoreExpr{ - pos: position{line: 3148, col: 14, offset: 102511}, + pos: position{line: 3044, col: 14, offset: 99148}, expr: &choiceExpr{ - pos: position{line: 3149, col: 9, offset: 102521}, + pos: position{line: 3045, col: 9, offset: 99158}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3149, col: 9, offset: 102521}, + pos: position{line: 3045, col: 9, offset: 99158}, run: (*parser).callonRelativeLink203, expr: &oneOrMoreExpr{ - pos: position{line: 3149, col: 9, offset: 102521}, + pos: position{line: 3045, col: 9, offset: 99158}, expr: &charClassMatcher{ - pos: position{line: 3149, col: 10, offset: 102522}, + pos: position{line: 3045, col: 10, offset: 99159}, val: "[^\\r\\n[]�{.,;?!<> ]", chars: []rune{'\r', '\n', '[', ']', '�', '{', '.', ',', ';', '?', '!', '<', '>', ' '}, ignoreCase: false, @@ -25530,13 +25757,13 @@ var g = &grammar{ }, }, &seqExpr{ - pos: position{line: 3152, col: 11, offset: 102787}, + pos: position{line: 3048, col: 11, offset: 99424}, exprs: []interface{}{ &actionExpr{ - pos: position{line: 3122, col: 25, offset: 101758}, + pos: position{line: 3018, col: 25, offset: 98395}, run: (*parser).callonRelativeLink207, expr: &charClassMatcher{ - pos: position{line: 3122, col: 25, offset: 101758}, + pos: position{line: 3018, col: 25, offset: 98395}, val: "[.,;?!]", chars: []rune{'.', ',', ';', '?', '!'}, ignoreCase: false, @@ -25544,23 +25771,23 @@ var g = &grammar{ }, }, &andExpr{ - pos: position{line: 3152, col: 32, offset: 102808}, + pos: position{line: 3048, col: 32, offset: 99445}, expr: ¬Expr{ - pos: position{line: 3152, col: 34, offset: 102810}, + pos: position{line: 3048, col: 34, offset: 99447}, expr: &choiceExpr{ - pos: position{line: 3152, col: 36, offset: 102812}, + pos: position{line: 3048, col: 36, offset: 99449}, alternatives: []interface{}{ ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonRelativeLink214, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -25574,35 +25801,35 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 641, col: 5, offset: 20613}, + pos: position{line: 648, col: 5, offset: 20883}, run: (*parser).callonRelativeLink216, expr: &seqExpr{ - pos: position{line: 641, col: 5, offset: 20613}, + pos: position{line: 648, col: 5, offset: 20883}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 641, col: 5, offset: 20613}, + pos: position{line: 648, col: 5, offset: 20883}, run: (*parser).callonRelativeLink218, }, &labeledExpr{ - pos: position{line: 644, col: 5, offset: 20682}, + pos: position{line: 651, col: 5, offset: 20952}, label: "element", expr: &choiceExpr{ - pos: position{line: 644, col: 14, offset: 20691}, + pos: position{line: 651, col: 14, offset: 20961}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 664, col: 25, offset: 21344}, + pos: position{line: 671, col: 25, offset: 21614}, run: (*parser).callonRelativeLink221, expr: &seqExpr{ - pos: position{line: 664, col: 25, offset: 21344}, + pos: position{line: 671, col: 25, offset: 21614}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 664, col: 25, offset: 21344}, + pos: position{line: 671, col: 25, offset: 21614}, val: "{counter:", ignoreCase: false, want: "\"{counter:\"", }, &labeledExpr{ - pos: position{line: 664, col: 37, offset: 21356}, + pos: position{line: 671, col: 37, offset: 21626}, label: "name", expr: &actionExpr{ pos: position{line: 324, col: 18, offset: 10072}, @@ -25636,33 +25863,33 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 664, col: 56, offset: 21375}, + pos: position{line: 671, col: 56, offset: 21645}, label: "start", expr: &zeroOrOneExpr{ - pos: position{line: 664, col: 62, offset: 21381}, + pos: position{line: 671, col: 62, offset: 21651}, expr: &actionExpr{ - pos: position{line: 672, col: 17, offset: 21676}, + pos: position{line: 679, col: 17, offset: 21946}, run: (*parser).callonRelativeLink232, expr: &seqExpr{ - pos: position{line: 672, col: 17, offset: 21676}, + pos: position{line: 679, col: 17, offset: 21946}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 672, col: 17, offset: 21676}, + pos: position{line: 679, col: 17, offset: 21946}, val: ":", ignoreCase: false, want: "\":\"", }, &labeledExpr{ - pos: position{line: 672, col: 21, offset: 21680}, + pos: position{line: 679, col: 21, offset: 21950}, label: "start", expr: &choiceExpr{ - pos: position{line: 672, col: 28, offset: 21687}, + pos: position{line: 679, col: 28, offset: 21957}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 672, col: 28, offset: 21687}, + pos: position{line: 679, col: 28, offset: 21957}, run: (*parser).callonRelativeLink237, expr: &charClassMatcher{ - pos: position{line: 672, col: 28, offset: 21687}, + pos: position{line: 679, col: 28, offset: 21957}, val: "[A-Za-z]", ranges: []rune{'A', 'Z', 'a', 'z'}, ignoreCase: false, @@ -25670,12 +25897,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 674, col: 9, offset: 21741}, + pos: position{line: 681, col: 9, offset: 22011}, run: (*parser).callonRelativeLink239, expr: &oneOrMoreExpr{ - pos: position{line: 674, col: 9, offset: 21741}, + pos: position{line: 681, col: 9, offset: 22011}, expr: &charClassMatcher{ - pos: position{line: 674, col: 9, offset: 21741}, + pos: position{line: 681, col: 9, offset: 22011}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -25692,7 +25919,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 664, col: 78, offset: 21397}, + pos: position{line: 671, col: 78, offset: 21667}, val: "}", ignoreCase: false, want: "\"}\"", @@ -25701,19 +25928,19 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 668, col: 25, offset: 21515}, + pos: position{line: 675, col: 25, offset: 21785}, run: (*parser).callonRelativeLink243, expr: &seqExpr{ - pos: position{line: 668, col: 25, offset: 21515}, + pos: position{line: 675, col: 25, offset: 21785}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 668, col: 25, offset: 21515}, + pos: position{line: 675, col: 25, offset: 21785}, val: "{counter2:", ignoreCase: false, want: "\"{counter2:\"", }, &labeledExpr{ - pos: position{line: 668, col: 38, offset: 21528}, + pos: position{line: 675, col: 38, offset: 21798}, label: "name", expr: &actionExpr{ pos: position{line: 324, col: 18, offset: 10072}, @@ -25747,33 +25974,33 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 668, col: 57, offset: 21547}, + pos: position{line: 675, col: 57, offset: 21817}, label: "start", expr: &zeroOrOneExpr{ - pos: position{line: 668, col: 63, offset: 21553}, + pos: position{line: 675, col: 63, offset: 21823}, expr: &actionExpr{ - pos: position{line: 672, col: 17, offset: 21676}, + pos: position{line: 679, col: 17, offset: 21946}, run: (*parser).callonRelativeLink254, expr: &seqExpr{ - pos: position{line: 672, col: 17, offset: 21676}, + pos: position{line: 679, col: 17, offset: 21946}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 672, col: 17, offset: 21676}, + pos: position{line: 679, col: 17, offset: 21946}, val: ":", ignoreCase: false, want: "\":\"", }, &labeledExpr{ - pos: position{line: 672, col: 21, offset: 21680}, + pos: position{line: 679, col: 21, offset: 21950}, label: "start", expr: &choiceExpr{ - pos: position{line: 672, col: 28, offset: 21687}, + pos: position{line: 679, col: 28, offset: 21957}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 672, col: 28, offset: 21687}, + pos: position{line: 679, col: 28, offset: 21957}, run: (*parser).callonRelativeLink259, expr: &charClassMatcher{ - pos: position{line: 672, col: 28, offset: 21687}, + pos: position{line: 679, col: 28, offset: 21957}, val: "[A-Za-z]", ranges: []rune{'A', 'Z', 'a', 'z'}, ignoreCase: false, @@ -25781,12 +26008,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 674, col: 9, offset: 21741}, + pos: position{line: 681, col: 9, offset: 22011}, run: (*parser).callonRelativeLink261, expr: &oneOrMoreExpr{ - pos: position{line: 674, col: 9, offset: 21741}, + pos: position{line: 681, col: 9, offset: 22011}, expr: &charClassMatcher{ - pos: position{line: 674, col: 9, offset: 21741}, + pos: position{line: 681, col: 9, offset: 22011}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -25803,7 +26030,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 668, col: 79, offset: 21569}, + pos: position{line: 675, col: 79, offset: 21839}, val: "}", ignoreCase: false, want: "\"}\"", @@ -25812,19 +26039,19 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 650, col: 5, offset: 20820}, + pos: position{line: 657, col: 5, offset: 21090}, run: (*parser).callonRelativeLink265, expr: &seqExpr{ - pos: position{line: 650, col: 5, offset: 20820}, + pos: position{line: 657, col: 5, offset: 21090}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 650, col: 5, offset: 20820}, + pos: position{line: 657, col: 5, offset: 21090}, val: "\\{", ignoreCase: false, want: "\"\\\\{\"", }, &labeledExpr{ - pos: position{line: 650, col: 13, offset: 20828}, + pos: position{line: 657, col: 13, offset: 21098}, label: "name", expr: &actionExpr{ pos: position{line: 324, col: 18, offset: 10072}, @@ -25858,7 +26085,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 650, col: 32, offset: 20847}, + pos: position{line: 657, col: 32, offset: 21117}, val: "}", ignoreCase: false, want: "\"}\"", @@ -25867,19 +26094,19 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 657, col: 5, offset: 21088}, + pos: position{line: 664, col: 5, offset: 21358}, run: (*parser).callonRelativeLink275, expr: &seqExpr{ - pos: position{line: 657, col: 5, offset: 21088}, + pos: position{line: 664, col: 5, offset: 21358}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 657, col: 5, offset: 21088}, + pos: position{line: 664, col: 5, offset: 21358}, val: "{", ignoreCase: false, want: "\"{\"", }, &labeledExpr{ - pos: position{line: 657, col: 9, offset: 21092}, + pos: position{line: 664, col: 9, offset: 21362}, label: "name", expr: &actionExpr{ pos: position{line: 324, col: 18, offset: 10072}, @@ -25913,7 +26140,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 657, col: 28, offset: 21111}, + pos: position{line: 664, col: 28, offset: 21381}, val: "}", ignoreCase: false, want: "\"}\"", @@ -25928,49 +26155,49 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2859, col: 5, offset: 93679}, + pos: position{line: 2745, col: 5, offset: 90112}, run: (*parser).callonRelativeLink285, expr: &seqExpr{ - pos: position{line: 2859, col: 5, offset: 93679}, + pos: position{line: 2745, col: 5, offset: 90112}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 2859, col: 5, offset: 93679}, + pos: position{line: 2745, col: 5, offset: 90112}, run: (*parser).callonRelativeLink287, }, &labeledExpr{ - pos: position{line: 2862, col: 5, offset: 93755}, + pos: position{line: 2748, col: 5, offset: 90188}, label: "element", expr: &choiceExpr{ - pos: position{line: 2864, col: 9, offset: 93853}, + pos: position{line: 2750, col: 9, offset: 90286}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2864, col: 9, offset: 93853}, + pos: position{line: 2750, col: 9, offset: 90286}, run: (*parser).callonRelativeLink290, expr: &choiceExpr{ - pos: position{line: 692, col: 27, offset: 22395}, + pos: position{line: 699, col: 27, offset: 22665}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 692, col: 27, offset: 22395}, + pos: position{line: 699, col: 27, offset: 22665}, run: (*parser).callonRelativeLink292, expr: &seqExpr{ - pos: position{line: 692, col: 27, offset: 22395}, + pos: position{line: 699, col: 27, offset: 22665}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 692, col: 27, offset: 22395}, + pos: position{line: 699, col: 27, offset: 22665}, val: "<<", ignoreCase: false, want: "\"<<\"", }, &labeledExpr{ - pos: position{line: 692, col: 32, offset: 22400}, + pos: position{line: 699, col: 32, offset: 22670}, label: "id", expr: &actionExpr{ - pos: position{line: 3161, col: 7, offset: 103049}, + pos: position{line: 3057, col: 7, offset: 99686}, run: (*parser).callonRelativeLink296, expr: &oneOrMoreExpr{ - pos: position{line: 3161, col: 7, offset: 103049}, + pos: position{line: 3057, col: 7, offset: 99686}, expr: &charClassMatcher{ - pos: position{line: 3161, col: 7, offset: 103049}, + pos: position{line: 3057, col: 7, offset: 99686}, val: "[^[]<>,]", chars: []rune{'[', ']', '<', '>', ','}, ignoreCase: false, @@ -25980,12 +26207,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 692, col: 40, offset: 22408}, + pos: position{line: 699, col: 40, offset: 22678}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonRelativeLink300, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -25994,27 +26221,27 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 692, col: 47, offset: 22415}, + pos: position{line: 699, col: 47, offset: 22685}, val: ",", ignoreCase: false, want: "\",\"", }, &labeledExpr{ - pos: position{line: 692, col: 51, offset: 22419}, + pos: position{line: 699, col: 51, offset: 22689}, label: "label", expr: &oneOrMoreExpr{ - pos: position{line: 702, col: 24, offset: 22820}, + pos: position{line: 709, col: 24, offset: 23090}, expr: &choiceExpr{ - pos: position{line: 703, col: 5, offset: 22826}, + pos: position{line: 710, col: 5, offset: 23096}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 703, col: 6, offset: 22827}, + pos: position{line: 710, col: 6, offset: 23097}, run: (*parser).callonRelativeLink306, expr: &seqExpr{ - pos: position{line: 703, col: 6, offset: 22827}, + pos: position{line: 710, col: 6, offset: 23097}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 703, col: 6, offset: 22827}, + pos: position{line: 710, col: 6, offset: 23097}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -26022,9 +26249,9 @@ var g = &grammar{ inverted: false, }, &oneOrMoreExpr{ - pos: position{line: 703, col: 14, offset: 22835}, + pos: position{line: 710, col: 14, offset: 23105}, expr: &charClassMatcher{ - pos: position{line: 703, col: 14, offset: 22835}, + pos: position{line: 710, col: 14, offset: 23105}, val: "[^\\r\\n{<>]", chars: []rune{'\r', '\n', '{', '<', '>'}, ignoreCase: false, @@ -26035,19 +26262,19 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 650, col: 5, offset: 20820}, + pos: position{line: 657, col: 5, offset: 21090}, run: (*parser).callonRelativeLink311, expr: &seqExpr{ - pos: position{line: 650, col: 5, offset: 20820}, + pos: position{line: 657, col: 5, offset: 21090}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 650, col: 5, offset: 20820}, + pos: position{line: 657, col: 5, offset: 21090}, val: "\\{", ignoreCase: false, want: "\"\\\\{\"", }, &labeledExpr{ - pos: position{line: 650, col: 13, offset: 20828}, + pos: position{line: 657, col: 13, offset: 21098}, label: "name", expr: &actionExpr{ pos: position{line: 324, col: 18, offset: 10072}, @@ -26081,7 +26308,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 650, col: 32, offset: 20847}, + pos: position{line: 657, col: 32, offset: 21117}, val: "}", ignoreCase: false, want: "\"}\"", @@ -26090,19 +26317,19 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 657, col: 5, offset: 21088}, + pos: position{line: 664, col: 5, offset: 21358}, run: (*parser).callonRelativeLink321, expr: &seqExpr{ - pos: position{line: 657, col: 5, offset: 21088}, + pos: position{line: 664, col: 5, offset: 21358}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 657, col: 5, offset: 21088}, + pos: position{line: 664, col: 5, offset: 21358}, val: "{", ignoreCase: false, want: "\"{\"", }, &labeledExpr{ - pos: position{line: 657, col: 9, offset: 21092}, + pos: position{line: 664, col: 9, offset: 21362}, label: "name", expr: &actionExpr{ pos: position{line: 324, col: 18, offset: 10072}, @@ -26136,7 +26363,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 657, col: 28, offset: 21111}, + pos: position{line: 664, col: 28, offset: 21381}, val: "}", ignoreCase: false, want: "\"}\"", @@ -26145,10 +26372,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 707, col: 8, offset: 23061}, + pos: position{line: 714, col: 8, offset: 23331}, run: (*parser).callonRelativeLink331, expr: &litMatcher{ - pos: position{line: 707, col: 8, offset: 23061}, + pos: position{line: 714, col: 8, offset: 23331}, val: "{", ignoreCase: false, want: "\"{\"", @@ -26159,7 +26386,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 692, col: 79, offset: 22447}, + pos: position{line: 699, col: 79, offset: 22717}, val: ">>", ignoreCase: false, want: "\">>\"", @@ -26168,27 +26395,27 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 694, col: 9, offset: 22520}, + pos: position{line: 701, col: 9, offset: 22790}, run: (*parser).callonRelativeLink334, expr: &seqExpr{ - pos: position{line: 694, col: 9, offset: 22520}, + pos: position{line: 701, col: 9, offset: 22790}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 694, col: 9, offset: 22520}, + pos: position{line: 701, col: 9, offset: 22790}, val: "<<", ignoreCase: false, want: "\"<<\"", }, &labeledExpr{ - pos: position{line: 694, col: 14, offset: 22525}, + pos: position{line: 701, col: 14, offset: 22795}, label: "id", expr: &actionExpr{ - pos: position{line: 3161, col: 7, offset: 103049}, + pos: position{line: 3057, col: 7, offset: 99686}, run: (*parser).callonRelativeLink338, expr: &oneOrMoreExpr{ - pos: position{line: 3161, col: 7, offset: 103049}, + pos: position{line: 3057, col: 7, offset: 99686}, expr: &charClassMatcher{ - pos: position{line: 3161, col: 7, offset: 103049}, + pos: position{line: 3057, col: 7, offset: 99686}, val: "[^[]<>,]", chars: []rune{'[', ']', '<', '>', ','}, ignoreCase: false, @@ -26198,7 +26425,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 694, col: 22, offset: 22533}, + pos: position{line: 701, col: 22, offset: 22803}, val: ">>", ignoreCase: false, want: "\">>\"", @@ -26210,10 +26437,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2867, col: 11, offset: 93957}, + pos: position{line: 2753, col: 11, offset: 90390}, run: (*parser).callonRelativeLink342, expr: &charClassMatcher{ - pos: position{line: 2867, col: 12, offset: 93958}, + pos: position{line: 2753, col: 12, offset: 90391}, val: "[<>&]", chars: []rune{'<', '>', '&'}, ignoreCase: false, @@ -26227,10 +26454,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 3155, col: 11, offset: 102893}, + pos: position{line: 3051, col: 11, offset: 99530}, run: (*parser).callonRelativeLink344, expr: &litMatcher{ - pos: position{line: 3155, col: 11, offset: 102893}, + pos: position{line: 3051, col: 11, offset: 99530}, val: "{", ignoreCase: false, want: "\"{\"", @@ -26244,27 +26471,27 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1212, col: 23, offset: 37871}, + pos: position{line: 1219, col: 23, offset: 38141}, run: (*parser).callonRelativeLink346, expr: &seqExpr{ - pos: position{line: 1212, col: 23, offset: 37871}, + pos: position{line: 1219, col: 23, offset: 38141}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1210, col: 32, offset: 37839}, + pos: position{line: 1217, col: 32, offset: 38109}, val: "�", ignoreCase: false, want: "\"�\"", }, &labeledExpr{ - pos: position{line: 1212, col: 51, offset: 37899}, + pos: position{line: 1219, col: 51, offset: 38169}, label: "ref", expr: &actionExpr{ - pos: position{line: 1212, col: 56, offset: 37904}, + pos: position{line: 1219, col: 56, offset: 38174}, run: (*parser).callonRelativeLink350, expr: &oneOrMoreExpr{ - pos: position{line: 1212, col: 56, offset: 37904}, + pos: position{line: 1219, col: 56, offset: 38174}, expr: &charClassMatcher{ - pos: position{line: 1212, col: 56, offset: 37904}, + pos: position{line: 1219, col: 56, offset: 38174}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -26274,7 +26501,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1210, col: 32, offset: 37839}, + pos: position{line: 1217, col: 32, offset: 38109}, val: "�", ignoreCase: false, want: "\"�\"", @@ -26291,10 +26518,10 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1446, col: 28, offset: 47276}, + pos: position{line: 1453, col: 28, offset: 47531}, label: "attributes", expr: &ruleRefExpr{ - pos: position{line: 1446, col: 40, offset: 47288}, + pos: position{line: 1453, col: 40, offset: 47543}, name: "InlineAttributes", }, }, @@ -26306,72 +26533,72 @@ var g = &grammar{ }, { name: "ExternalLink", - pos: position{line: 1450, col: 1, offset: 47404}, + pos: position{line: 1457, col: 1, offset: 47659}, expr: &choiceExpr{ - pos: position{line: 1452, col: 5, offset: 47440}, + pos: position{line: 1459, col: 5, offset: 47695}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 1452, col: 5, offset: 47440}, + pos: position{line: 1459, col: 5, offset: 47695}, run: (*parser).callonExternalLink2, expr: &seqExpr{ - pos: position{line: 1452, col: 5, offset: 47440}, + pos: position{line: 1459, col: 5, offset: 47695}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1452, col: 5, offset: 47440}, + pos: position{line: 1459, col: 5, offset: 47695}, val: "\\", ignoreCase: false, want: "\"\\\\\"", }, &labeledExpr{ - pos: position{line: 1452, col: 9, offset: 47444}, + pos: position{line: 1459, col: 9, offset: 47699}, label: "url", expr: &actionExpr{ - pos: position{line: 3140, col: 23, offset: 102282}, + pos: position{line: 3036, col: 23, offset: 98919}, run: (*parser).callonExternalLink6, expr: &seqExpr{ - pos: position{line: 3140, col: 23, offset: 102282}, + pos: position{line: 3036, col: 23, offset: 98919}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 3140, col: 23, offset: 102282}, + pos: position{line: 3036, col: 23, offset: 98919}, expr: &litMatcher{ - pos: position{line: 3140, col: 24, offset: 102283}, + pos: position{line: 3036, col: 24, offset: 98920}, val: "[", ignoreCase: false, want: "\"[\"", }, }, &labeledExpr{ - pos: position{line: 3140, col: 28, offset: 102287}, + pos: position{line: 3036, col: 28, offset: 98924}, label: "scheme", expr: &choiceExpr{ - pos: position{line: 3144, col: 11, offset: 102402}, + pos: position{line: 3040, col: 11, offset: 99039}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3144, col: 11, offset: 102402}, + pos: position{line: 3040, col: 11, offset: 99039}, val: "http://", ignoreCase: false, want: "\"http://\"", }, &litMatcher{ - pos: position{line: 3144, col: 23, offset: 102414}, + pos: position{line: 3040, col: 23, offset: 99051}, val: "https://", ignoreCase: false, want: "\"https://\"", }, &litMatcher{ - pos: position{line: 3144, col: 36, offset: 102427}, + pos: position{line: 3040, col: 36, offset: 99064}, val: "ftp://", ignoreCase: false, want: "\"ftp://\"", }, &litMatcher{ - pos: position{line: 3144, col: 47, offset: 102438}, + pos: position{line: 3040, col: 47, offset: 99075}, val: "irc://", ignoreCase: false, want: "\"irc://\"", }, &litMatcher{ - pos: position{line: 3144, col: 58, offset: 102449}, + pos: position{line: 3040, col: 58, offset: 99086}, val: "mailto:", ignoreCase: false, want: "\"mailto:\"", @@ -26380,40 +26607,40 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 3140, col: 44, offset: 102303}, + pos: position{line: 3036, col: 44, offset: 98940}, label: "path", expr: &oneOrMoreExpr{ - pos: position{line: 3140, col: 49, offset: 102308}, + pos: position{line: 3036, col: 49, offset: 98945}, expr: &actionExpr{ - pos: position{line: 3147, col: 5, offset: 102477}, + pos: position{line: 3043, col: 5, offset: 99114}, run: (*parser).callonExternalLink19, expr: &seqExpr{ - pos: position{line: 3147, col: 5, offset: 102477}, + pos: position{line: 3043, col: 5, offset: 99114}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 3147, col: 5, offset: 102477}, + pos: position{line: 3043, col: 5, offset: 99114}, expr: &litMatcher{ - pos: position{line: 3147, col: 6, offset: 102478}, + pos: position{line: 3043, col: 6, offset: 99115}, val: "[", ignoreCase: false, want: "\"[\"", }, }, &labeledExpr{ - pos: position{line: 3148, col: 5, offset: 102502}, + pos: position{line: 3044, col: 5, offset: 99139}, label: "elements", expr: &oneOrMoreExpr{ - pos: position{line: 3148, col: 14, offset: 102511}, + pos: position{line: 3044, col: 14, offset: 99148}, expr: &choiceExpr{ - pos: position{line: 3149, col: 9, offset: 102521}, + pos: position{line: 3045, col: 9, offset: 99158}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3149, col: 9, offset: 102521}, + pos: position{line: 3045, col: 9, offset: 99158}, run: (*parser).callonExternalLink26, expr: &oneOrMoreExpr{ - pos: position{line: 3149, col: 9, offset: 102521}, + pos: position{line: 3045, col: 9, offset: 99158}, expr: &charClassMatcher{ - pos: position{line: 3149, col: 10, offset: 102522}, + pos: position{line: 3045, col: 10, offset: 99159}, val: "[^\\r\\n[]�{.,;?!<> ]", chars: []rune{'\r', '\n', '[', ']', '�', '{', '.', ',', ';', '?', '!', '<', '>', ' '}, ignoreCase: false, @@ -26422,13 +26649,13 @@ var g = &grammar{ }, }, &seqExpr{ - pos: position{line: 3152, col: 11, offset: 102787}, + pos: position{line: 3048, col: 11, offset: 99424}, exprs: []interface{}{ &actionExpr{ - pos: position{line: 3122, col: 25, offset: 101758}, + pos: position{line: 3018, col: 25, offset: 98395}, run: (*parser).callonExternalLink30, expr: &charClassMatcher{ - pos: position{line: 3122, col: 25, offset: 101758}, + pos: position{line: 3018, col: 25, offset: 98395}, val: "[.,;?!]", chars: []rune{'.', ',', ';', '?', '!'}, ignoreCase: false, @@ -26436,23 +26663,23 @@ var g = &grammar{ }, }, &andExpr{ - pos: position{line: 3152, col: 32, offset: 102808}, + pos: position{line: 3048, col: 32, offset: 99445}, expr: ¬Expr{ - pos: position{line: 3152, col: 34, offset: 102810}, + pos: position{line: 3048, col: 34, offset: 99447}, expr: &choiceExpr{ - pos: position{line: 3152, col: 36, offset: 102812}, + pos: position{line: 3048, col: 36, offset: 99449}, alternatives: []interface{}{ ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonExternalLink37, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -26466,35 +26693,35 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 641, col: 5, offset: 20613}, + pos: position{line: 648, col: 5, offset: 20883}, run: (*parser).callonExternalLink39, expr: &seqExpr{ - pos: position{line: 641, col: 5, offset: 20613}, + pos: position{line: 648, col: 5, offset: 20883}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 641, col: 5, offset: 20613}, + pos: position{line: 648, col: 5, offset: 20883}, run: (*parser).callonExternalLink41, }, &labeledExpr{ - pos: position{line: 644, col: 5, offset: 20682}, + pos: position{line: 651, col: 5, offset: 20952}, label: "element", expr: &choiceExpr{ - pos: position{line: 644, col: 14, offset: 20691}, + pos: position{line: 651, col: 14, offset: 20961}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 664, col: 25, offset: 21344}, + pos: position{line: 671, col: 25, offset: 21614}, run: (*parser).callonExternalLink44, expr: &seqExpr{ - pos: position{line: 664, col: 25, offset: 21344}, + pos: position{line: 671, col: 25, offset: 21614}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 664, col: 25, offset: 21344}, + pos: position{line: 671, col: 25, offset: 21614}, val: "{counter:", ignoreCase: false, want: "\"{counter:\"", }, &labeledExpr{ - pos: position{line: 664, col: 37, offset: 21356}, + pos: position{line: 671, col: 37, offset: 21626}, label: "name", expr: &actionExpr{ pos: position{line: 324, col: 18, offset: 10072}, @@ -26528,33 +26755,33 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 664, col: 56, offset: 21375}, + pos: position{line: 671, col: 56, offset: 21645}, label: "start", expr: &zeroOrOneExpr{ - pos: position{line: 664, col: 62, offset: 21381}, + pos: position{line: 671, col: 62, offset: 21651}, expr: &actionExpr{ - pos: position{line: 672, col: 17, offset: 21676}, + pos: position{line: 679, col: 17, offset: 21946}, run: (*parser).callonExternalLink55, expr: &seqExpr{ - pos: position{line: 672, col: 17, offset: 21676}, + pos: position{line: 679, col: 17, offset: 21946}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 672, col: 17, offset: 21676}, + pos: position{line: 679, col: 17, offset: 21946}, val: ":", ignoreCase: false, want: "\":\"", }, &labeledExpr{ - pos: position{line: 672, col: 21, offset: 21680}, + pos: position{line: 679, col: 21, offset: 21950}, label: "start", expr: &choiceExpr{ - pos: position{line: 672, col: 28, offset: 21687}, + pos: position{line: 679, col: 28, offset: 21957}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 672, col: 28, offset: 21687}, + pos: position{line: 679, col: 28, offset: 21957}, run: (*parser).callonExternalLink60, expr: &charClassMatcher{ - pos: position{line: 672, col: 28, offset: 21687}, + pos: position{line: 679, col: 28, offset: 21957}, val: "[A-Za-z]", ranges: []rune{'A', 'Z', 'a', 'z'}, ignoreCase: false, @@ -26562,12 +26789,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 674, col: 9, offset: 21741}, + pos: position{line: 681, col: 9, offset: 22011}, run: (*parser).callonExternalLink62, expr: &oneOrMoreExpr{ - pos: position{line: 674, col: 9, offset: 21741}, + pos: position{line: 681, col: 9, offset: 22011}, expr: &charClassMatcher{ - pos: position{line: 674, col: 9, offset: 21741}, + pos: position{line: 681, col: 9, offset: 22011}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -26584,7 +26811,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 664, col: 78, offset: 21397}, + pos: position{line: 671, col: 78, offset: 21667}, val: "}", ignoreCase: false, want: "\"}\"", @@ -26593,19 +26820,19 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 668, col: 25, offset: 21515}, + pos: position{line: 675, col: 25, offset: 21785}, run: (*parser).callonExternalLink66, expr: &seqExpr{ - pos: position{line: 668, col: 25, offset: 21515}, + pos: position{line: 675, col: 25, offset: 21785}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 668, col: 25, offset: 21515}, + pos: position{line: 675, col: 25, offset: 21785}, val: "{counter2:", ignoreCase: false, want: "\"{counter2:\"", }, &labeledExpr{ - pos: position{line: 668, col: 38, offset: 21528}, + pos: position{line: 675, col: 38, offset: 21798}, label: "name", expr: &actionExpr{ pos: position{line: 324, col: 18, offset: 10072}, @@ -26639,33 +26866,33 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 668, col: 57, offset: 21547}, + pos: position{line: 675, col: 57, offset: 21817}, label: "start", expr: &zeroOrOneExpr{ - pos: position{line: 668, col: 63, offset: 21553}, + pos: position{line: 675, col: 63, offset: 21823}, expr: &actionExpr{ - pos: position{line: 672, col: 17, offset: 21676}, + pos: position{line: 679, col: 17, offset: 21946}, run: (*parser).callonExternalLink77, expr: &seqExpr{ - pos: position{line: 672, col: 17, offset: 21676}, + pos: position{line: 679, col: 17, offset: 21946}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 672, col: 17, offset: 21676}, + pos: position{line: 679, col: 17, offset: 21946}, val: ":", ignoreCase: false, want: "\":\"", }, &labeledExpr{ - pos: position{line: 672, col: 21, offset: 21680}, + pos: position{line: 679, col: 21, offset: 21950}, label: "start", expr: &choiceExpr{ - pos: position{line: 672, col: 28, offset: 21687}, + pos: position{line: 679, col: 28, offset: 21957}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 672, col: 28, offset: 21687}, + pos: position{line: 679, col: 28, offset: 21957}, run: (*parser).callonExternalLink82, expr: &charClassMatcher{ - pos: position{line: 672, col: 28, offset: 21687}, + pos: position{line: 679, col: 28, offset: 21957}, val: "[A-Za-z]", ranges: []rune{'A', 'Z', 'a', 'z'}, ignoreCase: false, @@ -26673,12 +26900,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 674, col: 9, offset: 21741}, + pos: position{line: 681, col: 9, offset: 22011}, run: (*parser).callonExternalLink84, expr: &oneOrMoreExpr{ - pos: position{line: 674, col: 9, offset: 21741}, + pos: position{line: 681, col: 9, offset: 22011}, expr: &charClassMatcher{ - pos: position{line: 674, col: 9, offset: 21741}, + pos: position{line: 681, col: 9, offset: 22011}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -26695,7 +26922,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 668, col: 79, offset: 21569}, + pos: position{line: 675, col: 79, offset: 21839}, val: "}", ignoreCase: false, want: "\"}\"", @@ -26704,19 +26931,19 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 650, col: 5, offset: 20820}, + pos: position{line: 657, col: 5, offset: 21090}, run: (*parser).callonExternalLink88, expr: &seqExpr{ - pos: position{line: 650, col: 5, offset: 20820}, + pos: position{line: 657, col: 5, offset: 21090}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 650, col: 5, offset: 20820}, + pos: position{line: 657, col: 5, offset: 21090}, val: "\\{", ignoreCase: false, want: "\"\\\\{\"", }, &labeledExpr{ - pos: position{line: 650, col: 13, offset: 20828}, + pos: position{line: 657, col: 13, offset: 21098}, label: "name", expr: &actionExpr{ pos: position{line: 324, col: 18, offset: 10072}, @@ -26750,7 +26977,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 650, col: 32, offset: 20847}, + pos: position{line: 657, col: 32, offset: 21117}, val: "}", ignoreCase: false, want: "\"}\"", @@ -26759,19 +26986,19 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 657, col: 5, offset: 21088}, + pos: position{line: 664, col: 5, offset: 21358}, run: (*parser).callonExternalLink98, expr: &seqExpr{ - pos: position{line: 657, col: 5, offset: 21088}, + pos: position{line: 664, col: 5, offset: 21358}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 657, col: 5, offset: 21088}, + pos: position{line: 664, col: 5, offset: 21358}, val: "{", ignoreCase: false, want: "\"{\"", }, &labeledExpr{ - pos: position{line: 657, col: 9, offset: 21092}, + pos: position{line: 664, col: 9, offset: 21362}, label: "name", expr: &actionExpr{ pos: position{line: 324, col: 18, offset: 10072}, @@ -26805,7 +27032,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 657, col: 28, offset: 21111}, + pos: position{line: 664, col: 28, offset: 21381}, val: "}", ignoreCase: false, want: "\"}\"", @@ -26820,49 +27047,49 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2859, col: 5, offset: 93679}, + pos: position{line: 2745, col: 5, offset: 90112}, run: (*parser).callonExternalLink108, expr: &seqExpr{ - pos: position{line: 2859, col: 5, offset: 93679}, + pos: position{line: 2745, col: 5, offset: 90112}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 2859, col: 5, offset: 93679}, + pos: position{line: 2745, col: 5, offset: 90112}, run: (*parser).callonExternalLink110, }, &labeledExpr{ - pos: position{line: 2862, col: 5, offset: 93755}, + pos: position{line: 2748, col: 5, offset: 90188}, label: "element", expr: &choiceExpr{ - pos: position{line: 2864, col: 9, offset: 93853}, + pos: position{line: 2750, col: 9, offset: 90286}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2864, col: 9, offset: 93853}, + pos: position{line: 2750, col: 9, offset: 90286}, run: (*parser).callonExternalLink113, expr: &choiceExpr{ - pos: position{line: 692, col: 27, offset: 22395}, + pos: position{line: 699, col: 27, offset: 22665}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 692, col: 27, offset: 22395}, + pos: position{line: 699, col: 27, offset: 22665}, run: (*parser).callonExternalLink115, expr: &seqExpr{ - pos: position{line: 692, col: 27, offset: 22395}, + pos: position{line: 699, col: 27, offset: 22665}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 692, col: 27, offset: 22395}, + pos: position{line: 699, col: 27, offset: 22665}, val: "<<", ignoreCase: false, want: "\"<<\"", }, &labeledExpr{ - pos: position{line: 692, col: 32, offset: 22400}, + pos: position{line: 699, col: 32, offset: 22670}, label: "id", expr: &actionExpr{ - pos: position{line: 3161, col: 7, offset: 103049}, + pos: position{line: 3057, col: 7, offset: 99686}, run: (*parser).callonExternalLink119, expr: &oneOrMoreExpr{ - pos: position{line: 3161, col: 7, offset: 103049}, + pos: position{line: 3057, col: 7, offset: 99686}, expr: &charClassMatcher{ - pos: position{line: 3161, col: 7, offset: 103049}, + pos: position{line: 3057, col: 7, offset: 99686}, val: "[^[]<>,]", chars: []rune{'[', ']', '<', '>', ','}, ignoreCase: false, @@ -26872,12 +27099,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 692, col: 40, offset: 22408}, + pos: position{line: 699, col: 40, offset: 22678}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonExternalLink123, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -26886,27 +27113,27 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 692, col: 47, offset: 22415}, + pos: position{line: 699, col: 47, offset: 22685}, val: ",", ignoreCase: false, want: "\",\"", }, &labeledExpr{ - pos: position{line: 692, col: 51, offset: 22419}, + pos: position{line: 699, col: 51, offset: 22689}, label: "label", expr: &oneOrMoreExpr{ - pos: position{line: 702, col: 24, offset: 22820}, + pos: position{line: 709, col: 24, offset: 23090}, expr: &choiceExpr{ - pos: position{line: 703, col: 5, offset: 22826}, + pos: position{line: 710, col: 5, offset: 23096}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 703, col: 6, offset: 22827}, + pos: position{line: 710, col: 6, offset: 23097}, run: (*parser).callonExternalLink129, expr: &seqExpr{ - pos: position{line: 703, col: 6, offset: 22827}, + pos: position{line: 710, col: 6, offset: 23097}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 703, col: 6, offset: 22827}, + pos: position{line: 710, col: 6, offset: 23097}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -26914,9 +27141,9 @@ var g = &grammar{ inverted: false, }, &oneOrMoreExpr{ - pos: position{line: 703, col: 14, offset: 22835}, + pos: position{line: 710, col: 14, offset: 23105}, expr: &charClassMatcher{ - pos: position{line: 703, col: 14, offset: 22835}, + pos: position{line: 710, col: 14, offset: 23105}, val: "[^\\r\\n{<>]", chars: []rune{'\r', '\n', '{', '<', '>'}, ignoreCase: false, @@ -26927,19 +27154,19 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 650, col: 5, offset: 20820}, + pos: position{line: 657, col: 5, offset: 21090}, run: (*parser).callonExternalLink134, expr: &seqExpr{ - pos: position{line: 650, col: 5, offset: 20820}, + pos: position{line: 657, col: 5, offset: 21090}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 650, col: 5, offset: 20820}, + pos: position{line: 657, col: 5, offset: 21090}, val: "\\{", ignoreCase: false, want: "\"\\\\{\"", }, &labeledExpr{ - pos: position{line: 650, col: 13, offset: 20828}, + pos: position{line: 657, col: 13, offset: 21098}, label: "name", expr: &actionExpr{ pos: position{line: 324, col: 18, offset: 10072}, @@ -26973,7 +27200,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 650, col: 32, offset: 20847}, + pos: position{line: 657, col: 32, offset: 21117}, val: "}", ignoreCase: false, want: "\"}\"", @@ -26982,19 +27209,19 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 657, col: 5, offset: 21088}, + pos: position{line: 664, col: 5, offset: 21358}, run: (*parser).callonExternalLink144, expr: &seqExpr{ - pos: position{line: 657, col: 5, offset: 21088}, + pos: position{line: 664, col: 5, offset: 21358}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 657, col: 5, offset: 21088}, + pos: position{line: 664, col: 5, offset: 21358}, val: "{", ignoreCase: false, want: "\"{\"", }, &labeledExpr{ - pos: position{line: 657, col: 9, offset: 21092}, + pos: position{line: 664, col: 9, offset: 21362}, label: "name", expr: &actionExpr{ pos: position{line: 324, col: 18, offset: 10072}, @@ -27028,7 +27255,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 657, col: 28, offset: 21111}, + pos: position{line: 664, col: 28, offset: 21381}, val: "}", ignoreCase: false, want: "\"}\"", @@ -27037,10 +27264,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 707, col: 8, offset: 23061}, + pos: position{line: 714, col: 8, offset: 23331}, run: (*parser).callonExternalLink154, expr: &litMatcher{ - pos: position{line: 707, col: 8, offset: 23061}, + pos: position{line: 714, col: 8, offset: 23331}, val: "{", ignoreCase: false, want: "\"{\"", @@ -27051,7 +27278,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 692, col: 79, offset: 22447}, + pos: position{line: 699, col: 79, offset: 22717}, val: ">>", ignoreCase: false, want: "\">>\"", @@ -27060,27 +27287,27 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 694, col: 9, offset: 22520}, + pos: position{line: 701, col: 9, offset: 22790}, run: (*parser).callonExternalLink157, expr: &seqExpr{ - pos: position{line: 694, col: 9, offset: 22520}, + pos: position{line: 701, col: 9, offset: 22790}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 694, col: 9, offset: 22520}, + pos: position{line: 701, col: 9, offset: 22790}, val: "<<", ignoreCase: false, want: "\"<<\"", }, &labeledExpr{ - pos: position{line: 694, col: 14, offset: 22525}, + pos: position{line: 701, col: 14, offset: 22795}, label: "id", expr: &actionExpr{ - pos: position{line: 3161, col: 7, offset: 103049}, + pos: position{line: 3057, col: 7, offset: 99686}, run: (*parser).callonExternalLink161, expr: &oneOrMoreExpr{ - pos: position{line: 3161, col: 7, offset: 103049}, + pos: position{line: 3057, col: 7, offset: 99686}, expr: &charClassMatcher{ - pos: position{line: 3161, col: 7, offset: 103049}, + pos: position{line: 3057, col: 7, offset: 99686}, val: "[^[]<>,]", chars: []rune{'[', ']', '<', '>', ','}, ignoreCase: false, @@ -27090,7 +27317,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 694, col: 22, offset: 22533}, + pos: position{line: 701, col: 22, offset: 22803}, val: ">>", ignoreCase: false, want: "\">>\"", @@ -27102,10 +27329,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2867, col: 11, offset: 93957}, + pos: position{line: 2753, col: 11, offset: 90390}, run: (*parser).callonExternalLink165, expr: &charClassMatcher{ - pos: position{line: 2867, col: 12, offset: 93958}, + pos: position{line: 2753, col: 12, offset: 90391}, val: "[<>&]", chars: []rune{'<', '>', '&'}, ignoreCase: false, @@ -27119,10 +27346,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 3155, col: 11, offset: 102893}, + pos: position{line: 3051, col: 11, offset: 99530}, run: (*parser).callonExternalLink167, expr: &litMatcher{ - pos: position{line: 3155, col: 11, offset: 102893}, + pos: position{line: 3051, col: 11, offset: 99530}, val: "{", ignoreCase: false, want: "\"{\"", @@ -27142,12 +27369,12 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1452, col: 34, offset: 47469}, + pos: position{line: 1459, col: 34, offset: 47724}, label: "attributes", expr: &zeroOrOneExpr{ - pos: position{line: 1452, col: 45, offset: 47480}, + pos: position{line: 1459, col: 45, offset: 47735}, expr: &ruleRefExpr{ - pos: position{line: 1452, col: 46, offset: 47481}, + pos: position{line: 1459, col: 46, offset: 47736}, name: "InlineAttributes", }, }, @@ -27156,61 +27383,61 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1457, col: 5, offset: 47614}, + pos: position{line: 1464, col: 5, offset: 47869}, run: (*parser).callonExternalLink172, expr: &seqExpr{ - pos: position{line: 1457, col: 5, offset: 47614}, + pos: position{line: 1464, col: 5, offset: 47869}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1457, col: 5, offset: 47614}, + pos: position{line: 1464, col: 5, offset: 47869}, label: "url", expr: &actionExpr{ - pos: position{line: 3140, col: 23, offset: 102282}, + pos: position{line: 3036, col: 23, offset: 98919}, run: (*parser).callonExternalLink175, expr: &seqExpr{ - pos: position{line: 3140, col: 23, offset: 102282}, + pos: position{line: 3036, col: 23, offset: 98919}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 3140, col: 23, offset: 102282}, + pos: position{line: 3036, col: 23, offset: 98919}, expr: &litMatcher{ - pos: position{line: 3140, col: 24, offset: 102283}, + pos: position{line: 3036, col: 24, offset: 98920}, val: "[", ignoreCase: false, want: "\"[\"", }, }, &labeledExpr{ - pos: position{line: 3140, col: 28, offset: 102287}, + pos: position{line: 3036, col: 28, offset: 98924}, label: "scheme", expr: &choiceExpr{ - pos: position{line: 3144, col: 11, offset: 102402}, + pos: position{line: 3040, col: 11, offset: 99039}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3144, col: 11, offset: 102402}, + pos: position{line: 3040, col: 11, offset: 99039}, val: "http://", ignoreCase: false, want: "\"http://\"", }, &litMatcher{ - pos: position{line: 3144, col: 23, offset: 102414}, + pos: position{line: 3040, col: 23, offset: 99051}, val: "https://", ignoreCase: false, want: "\"https://\"", }, &litMatcher{ - pos: position{line: 3144, col: 36, offset: 102427}, + pos: position{line: 3040, col: 36, offset: 99064}, val: "ftp://", ignoreCase: false, want: "\"ftp://\"", }, &litMatcher{ - pos: position{line: 3144, col: 47, offset: 102438}, + pos: position{line: 3040, col: 47, offset: 99075}, val: "irc://", ignoreCase: false, want: "\"irc://\"", }, &litMatcher{ - pos: position{line: 3144, col: 58, offset: 102449}, + pos: position{line: 3040, col: 58, offset: 99086}, val: "mailto:", ignoreCase: false, want: "\"mailto:\"", @@ -27219,40 +27446,40 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 3140, col: 44, offset: 102303}, + pos: position{line: 3036, col: 44, offset: 98940}, label: "path", expr: &oneOrMoreExpr{ - pos: position{line: 3140, col: 49, offset: 102308}, + pos: position{line: 3036, col: 49, offset: 98945}, expr: &actionExpr{ - pos: position{line: 3147, col: 5, offset: 102477}, + pos: position{line: 3043, col: 5, offset: 99114}, run: (*parser).callonExternalLink188, expr: &seqExpr{ - pos: position{line: 3147, col: 5, offset: 102477}, + pos: position{line: 3043, col: 5, offset: 99114}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 3147, col: 5, offset: 102477}, + pos: position{line: 3043, col: 5, offset: 99114}, expr: &litMatcher{ - pos: position{line: 3147, col: 6, offset: 102478}, + pos: position{line: 3043, col: 6, offset: 99115}, val: "[", ignoreCase: false, want: "\"[\"", }, }, &labeledExpr{ - pos: position{line: 3148, col: 5, offset: 102502}, + pos: position{line: 3044, col: 5, offset: 99139}, label: "elements", expr: &oneOrMoreExpr{ - pos: position{line: 3148, col: 14, offset: 102511}, + pos: position{line: 3044, col: 14, offset: 99148}, expr: &choiceExpr{ - pos: position{line: 3149, col: 9, offset: 102521}, + pos: position{line: 3045, col: 9, offset: 99158}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3149, col: 9, offset: 102521}, + pos: position{line: 3045, col: 9, offset: 99158}, run: (*parser).callonExternalLink195, expr: &oneOrMoreExpr{ - pos: position{line: 3149, col: 9, offset: 102521}, + pos: position{line: 3045, col: 9, offset: 99158}, expr: &charClassMatcher{ - pos: position{line: 3149, col: 10, offset: 102522}, + pos: position{line: 3045, col: 10, offset: 99159}, val: "[^\\r\\n[]�{.,;?!<> ]", chars: []rune{'\r', '\n', '[', ']', '�', '{', '.', ',', ';', '?', '!', '<', '>', ' '}, ignoreCase: false, @@ -27261,13 +27488,13 @@ var g = &grammar{ }, }, &seqExpr{ - pos: position{line: 3152, col: 11, offset: 102787}, + pos: position{line: 3048, col: 11, offset: 99424}, exprs: []interface{}{ &actionExpr{ - pos: position{line: 3122, col: 25, offset: 101758}, + pos: position{line: 3018, col: 25, offset: 98395}, run: (*parser).callonExternalLink199, expr: &charClassMatcher{ - pos: position{line: 3122, col: 25, offset: 101758}, + pos: position{line: 3018, col: 25, offset: 98395}, val: "[.,;?!]", chars: []rune{'.', ',', ';', '?', '!'}, ignoreCase: false, @@ -27275,23 +27502,23 @@ var g = &grammar{ }, }, &andExpr{ - pos: position{line: 3152, col: 32, offset: 102808}, + pos: position{line: 3048, col: 32, offset: 99445}, expr: ¬Expr{ - pos: position{line: 3152, col: 34, offset: 102810}, + pos: position{line: 3048, col: 34, offset: 99447}, expr: &choiceExpr{ - pos: position{line: 3152, col: 36, offset: 102812}, + pos: position{line: 3048, col: 36, offset: 99449}, alternatives: []interface{}{ ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonExternalLink206, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -27305,35 +27532,35 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 641, col: 5, offset: 20613}, + pos: position{line: 648, col: 5, offset: 20883}, run: (*parser).callonExternalLink208, expr: &seqExpr{ - pos: position{line: 641, col: 5, offset: 20613}, + pos: position{line: 648, col: 5, offset: 20883}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 641, col: 5, offset: 20613}, + pos: position{line: 648, col: 5, offset: 20883}, run: (*parser).callonExternalLink210, }, &labeledExpr{ - pos: position{line: 644, col: 5, offset: 20682}, + pos: position{line: 651, col: 5, offset: 20952}, label: "element", expr: &choiceExpr{ - pos: position{line: 644, col: 14, offset: 20691}, + pos: position{line: 651, col: 14, offset: 20961}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 664, col: 25, offset: 21344}, + pos: position{line: 671, col: 25, offset: 21614}, run: (*parser).callonExternalLink213, expr: &seqExpr{ - pos: position{line: 664, col: 25, offset: 21344}, + pos: position{line: 671, col: 25, offset: 21614}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 664, col: 25, offset: 21344}, + pos: position{line: 671, col: 25, offset: 21614}, val: "{counter:", ignoreCase: false, want: "\"{counter:\"", }, &labeledExpr{ - pos: position{line: 664, col: 37, offset: 21356}, + pos: position{line: 671, col: 37, offset: 21626}, label: "name", expr: &actionExpr{ pos: position{line: 324, col: 18, offset: 10072}, @@ -27367,33 +27594,33 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 664, col: 56, offset: 21375}, + pos: position{line: 671, col: 56, offset: 21645}, label: "start", expr: &zeroOrOneExpr{ - pos: position{line: 664, col: 62, offset: 21381}, + pos: position{line: 671, col: 62, offset: 21651}, expr: &actionExpr{ - pos: position{line: 672, col: 17, offset: 21676}, + pos: position{line: 679, col: 17, offset: 21946}, run: (*parser).callonExternalLink224, expr: &seqExpr{ - pos: position{line: 672, col: 17, offset: 21676}, + pos: position{line: 679, col: 17, offset: 21946}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 672, col: 17, offset: 21676}, + pos: position{line: 679, col: 17, offset: 21946}, val: ":", ignoreCase: false, want: "\":\"", }, &labeledExpr{ - pos: position{line: 672, col: 21, offset: 21680}, + pos: position{line: 679, col: 21, offset: 21950}, label: "start", expr: &choiceExpr{ - pos: position{line: 672, col: 28, offset: 21687}, + pos: position{line: 679, col: 28, offset: 21957}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 672, col: 28, offset: 21687}, + pos: position{line: 679, col: 28, offset: 21957}, run: (*parser).callonExternalLink229, expr: &charClassMatcher{ - pos: position{line: 672, col: 28, offset: 21687}, + pos: position{line: 679, col: 28, offset: 21957}, val: "[A-Za-z]", ranges: []rune{'A', 'Z', 'a', 'z'}, ignoreCase: false, @@ -27401,12 +27628,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 674, col: 9, offset: 21741}, + pos: position{line: 681, col: 9, offset: 22011}, run: (*parser).callonExternalLink231, expr: &oneOrMoreExpr{ - pos: position{line: 674, col: 9, offset: 21741}, + pos: position{line: 681, col: 9, offset: 22011}, expr: &charClassMatcher{ - pos: position{line: 674, col: 9, offset: 21741}, + pos: position{line: 681, col: 9, offset: 22011}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -27423,7 +27650,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 664, col: 78, offset: 21397}, + pos: position{line: 671, col: 78, offset: 21667}, val: "}", ignoreCase: false, want: "\"}\"", @@ -27432,19 +27659,19 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 668, col: 25, offset: 21515}, + pos: position{line: 675, col: 25, offset: 21785}, run: (*parser).callonExternalLink235, expr: &seqExpr{ - pos: position{line: 668, col: 25, offset: 21515}, + pos: position{line: 675, col: 25, offset: 21785}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 668, col: 25, offset: 21515}, + pos: position{line: 675, col: 25, offset: 21785}, val: "{counter2:", ignoreCase: false, want: "\"{counter2:\"", }, &labeledExpr{ - pos: position{line: 668, col: 38, offset: 21528}, + pos: position{line: 675, col: 38, offset: 21798}, label: "name", expr: &actionExpr{ pos: position{line: 324, col: 18, offset: 10072}, @@ -27478,33 +27705,33 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 668, col: 57, offset: 21547}, + pos: position{line: 675, col: 57, offset: 21817}, label: "start", expr: &zeroOrOneExpr{ - pos: position{line: 668, col: 63, offset: 21553}, + pos: position{line: 675, col: 63, offset: 21823}, expr: &actionExpr{ - pos: position{line: 672, col: 17, offset: 21676}, + pos: position{line: 679, col: 17, offset: 21946}, run: (*parser).callonExternalLink246, expr: &seqExpr{ - pos: position{line: 672, col: 17, offset: 21676}, + pos: position{line: 679, col: 17, offset: 21946}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 672, col: 17, offset: 21676}, + pos: position{line: 679, col: 17, offset: 21946}, val: ":", ignoreCase: false, want: "\":\"", }, &labeledExpr{ - pos: position{line: 672, col: 21, offset: 21680}, + pos: position{line: 679, col: 21, offset: 21950}, label: "start", expr: &choiceExpr{ - pos: position{line: 672, col: 28, offset: 21687}, + pos: position{line: 679, col: 28, offset: 21957}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 672, col: 28, offset: 21687}, + pos: position{line: 679, col: 28, offset: 21957}, run: (*parser).callonExternalLink251, expr: &charClassMatcher{ - pos: position{line: 672, col: 28, offset: 21687}, + pos: position{line: 679, col: 28, offset: 21957}, val: "[A-Za-z]", ranges: []rune{'A', 'Z', 'a', 'z'}, ignoreCase: false, @@ -27512,12 +27739,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 674, col: 9, offset: 21741}, + pos: position{line: 681, col: 9, offset: 22011}, run: (*parser).callonExternalLink253, expr: &oneOrMoreExpr{ - pos: position{line: 674, col: 9, offset: 21741}, + pos: position{line: 681, col: 9, offset: 22011}, expr: &charClassMatcher{ - pos: position{line: 674, col: 9, offset: 21741}, + pos: position{line: 681, col: 9, offset: 22011}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -27534,7 +27761,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 668, col: 79, offset: 21569}, + pos: position{line: 675, col: 79, offset: 21839}, val: "}", ignoreCase: false, want: "\"}\"", @@ -27543,19 +27770,19 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 650, col: 5, offset: 20820}, + pos: position{line: 657, col: 5, offset: 21090}, run: (*parser).callonExternalLink257, expr: &seqExpr{ - pos: position{line: 650, col: 5, offset: 20820}, + pos: position{line: 657, col: 5, offset: 21090}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 650, col: 5, offset: 20820}, + pos: position{line: 657, col: 5, offset: 21090}, val: "\\{", ignoreCase: false, want: "\"\\\\{\"", }, &labeledExpr{ - pos: position{line: 650, col: 13, offset: 20828}, + pos: position{line: 657, col: 13, offset: 21098}, label: "name", expr: &actionExpr{ pos: position{line: 324, col: 18, offset: 10072}, @@ -27589,7 +27816,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 650, col: 32, offset: 20847}, + pos: position{line: 657, col: 32, offset: 21117}, val: "}", ignoreCase: false, want: "\"}\"", @@ -27598,19 +27825,19 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 657, col: 5, offset: 21088}, + pos: position{line: 664, col: 5, offset: 21358}, run: (*parser).callonExternalLink267, expr: &seqExpr{ - pos: position{line: 657, col: 5, offset: 21088}, + pos: position{line: 664, col: 5, offset: 21358}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 657, col: 5, offset: 21088}, + pos: position{line: 664, col: 5, offset: 21358}, val: "{", ignoreCase: false, want: "\"{\"", }, &labeledExpr{ - pos: position{line: 657, col: 9, offset: 21092}, + pos: position{line: 664, col: 9, offset: 21362}, label: "name", expr: &actionExpr{ pos: position{line: 324, col: 18, offset: 10072}, @@ -27644,7 +27871,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 657, col: 28, offset: 21111}, + pos: position{line: 664, col: 28, offset: 21381}, val: "}", ignoreCase: false, want: "\"}\"", @@ -27659,49 +27886,49 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2859, col: 5, offset: 93679}, + pos: position{line: 2745, col: 5, offset: 90112}, run: (*parser).callonExternalLink277, expr: &seqExpr{ - pos: position{line: 2859, col: 5, offset: 93679}, + pos: position{line: 2745, col: 5, offset: 90112}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 2859, col: 5, offset: 93679}, + pos: position{line: 2745, col: 5, offset: 90112}, run: (*parser).callonExternalLink279, }, &labeledExpr{ - pos: position{line: 2862, col: 5, offset: 93755}, + pos: position{line: 2748, col: 5, offset: 90188}, label: "element", expr: &choiceExpr{ - pos: position{line: 2864, col: 9, offset: 93853}, + pos: position{line: 2750, col: 9, offset: 90286}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2864, col: 9, offset: 93853}, + pos: position{line: 2750, col: 9, offset: 90286}, run: (*parser).callonExternalLink282, expr: &choiceExpr{ - pos: position{line: 692, col: 27, offset: 22395}, + pos: position{line: 699, col: 27, offset: 22665}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 692, col: 27, offset: 22395}, + pos: position{line: 699, col: 27, offset: 22665}, run: (*parser).callonExternalLink284, expr: &seqExpr{ - pos: position{line: 692, col: 27, offset: 22395}, + pos: position{line: 699, col: 27, offset: 22665}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 692, col: 27, offset: 22395}, + pos: position{line: 699, col: 27, offset: 22665}, val: "<<", ignoreCase: false, want: "\"<<\"", }, &labeledExpr{ - pos: position{line: 692, col: 32, offset: 22400}, + pos: position{line: 699, col: 32, offset: 22670}, label: "id", expr: &actionExpr{ - pos: position{line: 3161, col: 7, offset: 103049}, + pos: position{line: 3057, col: 7, offset: 99686}, run: (*parser).callonExternalLink288, expr: &oneOrMoreExpr{ - pos: position{line: 3161, col: 7, offset: 103049}, + pos: position{line: 3057, col: 7, offset: 99686}, expr: &charClassMatcher{ - pos: position{line: 3161, col: 7, offset: 103049}, + pos: position{line: 3057, col: 7, offset: 99686}, val: "[^[]<>,]", chars: []rune{'[', ']', '<', '>', ','}, ignoreCase: false, @@ -27711,12 +27938,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 692, col: 40, offset: 22408}, + pos: position{line: 699, col: 40, offset: 22678}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonExternalLink292, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -27725,27 +27952,27 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 692, col: 47, offset: 22415}, + pos: position{line: 699, col: 47, offset: 22685}, val: ",", ignoreCase: false, want: "\",\"", }, &labeledExpr{ - pos: position{line: 692, col: 51, offset: 22419}, + pos: position{line: 699, col: 51, offset: 22689}, label: "label", expr: &oneOrMoreExpr{ - pos: position{line: 702, col: 24, offset: 22820}, + pos: position{line: 709, col: 24, offset: 23090}, expr: &choiceExpr{ - pos: position{line: 703, col: 5, offset: 22826}, + pos: position{line: 710, col: 5, offset: 23096}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 703, col: 6, offset: 22827}, + pos: position{line: 710, col: 6, offset: 23097}, run: (*parser).callonExternalLink298, expr: &seqExpr{ - pos: position{line: 703, col: 6, offset: 22827}, + pos: position{line: 710, col: 6, offset: 23097}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 703, col: 6, offset: 22827}, + pos: position{line: 710, col: 6, offset: 23097}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -27753,9 +27980,9 @@ var g = &grammar{ inverted: false, }, &oneOrMoreExpr{ - pos: position{line: 703, col: 14, offset: 22835}, + pos: position{line: 710, col: 14, offset: 23105}, expr: &charClassMatcher{ - pos: position{line: 703, col: 14, offset: 22835}, + pos: position{line: 710, col: 14, offset: 23105}, val: "[^\\r\\n{<>]", chars: []rune{'\r', '\n', '{', '<', '>'}, ignoreCase: false, @@ -27766,19 +27993,19 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 650, col: 5, offset: 20820}, + pos: position{line: 657, col: 5, offset: 21090}, run: (*parser).callonExternalLink303, expr: &seqExpr{ - pos: position{line: 650, col: 5, offset: 20820}, + pos: position{line: 657, col: 5, offset: 21090}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 650, col: 5, offset: 20820}, + pos: position{line: 657, col: 5, offset: 21090}, val: "\\{", ignoreCase: false, want: "\"\\\\{\"", }, &labeledExpr{ - pos: position{line: 650, col: 13, offset: 20828}, + pos: position{line: 657, col: 13, offset: 21098}, label: "name", expr: &actionExpr{ pos: position{line: 324, col: 18, offset: 10072}, @@ -27812,7 +28039,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 650, col: 32, offset: 20847}, + pos: position{line: 657, col: 32, offset: 21117}, val: "}", ignoreCase: false, want: "\"}\"", @@ -27821,19 +28048,19 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 657, col: 5, offset: 21088}, + pos: position{line: 664, col: 5, offset: 21358}, run: (*parser).callonExternalLink313, expr: &seqExpr{ - pos: position{line: 657, col: 5, offset: 21088}, + pos: position{line: 664, col: 5, offset: 21358}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 657, col: 5, offset: 21088}, + pos: position{line: 664, col: 5, offset: 21358}, val: "{", ignoreCase: false, want: "\"{\"", }, &labeledExpr{ - pos: position{line: 657, col: 9, offset: 21092}, + pos: position{line: 664, col: 9, offset: 21362}, label: "name", expr: &actionExpr{ pos: position{line: 324, col: 18, offset: 10072}, @@ -27867,7 +28094,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 657, col: 28, offset: 21111}, + pos: position{line: 664, col: 28, offset: 21381}, val: "}", ignoreCase: false, want: "\"}\"", @@ -27876,10 +28103,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 707, col: 8, offset: 23061}, + pos: position{line: 714, col: 8, offset: 23331}, run: (*parser).callonExternalLink323, expr: &litMatcher{ - pos: position{line: 707, col: 8, offset: 23061}, + pos: position{line: 714, col: 8, offset: 23331}, val: "{", ignoreCase: false, want: "\"{\"", @@ -27890,7 +28117,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 692, col: 79, offset: 22447}, + pos: position{line: 699, col: 79, offset: 22717}, val: ">>", ignoreCase: false, want: "\">>\"", @@ -27899,27 +28126,27 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 694, col: 9, offset: 22520}, + pos: position{line: 701, col: 9, offset: 22790}, run: (*parser).callonExternalLink326, expr: &seqExpr{ - pos: position{line: 694, col: 9, offset: 22520}, + pos: position{line: 701, col: 9, offset: 22790}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 694, col: 9, offset: 22520}, + pos: position{line: 701, col: 9, offset: 22790}, val: "<<", ignoreCase: false, want: "\"<<\"", }, &labeledExpr{ - pos: position{line: 694, col: 14, offset: 22525}, + pos: position{line: 701, col: 14, offset: 22795}, label: "id", expr: &actionExpr{ - pos: position{line: 3161, col: 7, offset: 103049}, + pos: position{line: 3057, col: 7, offset: 99686}, run: (*parser).callonExternalLink330, expr: &oneOrMoreExpr{ - pos: position{line: 3161, col: 7, offset: 103049}, + pos: position{line: 3057, col: 7, offset: 99686}, expr: &charClassMatcher{ - pos: position{line: 3161, col: 7, offset: 103049}, + pos: position{line: 3057, col: 7, offset: 99686}, val: "[^[]<>,]", chars: []rune{'[', ']', '<', '>', ','}, ignoreCase: false, @@ -27929,7 +28156,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 694, col: 22, offset: 22533}, + pos: position{line: 701, col: 22, offset: 22803}, val: ">>", ignoreCase: false, want: "\">>\"", @@ -27941,10 +28168,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2867, col: 11, offset: 93957}, + pos: position{line: 2753, col: 11, offset: 90390}, run: (*parser).callonExternalLink334, expr: &charClassMatcher{ - pos: position{line: 2867, col: 12, offset: 93958}, + pos: position{line: 2753, col: 12, offset: 90391}, val: "[<>&]", chars: []rune{'<', '>', '&'}, ignoreCase: false, @@ -27958,10 +28185,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 3155, col: 11, offset: 102893}, + pos: position{line: 3051, col: 11, offset: 99530}, run: (*parser).callonExternalLink336, expr: &litMatcher{ - pos: position{line: 3155, col: 11, offset: 102893}, + pos: position{line: 3051, col: 11, offset: 99530}, val: "{", ignoreCase: false, want: "\"{\"", @@ -27981,12 +28208,12 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1457, col: 30, offset: 47639}, + pos: position{line: 1464, col: 30, offset: 47894}, label: "attributes", expr: &zeroOrOneExpr{ - pos: position{line: 1457, col: 41, offset: 47650}, + pos: position{line: 1464, col: 41, offset: 47905}, expr: &ruleRefExpr{ - pos: position{line: 1457, col: 42, offset: 47651}, + pos: position{line: 1464, col: 42, offset: 47906}, name: "InlineAttributes", }, }, @@ -27999,41 +28226,41 @@ var g = &grammar{ }, { name: "ListElements", - pos: position{line: 1465, col: 1, offset: 48005}, + pos: position{line: 1472, col: 1, offset: 48260}, expr: &actionExpr{ - pos: position{line: 1466, col: 5, offset: 48026}, + pos: position{line: 1473, col: 5, offset: 48281}, run: (*parser).callonListElements1, expr: &seqExpr{ - pos: position{line: 1466, col: 5, offset: 48026}, + pos: position{line: 1473, col: 5, offset: 48281}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1466, col: 5, offset: 48026}, + pos: position{line: 1473, col: 5, offset: 48281}, label: "firstElement", expr: &choiceExpr{ - pos: position{line: 1472, col: 5, offset: 48228}, + pos: position{line: 1479, col: 5, offset: 48483}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 1619, col: 5, offset: 53035}, + pos: position{line: 1626, col: 5, offset: 53290}, run: (*parser).callonListElements5, expr: &seqExpr{ - pos: position{line: 1619, col: 5, offset: 53035}, + pos: position{line: 1626, col: 5, offset: 53290}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1619, col: 5, offset: 53035}, + pos: position{line: 1626, col: 5, offset: 53290}, label: "prefix", expr: &actionExpr{ - pos: position{line: 1626, col: 5, offset: 53243}, + pos: position{line: 1633, col: 5, offset: 53498}, run: (*parser).callonListElements8, expr: &seqExpr{ - pos: position{line: 1626, col: 5, offset: 53243}, + pos: position{line: 1633, col: 5, offset: 53498}, exprs: []interface{}{ &zeroOrMoreExpr{ - pos: position{line: 1626, col: 5, offset: 53243}, + pos: position{line: 1633, col: 5, offset: 53498}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonListElements11, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -28042,27 +28269,27 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1626, col: 12, offset: 53250}, + pos: position{line: 1633, col: 12, offset: 53505}, label: "prefix", expr: &choiceExpr{ - pos: position{line: 1628, col: 9, offset: 53313}, + pos: position{line: 1635, col: 9, offset: 53568}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 1628, col: 9, offset: 53313}, + pos: position{line: 1635, col: 9, offset: 53568}, run: (*parser).callonListElements15, expr: &seqExpr{ - pos: position{line: 1628, col: 9, offset: 53313}, + pos: position{line: 1635, col: 9, offset: 53568}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1628, col: 9, offset: 53313}, + pos: position{line: 1635, col: 9, offset: 53568}, label: "depth", expr: &actionExpr{ - pos: position{line: 1628, col: 16, offset: 53320}, + pos: position{line: 1635, col: 16, offset: 53575}, run: (*parser).callonListElements18, expr: &oneOrMoreExpr{ - pos: position{line: 1628, col: 16, offset: 53320}, + pos: position{line: 1635, col: 16, offset: 53575}, expr: &litMatcher{ - pos: position{line: 1628, col: 17, offset: 53321}, + pos: position{line: 1635, col: 17, offset: 53576}, val: ".", ignoreCase: false, want: "\".\"", @@ -28071,22 +28298,22 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1632, col: 9, offset: 53421}, + pos: position{line: 1639, col: 9, offset: 53676}, run: (*parser).callonListElements21, }, }, }, }, &actionExpr{ - pos: position{line: 1651, col: 11, offset: 54138}, + pos: position{line: 1658, col: 11, offset: 54393}, run: (*parser).callonListElements22, expr: &seqExpr{ - pos: position{line: 1651, col: 11, offset: 54138}, + pos: position{line: 1658, col: 11, offset: 54393}, exprs: []interface{}{ &oneOrMoreExpr{ - pos: position{line: 1651, col: 11, offset: 54138}, + pos: position{line: 1658, col: 11, offset: 54393}, expr: &charClassMatcher{ - pos: position{line: 1651, col: 12, offset: 54139}, + pos: position{line: 1658, col: 12, offset: 54394}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -28094,7 +28321,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1651, col: 20, offset: 54147}, + pos: position{line: 1658, col: 20, offset: 54402}, val: ".", ignoreCase: false, want: "\".\"", @@ -28103,20 +28330,20 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1653, col: 13, offset: 54264}, + pos: position{line: 1660, col: 13, offset: 54519}, run: (*parser).callonListElements27, expr: &seqExpr{ - pos: position{line: 1653, col: 13, offset: 54264}, + pos: position{line: 1660, col: 13, offset: 54519}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 1653, col: 14, offset: 54265}, + pos: position{line: 1660, col: 14, offset: 54520}, val: "[a-z]", ranges: []rune{'a', 'z'}, ignoreCase: false, inverted: false, }, &litMatcher{ - pos: position{line: 1653, col: 21, offset: 54272}, + pos: position{line: 1660, col: 21, offset: 54527}, val: ".", ignoreCase: false, want: "\".\"", @@ -28125,20 +28352,20 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1655, col: 13, offset: 54392}, + pos: position{line: 1662, col: 13, offset: 54647}, run: (*parser).callonListElements31, expr: &seqExpr{ - pos: position{line: 1655, col: 13, offset: 54392}, + pos: position{line: 1662, col: 13, offset: 54647}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 1655, col: 14, offset: 54393}, + pos: position{line: 1662, col: 14, offset: 54648}, val: "[A-Z]", ranges: []rune{'A', 'Z'}, ignoreCase: false, inverted: false, }, &litMatcher{ - pos: position{line: 1655, col: 21, offset: 54400}, + pos: position{line: 1662, col: 21, offset: 54655}, val: ".", ignoreCase: false, want: "\".\"", @@ -28147,15 +28374,15 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1657, col: 13, offset: 54520}, + pos: position{line: 1664, col: 13, offset: 54775}, run: (*parser).callonListElements35, expr: &seqExpr{ - pos: position{line: 1657, col: 13, offset: 54520}, + pos: position{line: 1664, col: 13, offset: 54775}, exprs: []interface{}{ &oneOrMoreExpr{ - pos: position{line: 1657, col: 13, offset: 54520}, + pos: position{line: 1664, col: 13, offset: 54775}, expr: &charClassMatcher{ - pos: position{line: 1657, col: 14, offset: 54521}, + pos: position{line: 1664, col: 14, offset: 54776}, val: "[ivxdlcm]", chars: []rune{'i', 'v', 'x', 'd', 'l', 'c', 'm'}, ignoreCase: false, @@ -28163,7 +28390,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1657, col: 26, offset: 54533}, + pos: position{line: 1664, col: 26, offset: 54788}, val: ")", ignoreCase: false, want: "\")\"", @@ -28172,15 +28399,15 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1659, col: 13, offset: 54653}, + pos: position{line: 1666, col: 13, offset: 54908}, run: (*parser).callonListElements40, expr: &seqExpr{ - pos: position{line: 1659, col: 13, offset: 54653}, + pos: position{line: 1666, col: 13, offset: 54908}, exprs: []interface{}{ &oneOrMoreExpr{ - pos: position{line: 1659, col: 13, offset: 54653}, + pos: position{line: 1666, col: 13, offset: 54908}, expr: &charClassMatcher{ - pos: position{line: 1659, col: 14, offset: 54654}, + pos: position{line: 1666, col: 14, offset: 54909}, val: "[IVXDLCM]", chars: []rune{'I', 'V', 'X', 'D', 'L', 'C', 'M'}, ignoreCase: false, @@ -28188,7 +28415,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1659, col: 26, offset: 54666}, + pos: position{line: 1666, col: 26, offset: 54921}, val: ")", ignoreCase: false, want: "\")\"", @@ -28200,12 +28427,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 3180, col: 11, offset: 103464}, + pos: position{line: 3076, col: 11, offset: 100101}, run: (*parser).callonListElements45, expr: &oneOrMoreExpr{ - pos: position{line: 3180, col: 11, offset: 103464}, + pos: position{line: 3076, col: 11, offset: 100101}, expr: &charClassMatcher{ - pos: position{line: 3180, col: 12, offset: 103465}, + pos: position{line: 3076, col: 12, offset: 100102}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -28218,24 +28445,24 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1620, col: 5, offset: 53074}, + pos: position{line: 1627, col: 5, offset: 53329}, label: "content", expr: &actionExpr{ - pos: position{line: 1560, col: 5, offset: 51270}, + pos: position{line: 1567, col: 5, offset: 51525}, run: (*parser).callonListElements49, expr: &seqExpr{ - pos: position{line: 1560, col: 5, offset: 51270}, + pos: position{line: 1567, col: 5, offset: 51525}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1560, col: 5, offset: 51270}, + pos: position{line: 1567, col: 5, offset: 51525}, label: "rawline", expr: &actionExpr{ - pos: position{line: 1560, col: 14, offset: 51279}, + pos: position{line: 1567, col: 14, offset: 51534}, run: (*parser).callonListElements52, expr: &oneOrMoreExpr{ - pos: position{line: 1560, col: 14, offset: 51279}, + pos: position{line: 1567, col: 14, offset: 51534}, expr: &charClassMatcher{ - pos: position{line: 1560, col: 14, offset: 51279}, + pos: position{line: 1567, col: 14, offset: 51534}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -28245,28 +28472,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonListElements56, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -28275,9 +28502,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -28290,27 +28517,27 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1669, col: 5, offset: 54932}, + pos: position{line: 1676, col: 5, offset: 55187}, run: (*parser).callonListElements63, expr: &seqExpr{ - pos: position{line: 1669, col: 5, offset: 54932}, + pos: position{line: 1676, col: 5, offset: 55187}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1669, col: 5, offset: 54932}, + pos: position{line: 1676, col: 5, offset: 55187}, label: "prefix", expr: &actionExpr{ - pos: position{line: 1676, col: 5, offset: 55205}, + pos: position{line: 1683, col: 5, offset: 55460}, run: (*parser).callonListElements66, expr: &seqExpr{ - pos: position{line: 1676, col: 5, offset: 55205}, + pos: position{line: 1683, col: 5, offset: 55460}, exprs: []interface{}{ &zeroOrMoreExpr{ - pos: position{line: 1676, col: 5, offset: 55205}, + pos: position{line: 1683, col: 5, offset: 55460}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonListElements69, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -28319,27 +28546,27 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1676, col: 12, offset: 55212}, + pos: position{line: 1683, col: 12, offset: 55467}, label: "prefix", expr: &choiceExpr{ - pos: position{line: 1676, col: 20, offset: 55220}, + pos: position{line: 1683, col: 20, offset: 55475}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 1678, col: 9, offset: 55277}, + pos: position{line: 1685, col: 9, offset: 55532}, run: (*parser).callonListElements73, expr: &seqExpr{ - pos: position{line: 1678, col: 9, offset: 55277}, + pos: position{line: 1685, col: 9, offset: 55532}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1678, col: 9, offset: 55277}, + pos: position{line: 1685, col: 9, offset: 55532}, label: "depth", expr: &actionExpr{ - pos: position{line: 1678, col: 16, offset: 55284}, + pos: position{line: 1685, col: 16, offset: 55539}, run: (*parser).callonListElements76, expr: &oneOrMoreExpr{ - pos: position{line: 1678, col: 16, offset: 55284}, + pos: position{line: 1685, col: 16, offset: 55539}, expr: &litMatcher{ - pos: position{line: 1678, col: 17, offset: 55285}, + pos: position{line: 1685, col: 17, offset: 55540}, val: "*", ignoreCase: false, want: "\"*\"", @@ -28348,20 +28575,20 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1682, col: 9, offset: 55385}, + pos: position{line: 1689, col: 9, offset: 55640}, run: (*parser).callonListElements79, }, }, }, }, &labeledExpr{ - pos: position{line: 1699, col: 14, offset: 56092}, + pos: position{line: 1706, col: 14, offset: 56347}, label: "depth", expr: &actionExpr{ - pos: position{line: 1699, col: 21, offset: 56099}, + pos: position{line: 1706, col: 21, offset: 56354}, run: (*parser).callonListElements81, expr: &litMatcher{ - pos: position{line: 1699, col: 22, offset: 56100}, + pos: position{line: 1706, col: 22, offset: 56355}, val: "-", ignoreCase: false, want: "\"-\"", @@ -28372,12 +28599,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 3180, col: 11, offset: 103464}, + pos: position{line: 3076, col: 11, offset: 100101}, run: (*parser).callonListElements83, expr: &oneOrMoreExpr{ - pos: position{line: 3180, col: 11, offset: 103464}, + pos: position{line: 3076, col: 11, offset: 100101}, expr: &charClassMatcher{ - pos: position{line: 3180, col: 12, offset: 103465}, + pos: position{line: 3076, col: 12, offset: 100102}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -28390,56 +28617,56 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1670, col: 5, offset: 54973}, + pos: position{line: 1677, col: 5, offset: 55228}, label: "checkstyle", expr: &zeroOrOneExpr{ - pos: position{line: 1670, col: 16, offset: 54984}, + pos: position{line: 1677, col: 16, offset: 55239}, expr: &actionExpr{ - pos: position{line: 1706, col: 5, offset: 56261}, + pos: position{line: 1713, col: 5, offset: 56516}, run: (*parser).callonListElements88, expr: &seqExpr{ - pos: position{line: 1706, col: 5, offset: 56261}, + pos: position{line: 1713, col: 5, offset: 56516}, exprs: []interface{}{ &andExpr{ - pos: position{line: 1706, col: 5, offset: 56261}, + pos: position{line: 1713, col: 5, offset: 56516}, expr: &litMatcher{ - pos: position{line: 1706, col: 6, offset: 56262}, + pos: position{line: 1713, col: 6, offset: 56517}, val: "[", ignoreCase: false, want: "\"[\"", }, }, &labeledExpr{ - pos: position{line: 1706, col: 10, offset: 56266}, + pos: position{line: 1713, col: 10, offset: 56521}, label: "style", expr: &choiceExpr{ - pos: position{line: 1707, col: 7, offset: 56280}, + pos: position{line: 1714, col: 7, offset: 56535}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 1707, col: 7, offset: 56280}, + pos: position{line: 1714, col: 7, offset: 56535}, run: (*parser).callonListElements94, expr: &litMatcher{ - pos: position{line: 1707, col: 7, offset: 56280}, + pos: position{line: 1714, col: 7, offset: 56535}, val: "[ ]", ignoreCase: false, want: "\"[ ]\"", }, }, &actionExpr{ - pos: position{line: 1708, col: 7, offset: 56325}, + pos: position{line: 1715, col: 7, offset: 56580}, run: (*parser).callonListElements96, expr: &litMatcher{ - pos: position{line: 1708, col: 7, offset: 56325}, + pos: position{line: 1715, col: 7, offset: 56580}, val: "[*]", ignoreCase: false, want: "\"[*]\"", }, }, &actionExpr{ - pos: position{line: 1709, col: 7, offset: 56368}, + pos: position{line: 1716, col: 7, offset: 56623}, run: (*parser).callonListElements98, expr: &litMatcher{ - pos: position{line: 1709, col: 7, offset: 56368}, + pos: position{line: 1716, col: 7, offset: 56623}, val: "[x]", ignoreCase: false, want: "\"[x]\"", @@ -28449,12 +28676,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 3180, col: 11, offset: 103464}, + pos: position{line: 3076, col: 11, offset: 100101}, run: (*parser).callonListElements100, expr: &oneOrMoreExpr{ - pos: position{line: 3180, col: 11, offset: 103464}, + pos: position{line: 3076, col: 11, offset: 100101}, expr: &charClassMatcher{ - pos: position{line: 3180, col: 12, offset: 103465}, + pos: position{line: 3076, col: 12, offset: 100102}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -28468,24 +28695,24 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1671, col: 5, offset: 55023}, + pos: position{line: 1678, col: 5, offset: 55278}, label: "content", expr: &actionExpr{ - pos: position{line: 1560, col: 5, offset: 51270}, + pos: position{line: 1567, col: 5, offset: 51525}, run: (*parser).callonListElements104, expr: &seqExpr{ - pos: position{line: 1560, col: 5, offset: 51270}, + pos: position{line: 1567, col: 5, offset: 51525}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1560, col: 5, offset: 51270}, + pos: position{line: 1567, col: 5, offset: 51525}, label: "rawline", expr: &actionExpr{ - pos: position{line: 1560, col: 14, offset: 51279}, + pos: position{line: 1567, col: 14, offset: 51534}, run: (*parser).callonListElements107, expr: &oneOrMoreExpr{ - pos: position{line: 1560, col: 14, offset: 51279}, + pos: position{line: 1567, col: 14, offset: 51534}, expr: &charClassMatcher{ - pos: position{line: 1560, col: 14, offset: 51279}, + pos: position{line: 1567, col: 14, offset: 51534}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -28495,28 +28722,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonListElements111, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -28525,9 +28752,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -28540,36 +28767,36 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1776, col: 5, offset: 58241}, + pos: position{line: 1783, col: 5, offset: 58496}, run: (*parser).callonListElements118, expr: &seqExpr{ - pos: position{line: 1776, col: 5, offset: 58241}, + pos: position{line: 1783, col: 5, offset: 58496}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1776, col: 5, offset: 58241}, + pos: position{line: 1783, col: 5, offset: 58496}, label: "ref", expr: &actionExpr{ - pos: position{line: 1782, col: 5, offset: 58442}, + pos: position{line: 1789, col: 5, offset: 58697}, run: (*parser).callonListElements121, expr: &seqExpr{ - pos: position{line: 1782, col: 5, offset: 58442}, + pos: position{line: 1789, col: 5, offset: 58697}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1782, col: 5, offset: 58442}, + pos: position{line: 1789, col: 5, offset: 58697}, val: "<", ignoreCase: false, want: "\"<\"", }, &labeledExpr{ - pos: position{line: 1782, col: 9, offset: 58446}, + pos: position{line: 1789, col: 9, offset: 58701}, label: "ref", expr: &actionExpr{ - pos: position{line: 1782, col: 14, offset: 58451}, + pos: position{line: 1789, col: 14, offset: 58706}, run: (*parser).callonListElements125, expr: &oneOrMoreExpr{ - pos: position{line: 1782, col: 14, offset: 58451}, + pos: position{line: 1789, col: 14, offset: 58706}, expr: &charClassMatcher{ - pos: position{line: 1782, col: 14, offset: 58451}, + pos: position{line: 1789, col: 14, offset: 58706}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -28579,18 +28806,18 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1782, col: 62, offset: 58499}, + pos: position{line: 1789, col: 62, offset: 58754}, val: ">", ignoreCase: false, want: "\">\"", }, &actionExpr{ - pos: position{line: 3180, col: 11, offset: 103464}, + pos: position{line: 3076, col: 11, offset: 100101}, run: (*parser).callonListElements129, expr: &oneOrMoreExpr{ - pos: position{line: 3180, col: 11, offset: 103464}, + pos: position{line: 3076, col: 11, offset: 100101}, expr: &charClassMatcher{ - pos: position{line: 3180, col: 12, offset: 103465}, + pos: position{line: 3076, col: 12, offset: 100102}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -28603,24 +28830,24 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1777, col: 5, offset: 58277}, + pos: position{line: 1784, col: 5, offset: 58532}, label: "description", expr: &actionExpr{ - pos: position{line: 1787, col: 5, offset: 58625}, + pos: position{line: 1794, col: 5, offset: 58880}, run: (*parser).callonListElements133, expr: &seqExpr{ - pos: position{line: 1787, col: 5, offset: 58625}, + pos: position{line: 1794, col: 5, offset: 58880}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1787, col: 5, offset: 58625}, + pos: position{line: 1794, col: 5, offset: 58880}, label: "rawline", expr: &actionExpr{ - pos: position{line: 1787, col: 14, offset: 58634}, + pos: position{line: 1794, col: 14, offset: 58889}, run: (*parser).callonListElements136, expr: &oneOrMoreExpr{ - pos: position{line: 1787, col: 14, offset: 58634}, + pos: position{line: 1794, col: 14, offset: 58889}, expr: &charClassMatcher{ - pos: position{line: 1787, col: 14, offset: 58634}, + pos: position{line: 1794, col: 14, offset: 58889}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -28630,28 +28857,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonListElements140, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -28660,9 +28887,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -28675,40 +28902,40 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1718, col: 5, offset: 56561}, + pos: position{line: 1725, col: 5, offset: 56816}, run: (*parser).callonListElements147, expr: &seqExpr{ - pos: position{line: 1718, col: 5, offset: 56561}, + pos: position{line: 1725, col: 5, offset: 56816}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1718, col: 5, offset: 56561}, + pos: position{line: 1725, col: 5, offset: 56816}, label: "term", expr: &actionExpr{ - pos: position{line: 1726, col: 5, offset: 56820}, + pos: position{line: 1733, col: 5, offset: 57075}, run: (*parser).callonListElements150, expr: &oneOrMoreExpr{ - pos: position{line: 1726, col: 5, offset: 56820}, + pos: position{line: 1733, col: 5, offset: 57075}, expr: &seqExpr{ - pos: position{line: 1726, col: 6, offset: 56821}, + pos: position{line: 1733, col: 6, offset: 57076}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 1726, col: 6, offset: 56821}, + pos: position{line: 1733, col: 6, offset: 57076}, expr: &actionExpr{ - pos: position{line: 1731, col: 5, offset: 56971}, + pos: position{line: 1738, col: 5, offset: 57226}, run: (*parser).callonListElements154, expr: &seqExpr{ - pos: position{line: 1731, col: 5, offset: 56971}, + pos: position{line: 1738, col: 5, offset: 57226}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1731, col: 5, offset: 56971}, + pos: position{line: 1738, col: 5, offset: 57226}, label: "separator", expr: &actionExpr{ - pos: position{line: 1731, col: 16, offset: 56982}, + pos: position{line: 1738, col: 16, offset: 57237}, run: (*parser).callonListElements157, expr: &oneOrMoreExpr{ - pos: position{line: 1731, col: 16, offset: 56982}, + pos: position{line: 1738, col: 16, offset: 57237}, expr: &litMatcher{ - pos: position{line: 1731, col: 17, offset: 56983}, + pos: position{line: 1738, col: 17, offset: 57238}, val: ":", ignoreCase: false, want: "\":\"", @@ -28717,7 +28944,7 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1734, col: 5, offset: 57040}, + pos: position{line: 1741, col: 5, offset: 57295}, run: (*parser).callonListElements160, }, }, @@ -28725,30 +28952,30 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 1726, col: 35, offset: 56850}, + pos: position{line: 1733, col: 35, offset: 57105}, expr: &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonListElements163, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -28757,16 +28984,16 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, }, }, &anyMatcher{ - line: 1726, col: 40, offset: 56855, + line: 1733, col: 40, offset: 57110, }, }, }, @@ -28774,24 +29001,24 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1719, col: 5, offset: 56596}, + pos: position{line: 1726, col: 5, offset: 56851}, label: "separator", expr: &actionExpr{ - pos: position{line: 1731, col: 5, offset: 56971}, + pos: position{line: 1738, col: 5, offset: 57226}, run: (*parser).callonListElements172, expr: &seqExpr{ - pos: position{line: 1731, col: 5, offset: 56971}, + pos: position{line: 1738, col: 5, offset: 57226}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1731, col: 5, offset: 56971}, + pos: position{line: 1738, col: 5, offset: 57226}, label: "separator", expr: &actionExpr{ - pos: position{line: 1731, col: 16, offset: 56982}, + pos: position{line: 1738, col: 16, offset: 57237}, run: (*parser).callonListElements175, expr: &oneOrMoreExpr{ - pos: position{line: 1731, col: 16, offset: 56982}, + pos: position{line: 1738, col: 16, offset: 57237}, expr: &litMatcher{ - pos: position{line: 1731, col: 17, offset: 56983}, + pos: position{line: 1738, col: 17, offset: 57238}, val: ":", ignoreCase: false, want: "\":\"", @@ -28800,7 +29027,7 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1734, col: 5, offset: 57040}, + pos: position{line: 1741, col: 5, offset: 57295}, run: (*parser).callonListElements178, }, }, @@ -28808,24 +29035,24 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1720, col: 5, offset: 56641}, + pos: position{line: 1727, col: 5, offset: 56896}, label: "description", expr: &choiceExpr{ - pos: position{line: 1742, col: 5, offset: 57290}, + pos: position{line: 1749, col: 5, offset: 57545}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 1744, col: 9, offset: 57355}, + pos: position{line: 1751, col: 9, offset: 57610}, run: (*parser).callonListElements181, expr: &seqExpr{ - pos: position{line: 1744, col: 9, offset: 57355}, + pos: position{line: 1751, col: 9, offset: 57610}, exprs: []interface{}{ &zeroOrMoreExpr{ - pos: position{line: 1744, col: 9, offset: 57355}, + pos: position{line: 1751, col: 9, offset: 57610}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonListElements184, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -28834,28 +29061,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonListElements187, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -28864,37 +29091,37 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, }, &zeroOrMoreExpr{ - pos: position{line: 1745, col: 9, offset: 57375}, + pos: position{line: 1752, col: 9, offset: 57630}, expr: &actionExpr{ - pos: position{line: 683, col: 14, offset: 22042}, + pos: position{line: 690, col: 14, offset: 22312}, run: (*parser).callonListElements195, expr: &seqExpr{ - pos: position{line: 683, col: 14, offset: 22042}, + pos: position{line: 690, col: 14, offset: 22312}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 683, col: 14, offset: 22042}, + pos: position{line: 690, col: 14, offset: 22312}, expr: ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, &zeroOrMoreExpr{ - pos: position{line: 683, col: 19, offset: 22047}, + pos: position{line: 690, col: 19, offset: 22317}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonListElements201, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -28903,28 +29130,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonListElements204, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -28933,9 +29160,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -28945,47 +29172,47 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1746, col: 9, offset: 57395}, + pos: position{line: 1753, col: 9, offset: 57650}, label: "content", expr: &zeroOrOneExpr{ - pos: position{line: 1746, col: 17, offset: 57403}, + pos: position{line: 1753, col: 17, offset: 57658}, expr: &choiceExpr{ - pos: position{line: 1540, col: 5, offset: 50637}, + pos: position{line: 1547, col: 5, offset: 50892}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 1540, col: 5, offset: 50637}, + pos: position{line: 1547, col: 5, offset: 50892}, run: (*parser).callonListElements214, expr: &actionExpr{ - pos: position{line: 2876, col: 22, offset: 94317}, + pos: position{line: 2762, col: 22, offset: 90750}, run: (*parser).callonListElements215, expr: &seqExpr{ - pos: position{line: 2876, col: 22, offset: 94317}, + pos: position{line: 2762, col: 22, offset: 90750}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2881, col: 31, offset: 94538}, + pos: position{line: 2767, col: 31, offset: 90971}, val: "//", ignoreCase: false, want: "\"//\"", }, ¬Expr{ - pos: position{line: 2881, col: 36, offset: 94543}, + pos: position{line: 2767, col: 36, offset: 90976}, expr: &litMatcher{ - pos: position{line: 2881, col: 37, offset: 94544}, + pos: position{line: 2767, col: 37, offset: 90977}, val: "//", ignoreCase: false, want: "\"//\"", }, }, &labeledExpr{ - pos: position{line: 2876, col: 49, offset: 94344}, + pos: position{line: 2762, col: 49, offset: 90777}, label: "content", expr: &actionExpr{ - pos: position{line: 2883, col: 29, offset: 94579}, + pos: position{line: 2769, col: 29, offset: 91012}, run: (*parser).callonListElements221, expr: &zeroOrMoreExpr{ - pos: position{line: 2883, col: 29, offset: 94579}, + pos: position{line: 2769, col: 29, offset: 91012}, expr: &charClassMatcher{ - pos: position{line: 2883, col: 29, offset: 94579}, + pos: position{line: 2769, col: 29, offset: 91012}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -28995,28 +29222,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonListElements225, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -29025,9 +29252,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -29037,35 +29264,35 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1544, col: 9, offset: 50790}, + pos: position{line: 1551, col: 9, offset: 51045}, run: (*parser).callonListElements232, expr: &seqExpr{ - pos: position{line: 1544, col: 9, offset: 50790}, + pos: position{line: 1551, col: 9, offset: 51045}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 1544, col: 9, offset: 50790}, + pos: position{line: 1551, col: 9, offset: 51045}, expr: &actionExpr{ - pos: position{line: 683, col: 14, offset: 22042}, + pos: position{line: 690, col: 14, offset: 22312}, run: (*parser).callonListElements235, expr: &seqExpr{ - pos: position{line: 683, col: 14, offset: 22042}, + pos: position{line: 690, col: 14, offset: 22312}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 683, col: 14, offset: 22042}, + pos: position{line: 690, col: 14, offset: 22312}, expr: ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, &zeroOrMoreExpr{ - pos: position{line: 683, col: 19, offset: 22047}, + pos: position{line: 690, col: 19, offset: 22317}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonListElements241, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -29074,28 +29301,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonListElements244, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -29104,9 +29331,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -29116,23 +29343,23 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 1545, col: 9, offset: 50809}, + pos: position{line: 1552, col: 9, offset: 51064}, expr: &seqExpr{ - pos: position{line: 1578, col: 34, offset: 51769}, + pos: position{line: 1585, col: 34, offset: 52024}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1578, col: 34, offset: 51769}, + pos: position{line: 1585, col: 34, offset: 52024}, val: "+", ignoreCase: false, want: "\"+\"", }, &zeroOrMoreExpr{ - pos: position{line: 1578, col: 38, offset: 51773}, + pos: position{line: 1585, col: 38, offset: 52028}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonListElements255, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -29141,25 +29368,25 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonListElements257, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -29171,20 +29398,20 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 1546, col: 9, offset: 50848}, + pos: position{line: 1553, col: 9, offset: 51103}, expr: &actionExpr{ - pos: position{line: 1626, col: 5, offset: 53243}, + pos: position{line: 1633, col: 5, offset: 53498}, run: (*parser).callonListElements263, expr: &seqExpr{ - pos: position{line: 1626, col: 5, offset: 53243}, + pos: position{line: 1633, col: 5, offset: 53498}, exprs: []interface{}{ &zeroOrMoreExpr{ - pos: position{line: 1626, col: 5, offset: 53243}, + pos: position{line: 1633, col: 5, offset: 53498}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonListElements266, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -29193,27 +29420,27 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1626, col: 12, offset: 53250}, + pos: position{line: 1633, col: 12, offset: 53505}, label: "prefix", expr: &choiceExpr{ - pos: position{line: 1628, col: 9, offset: 53313}, + pos: position{line: 1635, col: 9, offset: 53568}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 1628, col: 9, offset: 53313}, + pos: position{line: 1635, col: 9, offset: 53568}, run: (*parser).callonListElements270, expr: &seqExpr{ - pos: position{line: 1628, col: 9, offset: 53313}, + pos: position{line: 1635, col: 9, offset: 53568}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1628, col: 9, offset: 53313}, + pos: position{line: 1635, col: 9, offset: 53568}, label: "depth", expr: &actionExpr{ - pos: position{line: 1628, col: 16, offset: 53320}, + pos: position{line: 1635, col: 16, offset: 53575}, run: (*parser).callonListElements273, expr: &oneOrMoreExpr{ - pos: position{line: 1628, col: 16, offset: 53320}, + pos: position{line: 1635, col: 16, offset: 53575}, expr: &litMatcher{ - pos: position{line: 1628, col: 17, offset: 53321}, + pos: position{line: 1635, col: 17, offset: 53576}, val: ".", ignoreCase: false, want: "\".\"", @@ -29222,22 +29449,22 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1632, col: 9, offset: 53421}, + pos: position{line: 1639, col: 9, offset: 53676}, run: (*parser).callonListElements276, }, }, }, }, &actionExpr{ - pos: position{line: 1651, col: 11, offset: 54138}, + pos: position{line: 1658, col: 11, offset: 54393}, run: (*parser).callonListElements277, expr: &seqExpr{ - pos: position{line: 1651, col: 11, offset: 54138}, + pos: position{line: 1658, col: 11, offset: 54393}, exprs: []interface{}{ &oneOrMoreExpr{ - pos: position{line: 1651, col: 11, offset: 54138}, + pos: position{line: 1658, col: 11, offset: 54393}, expr: &charClassMatcher{ - pos: position{line: 1651, col: 12, offset: 54139}, + pos: position{line: 1658, col: 12, offset: 54394}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -29245,7 +29472,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1651, col: 20, offset: 54147}, + pos: position{line: 1658, col: 20, offset: 54402}, val: ".", ignoreCase: false, want: "\".\"", @@ -29254,20 +29481,20 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1653, col: 13, offset: 54264}, + pos: position{line: 1660, col: 13, offset: 54519}, run: (*parser).callonListElements282, expr: &seqExpr{ - pos: position{line: 1653, col: 13, offset: 54264}, + pos: position{line: 1660, col: 13, offset: 54519}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 1653, col: 14, offset: 54265}, + pos: position{line: 1660, col: 14, offset: 54520}, val: "[a-z]", ranges: []rune{'a', 'z'}, ignoreCase: false, inverted: false, }, &litMatcher{ - pos: position{line: 1653, col: 21, offset: 54272}, + pos: position{line: 1660, col: 21, offset: 54527}, val: ".", ignoreCase: false, want: "\".\"", @@ -29276,20 +29503,20 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1655, col: 13, offset: 54392}, + pos: position{line: 1662, col: 13, offset: 54647}, run: (*parser).callonListElements286, expr: &seqExpr{ - pos: position{line: 1655, col: 13, offset: 54392}, + pos: position{line: 1662, col: 13, offset: 54647}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 1655, col: 14, offset: 54393}, + pos: position{line: 1662, col: 14, offset: 54648}, val: "[A-Z]", ranges: []rune{'A', 'Z'}, ignoreCase: false, inverted: false, }, &litMatcher{ - pos: position{line: 1655, col: 21, offset: 54400}, + pos: position{line: 1662, col: 21, offset: 54655}, val: ".", ignoreCase: false, want: "\".\"", @@ -29298,15 +29525,15 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1657, col: 13, offset: 54520}, + pos: position{line: 1664, col: 13, offset: 54775}, run: (*parser).callonListElements290, expr: &seqExpr{ - pos: position{line: 1657, col: 13, offset: 54520}, + pos: position{line: 1664, col: 13, offset: 54775}, exprs: []interface{}{ &oneOrMoreExpr{ - pos: position{line: 1657, col: 13, offset: 54520}, + pos: position{line: 1664, col: 13, offset: 54775}, expr: &charClassMatcher{ - pos: position{line: 1657, col: 14, offset: 54521}, + pos: position{line: 1664, col: 14, offset: 54776}, val: "[ivxdlcm]", chars: []rune{'i', 'v', 'x', 'd', 'l', 'c', 'm'}, ignoreCase: false, @@ -29314,7 +29541,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1657, col: 26, offset: 54533}, + pos: position{line: 1664, col: 26, offset: 54788}, val: ")", ignoreCase: false, want: "\")\"", @@ -29323,15 +29550,15 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1659, col: 13, offset: 54653}, + pos: position{line: 1666, col: 13, offset: 54908}, run: (*parser).callonListElements295, expr: &seqExpr{ - pos: position{line: 1659, col: 13, offset: 54653}, + pos: position{line: 1666, col: 13, offset: 54908}, exprs: []interface{}{ &oneOrMoreExpr{ - pos: position{line: 1659, col: 13, offset: 54653}, + pos: position{line: 1666, col: 13, offset: 54908}, expr: &charClassMatcher{ - pos: position{line: 1659, col: 14, offset: 54654}, + pos: position{line: 1666, col: 14, offset: 54909}, val: "[IVXDLCM]", chars: []rune{'I', 'V', 'X', 'D', 'L', 'C', 'M'}, ignoreCase: false, @@ -29339,7 +29566,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1659, col: 26, offset: 54666}, + pos: position{line: 1666, col: 26, offset: 54921}, val: ")", ignoreCase: false, want: "\")\"", @@ -29351,12 +29578,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 3180, col: 11, offset: 103464}, + pos: position{line: 3076, col: 11, offset: 100101}, run: (*parser).callonListElements300, expr: &oneOrMoreExpr{ - pos: position{line: 3180, col: 11, offset: 103464}, + pos: position{line: 3076, col: 11, offset: 100101}, expr: &charClassMatcher{ - pos: position{line: 3180, col: 12, offset: 103465}, + pos: position{line: 3076, col: 12, offset: 100102}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -29369,20 +29596,20 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 1547, col: 9, offset: 50882}, + pos: position{line: 1554, col: 9, offset: 51137}, expr: &actionExpr{ - pos: position{line: 1676, col: 5, offset: 55205}, + pos: position{line: 1683, col: 5, offset: 55460}, run: (*parser).callonListElements304, expr: &seqExpr{ - pos: position{line: 1676, col: 5, offset: 55205}, + pos: position{line: 1683, col: 5, offset: 55460}, exprs: []interface{}{ &zeroOrMoreExpr{ - pos: position{line: 1676, col: 5, offset: 55205}, + pos: position{line: 1683, col: 5, offset: 55460}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonListElements307, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -29391,27 +29618,27 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1676, col: 12, offset: 55212}, + pos: position{line: 1683, col: 12, offset: 55467}, label: "prefix", expr: &choiceExpr{ - pos: position{line: 1676, col: 20, offset: 55220}, + pos: position{line: 1683, col: 20, offset: 55475}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 1678, col: 9, offset: 55277}, + pos: position{line: 1685, col: 9, offset: 55532}, run: (*parser).callonListElements311, expr: &seqExpr{ - pos: position{line: 1678, col: 9, offset: 55277}, + pos: position{line: 1685, col: 9, offset: 55532}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1678, col: 9, offset: 55277}, + pos: position{line: 1685, col: 9, offset: 55532}, label: "depth", expr: &actionExpr{ - pos: position{line: 1678, col: 16, offset: 55284}, + pos: position{line: 1685, col: 16, offset: 55539}, run: (*parser).callonListElements314, expr: &oneOrMoreExpr{ - pos: position{line: 1678, col: 16, offset: 55284}, + pos: position{line: 1685, col: 16, offset: 55539}, expr: &litMatcher{ - pos: position{line: 1678, col: 17, offset: 55285}, + pos: position{line: 1685, col: 17, offset: 55540}, val: "*", ignoreCase: false, want: "\"*\"", @@ -29420,20 +29647,20 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1682, col: 9, offset: 55385}, + pos: position{line: 1689, col: 9, offset: 55640}, run: (*parser).callonListElements317, }, }, }, }, &labeledExpr{ - pos: position{line: 1699, col: 14, offset: 56092}, + pos: position{line: 1706, col: 14, offset: 56347}, label: "depth", expr: &actionExpr{ - pos: position{line: 1699, col: 21, offset: 56099}, + pos: position{line: 1706, col: 21, offset: 56354}, run: (*parser).callonListElements319, expr: &litMatcher{ - pos: position{line: 1699, col: 22, offset: 56100}, + pos: position{line: 1706, col: 22, offset: 56355}, val: "-", ignoreCase: false, want: "\"-\"", @@ -29444,12 +29671,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 3180, col: 11, offset: 103464}, + pos: position{line: 3076, col: 11, offset: 100101}, run: (*parser).callonListElements321, expr: &oneOrMoreExpr{ - pos: position{line: 3180, col: 11, offset: 103464}, + pos: position{line: 3076, col: 11, offset: 100101}, expr: &charClassMatcher{ - pos: position{line: 3180, col: 12, offset: 103465}, + pos: position{line: 3076, col: 12, offset: 100102}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -29462,29 +29689,29 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 1548, col: 9, offset: 50918}, + pos: position{line: 1555, col: 9, offset: 51173}, expr: &actionExpr{ - pos: position{line: 1782, col: 5, offset: 58442}, + pos: position{line: 1789, col: 5, offset: 58697}, run: (*parser).callonListElements325, expr: &seqExpr{ - pos: position{line: 1782, col: 5, offset: 58442}, + pos: position{line: 1789, col: 5, offset: 58697}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1782, col: 5, offset: 58442}, + pos: position{line: 1789, col: 5, offset: 58697}, val: "<", ignoreCase: false, want: "\"<\"", }, &labeledExpr{ - pos: position{line: 1782, col: 9, offset: 58446}, + pos: position{line: 1789, col: 9, offset: 58701}, label: "ref", expr: &actionExpr{ - pos: position{line: 1782, col: 14, offset: 58451}, + pos: position{line: 1789, col: 14, offset: 58706}, run: (*parser).callonListElements329, expr: &oneOrMoreExpr{ - pos: position{line: 1782, col: 14, offset: 58451}, + pos: position{line: 1789, col: 14, offset: 58706}, expr: &charClassMatcher{ - pos: position{line: 1782, col: 14, offset: 58451}, + pos: position{line: 1789, col: 14, offset: 58706}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -29494,18 +29721,18 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1782, col: 62, offset: 58499}, + pos: position{line: 1789, col: 62, offset: 58754}, val: ">", ignoreCase: false, want: "\">\"", }, &actionExpr{ - pos: position{line: 3180, col: 11, offset: 103464}, + pos: position{line: 3076, col: 11, offset: 100101}, run: (*parser).callonListElements333, expr: &oneOrMoreExpr{ - pos: position{line: 3180, col: 11, offset: 103464}, + pos: position{line: 3076, col: 11, offset: 100101}, expr: &charClassMatcher{ - pos: position{line: 3180, col: 12, offset: 103465}, + pos: position{line: 3076, col: 12, offset: 100102}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -29518,36 +29745,36 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 1549, col: 9, offset: 50952}, + pos: position{line: 1556, col: 9, offset: 51207}, expr: &seqExpr{ - pos: position{line: 1549, col: 11, offset: 50954}, + pos: position{line: 1556, col: 11, offset: 51209}, exprs: []interface{}{ &actionExpr{ - pos: position{line: 1726, col: 5, offset: 56820}, + pos: position{line: 1733, col: 5, offset: 57075}, run: (*parser).callonListElements338, expr: &oneOrMoreExpr{ - pos: position{line: 1726, col: 5, offset: 56820}, + pos: position{line: 1733, col: 5, offset: 57075}, expr: &seqExpr{ - pos: position{line: 1726, col: 6, offset: 56821}, + pos: position{line: 1733, col: 6, offset: 57076}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 1726, col: 6, offset: 56821}, + pos: position{line: 1733, col: 6, offset: 57076}, expr: &actionExpr{ - pos: position{line: 1731, col: 5, offset: 56971}, + pos: position{line: 1738, col: 5, offset: 57226}, run: (*parser).callonListElements342, expr: &seqExpr{ - pos: position{line: 1731, col: 5, offset: 56971}, + pos: position{line: 1738, col: 5, offset: 57226}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1731, col: 5, offset: 56971}, + pos: position{line: 1738, col: 5, offset: 57226}, label: "separator", expr: &actionExpr{ - pos: position{line: 1731, col: 16, offset: 56982}, + pos: position{line: 1738, col: 16, offset: 57237}, run: (*parser).callonListElements345, expr: &oneOrMoreExpr{ - pos: position{line: 1731, col: 16, offset: 56982}, + pos: position{line: 1738, col: 16, offset: 57237}, expr: &litMatcher{ - pos: position{line: 1731, col: 17, offset: 56983}, + pos: position{line: 1738, col: 17, offset: 57238}, val: ":", ignoreCase: false, want: "\":\"", @@ -29556,7 +29783,7 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1734, col: 5, offset: 57040}, + pos: position{line: 1741, col: 5, offset: 57295}, run: (*parser).callonListElements348, }, }, @@ -29564,30 +29791,30 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 1726, col: 35, offset: 56850}, + pos: position{line: 1733, col: 35, offset: 57105}, expr: &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonListElements351, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -29596,37 +29823,37 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, }, }, &anyMatcher{ - line: 1726, col: 40, offset: 56855, + line: 1733, col: 40, offset: 57110, }, }, }, }, }, &actionExpr{ - pos: position{line: 1731, col: 5, offset: 56971}, + pos: position{line: 1738, col: 5, offset: 57226}, run: (*parser).callonListElements359, expr: &seqExpr{ - pos: position{line: 1731, col: 5, offset: 56971}, + pos: position{line: 1738, col: 5, offset: 57226}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1731, col: 5, offset: 56971}, + pos: position{line: 1738, col: 5, offset: 57226}, label: "separator", expr: &actionExpr{ - pos: position{line: 1731, col: 16, offset: 56982}, + pos: position{line: 1738, col: 16, offset: 57237}, run: (*parser).callonListElements362, expr: &oneOrMoreExpr{ - pos: position{line: 1731, col: 16, offset: 56982}, + pos: position{line: 1738, col: 16, offset: 57237}, expr: &litMatcher{ - pos: position{line: 1731, col: 17, offset: 56983}, + pos: position{line: 1738, col: 17, offset: 57238}, val: ":", ignoreCase: false, want: "\":\"", @@ -29635,7 +29862,7 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1734, col: 5, offset: 57040}, + pos: position{line: 1741, col: 5, offset: 57295}, run: (*parser).callonListElements365, }, }, @@ -29645,17 +29872,17 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 1550, col: 9, offset: 51014}, + pos: position{line: 1557, col: 9, offset: 51269}, expr: &actionExpr{ - pos: position{line: 729, col: 5, offset: 23577}, + pos: position{line: 736, col: 5, offset: 23847}, run: (*parser).callonListElements367, expr: &seqExpr{ - pos: position{line: 729, col: 5, offset: 23577}, + pos: position{line: 736, col: 5, offset: 23847}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 729, col: 5, offset: 23577}, + pos: position{line: 736, col: 5, offset: 23847}, expr: &charClassMatcher{ - pos: position{line: 3090, col: 13, offset: 100713}, + pos: position{line: 2986, col: 13, offset: 97350}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -29664,36 +29891,36 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 730, col: 5, offset: 23607}, + pos: position{line: 737, col: 5, offset: 23877}, label: "delimiter", expr: &choiceExpr{ - pos: position{line: 731, col: 9, offset: 23627}, + pos: position{line: 738, col: 9, offset: 23897}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 745, col: 5, offset: 24119}, + pos: position{line: 752, col: 5, offset: 24389}, run: (*parser).callonListElements373, expr: &seqExpr{ - pos: position{line: 745, col: 5, offset: 24119}, + pos: position{line: 752, col: 5, offset: 24389}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 745, col: 5, offset: 24119}, + pos: position{line: 752, col: 5, offset: 24389}, label: "delimiter", expr: &actionExpr{ - pos: position{line: 745, col: 16, offset: 24130}, + pos: position{line: 752, col: 16, offset: 24400}, run: (*parser).callonListElements376, expr: &seqExpr{ - pos: position{line: 745, col: 16, offset: 24130}, + pos: position{line: 752, col: 16, offset: 24400}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 745, col: 16, offset: 24130}, + pos: position{line: 752, col: 16, offset: 24400}, val: "////", ignoreCase: false, want: "\"////\"", }, &zeroOrMoreExpr{ - pos: position{line: 745, col: 23, offset: 24137}, + pos: position{line: 752, col: 23, offset: 24407}, expr: &litMatcher{ - pos: position{line: 745, col: 23, offset: 24137}, + pos: position{line: 752, col: 23, offset: 24407}, val: "/", ignoreCase: false, want: "\"/\"", @@ -29704,12 +29931,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 747, col: 8, offset: 24221}, + pos: position{line: 754, col: 8, offset: 24491}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonListElements382, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -29718,28 +29945,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonListElements385, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -29748,9 +29975,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -29759,30 +29986,30 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 752, col: 5, offset: 24367}, + pos: position{line: 759, col: 5, offset: 24637}, run: (*parser).callonListElements392, expr: &seqExpr{ - pos: position{line: 752, col: 5, offset: 24367}, + pos: position{line: 759, col: 5, offset: 24637}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 752, col: 5, offset: 24367}, + pos: position{line: 759, col: 5, offset: 24637}, label: "delimiter", expr: &actionExpr{ - pos: position{line: 752, col: 16, offset: 24378}, + pos: position{line: 759, col: 16, offset: 24648}, run: (*parser).callonListElements395, expr: &seqExpr{ - pos: position{line: 752, col: 16, offset: 24378}, + pos: position{line: 759, col: 16, offset: 24648}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 752, col: 16, offset: 24378}, + pos: position{line: 759, col: 16, offset: 24648}, val: "====", ignoreCase: false, want: "\"====\"", }, &zeroOrMoreExpr{ - pos: position{line: 752, col: 23, offset: 24385}, + pos: position{line: 759, col: 23, offset: 24655}, expr: &litMatcher{ - pos: position{line: 752, col: 23, offset: 24385}, + pos: position{line: 759, col: 23, offset: 24655}, val: "=", ignoreCase: false, want: "\"=\"", @@ -29793,12 +30020,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 754, col: 8, offset: 24469}, + pos: position{line: 761, col: 8, offset: 24739}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonListElements401, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -29807,28 +30034,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonListElements404, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -29837,9 +30064,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -29848,27 +30075,27 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 765, col: 26, offset: 24855}, + pos: position{line: 772, col: 26, offset: 25125}, run: (*parser).callonListElements411, expr: &seqExpr{ - pos: position{line: 765, col: 26, offset: 24855}, + pos: position{line: 772, col: 26, offset: 25125}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 765, col: 26, offset: 24855}, + pos: position{line: 772, col: 26, offset: 25125}, val: "```", ignoreCase: false, want: "\"```\"", }, &labeledExpr{ - pos: position{line: 765, col: 32, offset: 24861}, + pos: position{line: 772, col: 32, offset: 25131}, label: "language", expr: &actionExpr{ - pos: position{line: 769, col: 13, offset: 24991}, + pos: position{line: 776, col: 13, offset: 25261}, run: (*parser).callonListElements415, expr: &oneOrMoreExpr{ - pos: position{line: 769, col: 14, offset: 24992}, + pos: position{line: 776, col: 14, offset: 25262}, expr: &charClassMatcher{ - pos: position{line: 769, col: 14, offset: 24992}, + pos: position{line: 776, col: 14, offset: 25262}, val: "[^\\r\\n` ]", chars: []rune{'\r', '\n', '`', ' '}, ignoreCase: false, @@ -29878,12 +30105,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 765, col: 52, offset: 24881}, + pos: position{line: 772, col: 52, offset: 25151}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonListElements419, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -29892,28 +30119,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonListElements422, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -29922,9 +30149,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -29933,30 +30160,30 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 759, col: 5, offset: 24614}, + pos: position{line: 766, col: 5, offset: 24884}, run: (*parser).callonListElements429, expr: &seqExpr{ - pos: position{line: 759, col: 5, offset: 24614}, + pos: position{line: 766, col: 5, offset: 24884}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 759, col: 5, offset: 24614}, + pos: position{line: 766, col: 5, offset: 24884}, label: "delimiter", expr: &actionExpr{ - pos: position{line: 759, col: 16, offset: 24625}, + pos: position{line: 766, col: 16, offset: 24895}, run: (*parser).callonListElements432, expr: &seqExpr{ - pos: position{line: 759, col: 16, offset: 24625}, + pos: position{line: 766, col: 16, offset: 24895}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 759, col: 16, offset: 24625}, + pos: position{line: 766, col: 16, offset: 24895}, val: "```", ignoreCase: false, want: "\"```\"", }, &zeroOrMoreExpr{ - pos: position{line: 759, col: 22, offset: 24631}, + pos: position{line: 766, col: 22, offset: 24901}, expr: &litMatcher{ - pos: position{line: 759, col: 22, offset: 24631}, + pos: position{line: 766, col: 22, offset: 24901}, val: "`", ignoreCase: false, want: "\"`\"", @@ -29967,12 +30194,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 761, col: 8, offset: 24715}, + pos: position{line: 768, col: 8, offset: 24985}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonListElements438, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -29981,28 +30208,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonListElements441, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -30011,9 +30238,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -30022,30 +30249,30 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 774, col: 5, offset: 25151}, + pos: position{line: 781, col: 5, offset: 25421}, run: (*parser).callonListElements448, expr: &seqExpr{ - pos: position{line: 774, col: 5, offset: 25151}, + pos: position{line: 781, col: 5, offset: 25421}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 774, col: 5, offset: 25151}, + pos: position{line: 781, col: 5, offset: 25421}, label: "delimiter", expr: &actionExpr{ - pos: position{line: 774, col: 16, offset: 25162}, + pos: position{line: 781, col: 16, offset: 25432}, run: (*parser).callonListElements451, expr: &seqExpr{ - pos: position{line: 774, col: 16, offset: 25162}, + pos: position{line: 781, col: 16, offset: 25432}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 774, col: 16, offset: 25162}, + pos: position{line: 781, col: 16, offset: 25432}, val: "----", ignoreCase: false, want: "\"----\"", }, &zeroOrMoreExpr{ - pos: position{line: 774, col: 23, offset: 25169}, + pos: position{line: 781, col: 23, offset: 25439}, expr: &litMatcher{ - pos: position{line: 774, col: 23, offset: 25169}, + pos: position{line: 781, col: 23, offset: 25439}, val: "-", ignoreCase: false, want: "\"-\"", @@ -30056,12 +30283,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 776, col: 8, offset: 25253}, + pos: position{line: 783, col: 8, offset: 25523}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonListElements457, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -30070,28 +30297,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonListElements460, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -30100,9 +30327,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -30111,30 +30338,30 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 781, col: 5, offset: 25399}, + pos: position{line: 788, col: 5, offset: 25669}, run: (*parser).callonListElements467, expr: &seqExpr{ - pos: position{line: 781, col: 5, offset: 25399}, + pos: position{line: 788, col: 5, offset: 25669}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 781, col: 5, offset: 25399}, + pos: position{line: 788, col: 5, offset: 25669}, label: "delimiter", expr: &actionExpr{ - pos: position{line: 781, col: 16, offset: 25410}, + pos: position{line: 788, col: 16, offset: 25680}, run: (*parser).callonListElements470, expr: &seqExpr{ - pos: position{line: 781, col: 16, offset: 25410}, + pos: position{line: 788, col: 16, offset: 25680}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 781, col: 16, offset: 25410}, + pos: position{line: 788, col: 16, offset: 25680}, val: "....", ignoreCase: false, want: "\"....\"", }, &zeroOrMoreExpr{ - pos: position{line: 781, col: 23, offset: 25417}, + pos: position{line: 788, col: 23, offset: 25687}, expr: &litMatcher{ - pos: position{line: 781, col: 23, offset: 25417}, + pos: position{line: 788, col: 23, offset: 25687}, val: ".", ignoreCase: false, want: "\".\"", @@ -30145,12 +30372,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 783, col: 8, offset: 25501}, + pos: position{line: 790, col: 8, offset: 25771}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonListElements476, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -30159,28 +30386,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonListElements479, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -30189,9 +30416,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -30200,30 +30427,30 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 788, col: 5, offset: 25651}, + pos: position{line: 795, col: 5, offset: 25921}, run: (*parser).callonListElements486, expr: &seqExpr{ - pos: position{line: 788, col: 5, offset: 25651}, + pos: position{line: 795, col: 5, offset: 25921}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 788, col: 5, offset: 25651}, + pos: position{line: 795, col: 5, offset: 25921}, label: "delimiter", expr: &actionExpr{ - pos: position{line: 788, col: 16, offset: 25662}, + pos: position{line: 795, col: 16, offset: 25932}, run: (*parser).callonListElements489, expr: &seqExpr{ - pos: position{line: 788, col: 16, offset: 25662}, + pos: position{line: 795, col: 16, offset: 25932}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 788, col: 16, offset: 25662}, + pos: position{line: 795, col: 16, offset: 25932}, val: "++++", ignoreCase: false, want: "\"++++\"", }, &zeroOrMoreExpr{ - pos: position{line: 788, col: 23, offset: 25669}, + pos: position{line: 795, col: 23, offset: 25939}, expr: &litMatcher{ - pos: position{line: 788, col: 23, offset: 25669}, + pos: position{line: 795, col: 23, offset: 25939}, val: "+", ignoreCase: false, want: "\"+\"", @@ -30234,12 +30461,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 790, col: 8, offset: 25753}, + pos: position{line: 797, col: 8, offset: 26023}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonListElements495, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -30248,28 +30475,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonListElements498, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -30278,9 +30505,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -30289,30 +30516,30 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 795, col: 5, offset: 25901}, + pos: position{line: 802, col: 5, offset: 26171}, run: (*parser).callonListElements505, expr: &seqExpr{ - pos: position{line: 795, col: 5, offset: 25901}, + pos: position{line: 802, col: 5, offset: 26171}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 795, col: 5, offset: 25901}, + pos: position{line: 802, col: 5, offset: 26171}, label: "delimiter", expr: &actionExpr{ - pos: position{line: 795, col: 16, offset: 25912}, + pos: position{line: 802, col: 16, offset: 26182}, run: (*parser).callonListElements508, expr: &seqExpr{ - pos: position{line: 795, col: 16, offset: 25912}, + pos: position{line: 802, col: 16, offset: 26182}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 795, col: 16, offset: 25912}, + pos: position{line: 802, col: 16, offset: 26182}, val: "____", ignoreCase: false, want: "\"____\"", }, &zeroOrMoreExpr{ - pos: position{line: 795, col: 23, offset: 25919}, + pos: position{line: 802, col: 23, offset: 26189}, expr: &litMatcher{ - pos: position{line: 795, col: 23, offset: 25919}, + pos: position{line: 802, col: 23, offset: 26189}, val: "_", ignoreCase: false, want: "\"_\"", @@ -30323,12 +30550,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 797, col: 8, offset: 26003}, + pos: position{line: 804, col: 8, offset: 26273}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonListElements514, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -30337,28 +30564,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonListElements517, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -30367,9 +30594,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -30378,30 +30605,30 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 802, col: 5, offset: 26147}, + pos: position{line: 809, col: 5, offset: 26417}, run: (*parser).callonListElements524, expr: &seqExpr{ - pos: position{line: 802, col: 5, offset: 26147}, + pos: position{line: 809, col: 5, offset: 26417}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 802, col: 5, offset: 26147}, + pos: position{line: 809, col: 5, offset: 26417}, label: "delimiter", expr: &actionExpr{ - pos: position{line: 802, col: 16, offset: 26158}, + pos: position{line: 809, col: 16, offset: 26428}, run: (*parser).callonListElements527, expr: &seqExpr{ - pos: position{line: 802, col: 16, offset: 26158}, + pos: position{line: 809, col: 16, offset: 26428}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 802, col: 16, offset: 26158}, + pos: position{line: 809, col: 16, offset: 26428}, val: "****", ignoreCase: false, want: "\"****\"", }, &zeroOrMoreExpr{ - pos: position{line: 802, col: 23, offset: 26165}, + pos: position{line: 809, col: 23, offset: 26435}, expr: &litMatcher{ - pos: position{line: 802, col: 23, offset: 26165}, + pos: position{line: 809, col: 23, offset: 26435}, val: "*", ignoreCase: false, want: "\"*\"", @@ -30412,12 +30639,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 804, col: 8, offset: 26249}, + pos: position{line: 811, col: 8, offset: 26519}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonListElements533, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -30426,28 +30653,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonListElements536, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -30456,9 +30683,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -30474,15 +30701,15 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1551, col: 9, offset: 51038}, + pos: position{line: 1558, col: 9, offset: 51293}, label: "content", expr: &actionExpr{ - pos: position{line: 1551, col: 18, offset: 51047}, + pos: position{line: 1558, col: 18, offset: 51302}, run: (*parser).callonListElements544, expr: &oneOrMoreExpr{ - pos: position{line: 1551, col: 18, offset: 51047}, + pos: position{line: 1558, col: 18, offset: 51302}, expr: &charClassMatcher{ - pos: position{line: 1551, col: 18, offset: 51047}, + pos: position{line: 1558, col: 18, offset: 51302}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -30492,28 +30719,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonListElements548, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -30522,9 +30749,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -30540,18 +30767,18 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1754, col: 9, offset: 57638}, + pos: position{line: 1761, col: 9, offset: 57893}, run: (*parser).callonListElements555, expr: &seqExpr{ - pos: position{line: 1754, col: 9, offset: 57638}, + pos: position{line: 1761, col: 9, offset: 57893}, exprs: []interface{}{ &actionExpr{ - pos: position{line: 3180, col: 11, offset: 103464}, + pos: position{line: 3076, col: 11, offset: 100101}, run: (*parser).callonListElements557, expr: &oneOrMoreExpr{ - pos: position{line: 3180, col: 11, offset: 103464}, + pos: position{line: 3076, col: 11, offset: 100101}, expr: &charClassMatcher{ - pos: position{line: 3180, col: 12, offset: 103465}, + pos: position{line: 3076, col: 12, offset: 100102}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -30560,15 +30787,15 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1755, col: 9, offset: 57690}, + pos: position{line: 1762, col: 9, offset: 57945}, label: "content", expr: &actionExpr{ - pos: position{line: 1755, col: 18, offset: 57699}, + pos: position{line: 1762, col: 18, offset: 57954}, run: (*parser).callonListElements561, expr: &oneOrMoreExpr{ - pos: position{line: 1755, col: 18, offset: 57699}, + pos: position{line: 1762, col: 18, offset: 57954}, expr: &charClassMatcher{ - pos: position{line: 1755, col: 18, offset: 57699}, + pos: position{line: 1762, col: 18, offset: 57954}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -30578,28 +30805,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonListElements565, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -30608,9 +30835,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -30628,10 +30855,10 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1467, col: 5, offset: 48057}, + pos: position{line: 1474, col: 5, offset: 48312}, label: "extraElements", expr: &ruleRefExpr{ - pos: position{line: 1467, col: 20, offset: 48072}, + pos: position{line: 1474, col: 20, offset: 48327}, name: "ExtraListElements", }, }, @@ -30641,17 +30868,17 @@ var g = &grammar{ }, { name: "ExtraListElements", - pos: position{line: 1477, col: 1, offset: 48327}, + pos: position{line: 1484, col: 1, offset: 48582}, expr: &actionExpr{ - pos: position{line: 1477, col: 22, offset: 48348}, + pos: position{line: 1484, col: 22, offset: 48603}, run: (*parser).callonExtraListElements1, expr: &labeledExpr{ - pos: position{line: 1477, col: 22, offset: 48348}, + pos: position{line: 1484, col: 22, offset: 48603}, label: "elements", expr: &zeroOrMoreExpr{ - pos: position{line: 1477, col: 31, offset: 48357}, + pos: position{line: 1484, col: 31, offset: 48612}, expr: &ruleRefExpr{ - pos: position{line: 1477, col: 32, offset: 48358}, + pos: position{line: 1484, col: 32, offset: 48613}, name: "ExtraListElement", }, }, @@ -30660,58 +30887,58 @@ var g = &grammar{ }, { name: "ExtraListElement", - pos: position{line: 1481, col: 1, offset: 48438}, + pos: position{line: 1488, col: 1, offset: 48693}, expr: &actionExpr{ - pos: position{line: 1482, col: 5, offset: 48577}, + pos: position{line: 1489, col: 5, offset: 48832}, run: (*parser).callonExtraListElement1, expr: &seqExpr{ - pos: position{line: 1482, col: 5, offset: 48577}, + pos: position{line: 1489, col: 5, offset: 48832}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 1482, col: 5, offset: 48577}, + pos: position{line: 1489, col: 5, offset: 48832}, expr: ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, &labeledExpr{ - pos: position{line: 1483, col: 5, offset: 48587}, + pos: position{line: 1490, col: 5, offset: 48842}, label: "element", expr: &choiceExpr{ - pos: position{line: 1484, col: 9, offset: 48605}, + pos: position{line: 1491, col: 9, offset: 48860}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 1484, col: 13, offset: 48609}, + pos: position{line: 1491, col: 13, offset: 48864}, run: (*parser).callonExtraListElement8, expr: &seqExpr{ - pos: position{line: 1484, col: 13, offset: 48609}, + pos: position{line: 1491, col: 13, offset: 48864}, exprs: []interface{}{ &zeroOrMoreExpr{ - pos: position{line: 1484, col: 13, offset: 48609}, + pos: position{line: 1491, col: 13, offset: 48864}, expr: &actionExpr{ - pos: position{line: 683, col: 14, offset: 22042}, + pos: position{line: 690, col: 14, offset: 22312}, run: (*parser).callonExtraListElement11, expr: &seqExpr{ - pos: position{line: 683, col: 14, offset: 22042}, + pos: position{line: 690, col: 14, offset: 22312}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 683, col: 14, offset: 22042}, + pos: position{line: 690, col: 14, offset: 22312}, expr: ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, &zeroOrMoreExpr{ - pos: position{line: 683, col: 19, offset: 22047}, + pos: position{line: 690, col: 19, offset: 22317}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonExtraListElement17, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -30720,28 +30947,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonExtraListElement20, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -30750,9 +30977,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -30762,30 +30989,30 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1485, col: 13, offset: 48633}, + pos: position{line: 1492, col: 13, offset: 48888}, label: "element", expr: &actionExpr{ - pos: position{line: 1619, col: 5, offset: 53035}, + pos: position{line: 1626, col: 5, offset: 53290}, run: (*parser).callonExtraListElement28, expr: &seqExpr{ - pos: position{line: 1619, col: 5, offset: 53035}, + pos: position{line: 1626, col: 5, offset: 53290}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1619, col: 5, offset: 53035}, + pos: position{line: 1626, col: 5, offset: 53290}, label: "prefix", expr: &actionExpr{ - pos: position{line: 1626, col: 5, offset: 53243}, + pos: position{line: 1633, col: 5, offset: 53498}, run: (*parser).callonExtraListElement31, expr: &seqExpr{ - pos: position{line: 1626, col: 5, offset: 53243}, + pos: position{line: 1633, col: 5, offset: 53498}, exprs: []interface{}{ &zeroOrMoreExpr{ - pos: position{line: 1626, col: 5, offset: 53243}, + pos: position{line: 1633, col: 5, offset: 53498}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonExtraListElement34, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -30794,27 +31021,27 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1626, col: 12, offset: 53250}, + pos: position{line: 1633, col: 12, offset: 53505}, label: "prefix", expr: &choiceExpr{ - pos: position{line: 1628, col: 9, offset: 53313}, + pos: position{line: 1635, col: 9, offset: 53568}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 1628, col: 9, offset: 53313}, + pos: position{line: 1635, col: 9, offset: 53568}, run: (*parser).callonExtraListElement38, expr: &seqExpr{ - pos: position{line: 1628, col: 9, offset: 53313}, + pos: position{line: 1635, col: 9, offset: 53568}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1628, col: 9, offset: 53313}, + pos: position{line: 1635, col: 9, offset: 53568}, label: "depth", expr: &actionExpr{ - pos: position{line: 1628, col: 16, offset: 53320}, + pos: position{line: 1635, col: 16, offset: 53575}, run: (*parser).callonExtraListElement41, expr: &oneOrMoreExpr{ - pos: position{line: 1628, col: 16, offset: 53320}, + pos: position{line: 1635, col: 16, offset: 53575}, expr: &litMatcher{ - pos: position{line: 1628, col: 17, offset: 53321}, + pos: position{line: 1635, col: 17, offset: 53576}, val: ".", ignoreCase: false, want: "\".\"", @@ -30823,22 +31050,22 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1632, col: 9, offset: 53421}, + pos: position{line: 1639, col: 9, offset: 53676}, run: (*parser).callonExtraListElement44, }, }, }, }, &actionExpr{ - pos: position{line: 1651, col: 11, offset: 54138}, + pos: position{line: 1658, col: 11, offset: 54393}, run: (*parser).callonExtraListElement45, expr: &seqExpr{ - pos: position{line: 1651, col: 11, offset: 54138}, + pos: position{line: 1658, col: 11, offset: 54393}, exprs: []interface{}{ &oneOrMoreExpr{ - pos: position{line: 1651, col: 11, offset: 54138}, + pos: position{line: 1658, col: 11, offset: 54393}, expr: &charClassMatcher{ - pos: position{line: 1651, col: 12, offset: 54139}, + pos: position{line: 1658, col: 12, offset: 54394}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -30846,7 +31073,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1651, col: 20, offset: 54147}, + pos: position{line: 1658, col: 20, offset: 54402}, val: ".", ignoreCase: false, want: "\".\"", @@ -30855,20 +31082,20 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1653, col: 13, offset: 54264}, + pos: position{line: 1660, col: 13, offset: 54519}, run: (*parser).callonExtraListElement50, expr: &seqExpr{ - pos: position{line: 1653, col: 13, offset: 54264}, + pos: position{line: 1660, col: 13, offset: 54519}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 1653, col: 14, offset: 54265}, + pos: position{line: 1660, col: 14, offset: 54520}, val: "[a-z]", ranges: []rune{'a', 'z'}, ignoreCase: false, inverted: false, }, &litMatcher{ - pos: position{line: 1653, col: 21, offset: 54272}, + pos: position{line: 1660, col: 21, offset: 54527}, val: ".", ignoreCase: false, want: "\".\"", @@ -30877,20 +31104,20 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1655, col: 13, offset: 54392}, + pos: position{line: 1662, col: 13, offset: 54647}, run: (*parser).callonExtraListElement54, expr: &seqExpr{ - pos: position{line: 1655, col: 13, offset: 54392}, + pos: position{line: 1662, col: 13, offset: 54647}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 1655, col: 14, offset: 54393}, + pos: position{line: 1662, col: 14, offset: 54648}, val: "[A-Z]", ranges: []rune{'A', 'Z'}, ignoreCase: false, inverted: false, }, &litMatcher{ - pos: position{line: 1655, col: 21, offset: 54400}, + pos: position{line: 1662, col: 21, offset: 54655}, val: ".", ignoreCase: false, want: "\".\"", @@ -30899,15 +31126,15 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1657, col: 13, offset: 54520}, + pos: position{line: 1664, col: 13, offset: 54775}, run: (*parser).callonExtraListElement58, expr: &seqExpr{ - pos: position{line: 1657, col: 13, offset: 54520}, + pos: position{line: 1664, col: 13, offset: 54775}, exprs: []interface{}{ &oneOrMoreExpr{ - pos: position{line: 1657, col: 13, offset: 54520}, + pos: position{line: 1664, col: 13, offset: 54775}, expr: &charClassMatcher{ - pos: position{line: 1657, col: 14, offset: 54521}, + pos: position{line: 1664, col: 14, offset: 54776}, val: "[ivxdlcm]", chars: []rune{'i', 'v', 'x', 'd', 'l', 'c', 'm'}, ignoreCase: false, @@ -30915,7 +31142,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1657, col: 26, offset: 54533}, + pos: position{line: 1664, col: 26, offset: 54788}, val: ")", ignoreCase: false, want: "\")\"", @@ -30924,15 +31151,15 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1659, col: 13, offset: 54653}, + pos: position{line: 1666, col: 13, offset: 54908}, run: (*parser).callonExtraListElement63, expr: &seqExpr{ - pos: position{line: 1659, col: 13, offset: 54653}, + pos: position{line: 1666, col: 13, offset: 54908}, exprs: []interface{}{ &oneOrMoreExpr{ - pos: position{line: 1659, col: 13, offset: 54653}, + pos: position{line: 1666, col: 13, offset: 54908}, expr: &charClassMatcher{ - pos: position{line: 1659, col: 14, offset: 54654}, + pos: position{line: 1666, col: 14, offset: 54909}, val: "[IVXDLCM]", chars: []rune{'I', 'V', 'X', 'D', 'L', 'C', 'M'}, ignoreCase: false, @@ -30940,7 +31167,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1659, col: 26, offset: 54666}, + pos: position{line: 1666, col: 26, offset: 54921}, val: ")", ignoreCase: false, want: "\")\"", @@ -30952,12 +31179,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 3180, col: 11, offset: 103464}, + pos: position{line: 3076, col: 11, offset: 100101}, run: (*parser).callonExtraListElement68, expr: &oneOrMoreExpr{ - pos: position{line: 3180, col: 11, offset: 103464}, + pos: position{line: 3076, col: 11, offset: 100101}, expr: &charClassMatcher{ - pos: position{line: 3180, col: 12, offset: 103465}, + pos: position{line: 3076, col: 12, offset: 100102}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -30970,24 +31197,24 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1620, col: 5, offset: 53074}, + pos: position{line: 1627, col: 5, offset: 53329}, label: "content", expr: &actionExpr{ - pos: position{line: 1560, col: 5, offset: 51270}, + pos: position{line: 1567, col: 5, offset: 51525}, run: (*parser).callonExtraListElement72, expr: &seqExpr{ - pos: position{line: 1560, col: 5, offset: 51270}, + pos: position{line: 1567, col: 5, offset: 51525}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1560, col: 5, offset: 51270}, + pos: position{line: 1567, col: 5, offset: 51525}, label: "rawline", expr: &actionExpr{ - pos: position{line: 1560, col: 14, offset: 51279}, + pos: position{line: 1567, col: 14, offset: 51534}, run: (*parser).callonExtraListElement75, expr: &oneOrMoreExpr{ - pos: position{line: 1560, col: 14, offset: 51279}, + pos: position{line: 1567, col: 14, offset: 51534}, expr: &charClassMatcher{ - pos: position{line: 1560, col: 14, offset: 51279}, + pos: position{line: 1567, col: 14, offset: 51534}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -30997,28 +31224,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonExtraListElement79, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -31027,9 +31254,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -31046,47 +31273,47 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1488, col: 13, offset: 48725}, + pos: position{line: 1495, col: 13, offset: 48980}, run: (*parser).callonExtraListElement86, expr: &seqExpr{ - pos: position{line: 1488, col: 13, offset: 48725}, + pos: position{line: 1495, col: 13, offset: 48980}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1488, col: 13, offset: 48725}, + pos: position{line: 1495, col: 13, offset: 48980}, label: "attributes", expr: &oneOrMoreExpr{ - pos: position{line: 1488, col: 24, offset: 48736}, + pos: position{line: 1495, col: 24, offset: 48991}, expr: &ruleRefExpr{ - pos: position{line: 1488, col: 25, offset: 48737}, + pos: position{line: 1495, col: 25, offset: 48992}, name: "BlockAttributes", }, }, }, &labeledExpr{ - pos: position{line: 1489, col: 13, offset: 48768}, + pos: position{line: 1496, col: 13, offset: 49023}, label: "element", expr: &actionExpr{ - pos: position{line: 1619, col: 5, offset: 53035}, + pos: position{line: 1626, col: 5, offset: 53290}, run: (*parser).callonExtraListElement92, expr: &seqExpr{ - pos: position{line: 1619, col: 5, offset: 53035}, + pos: position{line: 1626, col: 5, offset: 53290}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1619, col: 5, offset: 53035}, + pos: position{line: 1626, col: 5, offset: 53290}, label: "prefix", expr: &actionExpr{ - pos: position{line: 1626, col: 5, offset: 53243}, + pos: position{line: 1633, col: 5, offset: 53498}, run: (*parser).callonExtraListElement95, expr: &seqExpr{ - pos: position{line: 1626, col: 5, offset: 53243}, + pos: position{line: 1633, col: 5, offset: 53498}, exprs: []interface{}{ &zeroOrMoreExpr{ - pos: position{line: 1626, col: 5, offset: 53243}, + pos: position{line: 1633, col: 5, offset: 53498}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonExtraListElement98, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -31095,27 +31322,27 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1626, col: 12, offset: 53250}, + pos: position{line: 1633, col: 12, offset: 53505}, label: "prefix", expr: &choiceExpr{ - pos: position{line: 1628, col: 9, offset: 53313}, + pos: position{line: 1635, col: 9, offset: 53568}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 1628, col: 9, offset: 53313}, + pos: position{line: 1635, col: 9, offset: 53568}, run: (*parser).callonExtraListElement102, expr: &seqExpr{ - pos: position{line: 1628, col: 9, offset: 53313}, + pos: position{line: 1635, col: 9, offset: 53568}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1628, col: 9, offset: 53313}, + pos: position{line: 1635, col: 9, offset: 53568}, label: "depth", expr: &actionExpr{ - pos: position{line: 1628, col: 16, offset: 53320}, + pos: position{line: 1635, col: 16, offset: 53575}, run: (*parser).callonExtraListElement105, expr: &oneOrMoreExpr{ - pos: position{line: 1628, col: 16, offset: 53320}, + pos: position{line: 1635, col: 16, offset: 53575}, expr: &litMatcher{ - pos: position{line: 1628, col: 17, offset: 53321}, + pos: position{line: 1635, col: 17, offset: 53576}, val: ".", ignoreCase: false, want: "\".\"", @@ -31124,22 +31351,22 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1632, col: 9, offset: 53421}, + pos: position{line: 1639, col: 9, offset: 53676}, run: (*parser).callonExtraListElement108, }, }, }, }, &actionExpr{ - pos: position{line: 1651, col: 11, offset: 54138}, + pos: position{line: 1658, col: 11, offset: 54393}, run: (*parser).callonExtraListElement109, expr: &seqExpr{ - pos: position{line: 1651, col: 11, offset: 54138}, + pos: position{line: 1658, col: 11, offset: 54393}, exprs: []interface{}{ &oneOrMoreExpr{ - pos: position{line: 1651, col: 11, offset: 54138}, + pos: position{line: 1658, col: 11, offset: 54393}, expr: &charClassMatcher{ - pos: position{line: 1651, col: 12, offset: 54139}, + pos: position{line: 1658, col: 12, offset: 54394}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -31147,7 +31374,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1651, col: 20, offset: 54147}, + pos: position{line: 1658, col: 20, offset: 54402}, val: ".", ignoreCase: false, want: "\".\"", @@ -31156,20 +31383,20 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1653, col: 13, offset: 54264}, + pos: position{line: 1660, col: 13, offset: 54519}, run: (*parser).callonExtraListElement114, expr: &seqExpr{ - pos: position{line: 1653, col: 13, offset: 54264}, + pos: position{line: 1660, col: 13, offset: 54519}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 1653, col: 14, offset: 54265}, + pos: position{line: 1660, col: 14, offset: 54520}, val: "[a-z]", ranges: []rune{'a', 'z'}, ignoreCase: false, inverted: false, }, &litMatcher{ - pos: position{line: 1653, col: 21, offset: 54272}, + pos: position{line: 1660, col: 21, offset: 54527}, val: ".", ignoreCase: false, want: "\".\"", @@ -31178,20 +31405,20 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1655, col: 13, offset: 54392}, + pos: position{line: 1662, col: 13, offset: 54647}, run: (*parser).callonExtraListElement118, expr: &seqExpr{ - pos: position{line: 1655, col: 13, offset: 54392}, + pos: position{line: 1662, col: 13, offset: 54647}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 1655, col: 14, offset: 54393}, + pos: position{line: 1662, col: 14, offset: 54648}, val: "[A-Z]", ranges: []rune{'A', 'Z'}, ignoreCase: false, inverted: false, }, &litMatcher{ - pos: position{line: 1655, col: 21, offset: 54400}, + pos: position{line: 1662, col: 21, offset: 54655}, val: ".", ignoreCase: false, want: "\".\"", @@ -31200,15 +31427,15 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1657, col: 13, offset: 54520}, + pos: position{line: 1664, col: 13, offset: 54775}, run: (*parser).callonExtraListElement122, expr: &seqExpr{ - pos: position{line: 1657, col: 13, offset: 54520}, + pos: position{line: 1664, col: 13, offset: 54775}, exprs: []interface{}{ &oneOrMoreExpr{ - pos: position{line: 1657, col: 13, offset: 54520}, + pos: position{line: 1664, col: 13, offset: 54775}, expr: &charClassMatcher{ - pos: position{line: 1657, col: 14, offset: 54521}, + pos: position{line: 1664, col: 14, offset: 54776}, val: "[ivxdlcm]", chars: []rune{'i', 'v', 'x', 'd', 'l', 'c', 'm'}, ignoreCase: false, @@ -31216,7 +31443,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1657, col: 26, offset: 54533}, + pos: position{line: 1664, col: 26, offset: 54788}, val: ")", ignoreCase: false, want: "\")\"", @@ -31225,15 +31452,15 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1659, col: 13, offset: 54653}, + pos: position{line: 1666, col: 13, offset: 54908}, run: (*parser).callonExtraListElement127, expr: &seqExpr{ - pos: position{line: 1659, col: 13, offset: 54653}, + pos: position{line: 1666, col: 13, offset: 54908}, exprs: []interface{}{ &oneOrMoreExpr{ - pos: position{line: 1659, col: 13, offset: 54653}, + pos: position{line: 1666, col: 13, offset: 54908}, expr: &charClassMatcher{ - pos: position{line: 1659, col: 14, offset: 54654}, + pos: position{line: 1666, col: 14, offset: 54909}, val: "[IVXDLCM]", chars: []rune{'I', 'V', 'X', 'D', 'L', 'C', 'M'}, ignoreCase: false, @@ -31241,7 +31468,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1659, col: 26, offset: 54666}, + pos: position{line: 1666, col: 26, offset: 54921}, val: ")", ignoreCase: false, want: "\")\"", @@ -31253,12 +31480,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 3180, col: 11, offset: 103464}, + pos: position{line: 3076, col: 11, offset: 100101}, run: (*parser).callonExtraListElement132, expr: &oneOrMoreExpr{ - pos: position{line: 3180, col: 11, offset: 103464}, + pos: position{line: 3076, col: 11, offset: 100101}, expr: &charClassMatcher{ - pos: position{line: 3180, col: 12, offset: 103465}, + pos: position{line: 3076, col: 12, offset: 100102}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -31271,24 +31498,24 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1620, col: 5, offset: 53074}, + pos: position{line: 1627, col: 5, offset: 53329}, label: "content", expr: &actionExpr{ - pos: position{line: 1560, col: 5, offset: 51270}, + pos: position{line: 1567, col: 5, offset: 51525}, run: (*parser).callonExtraListElement136, expr: &seqExpr{ - pos: position{line: 1560, col: 5, offset: 51270}, + pos: position{line: 1567, col: 5, offset: 51525}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1560, col: 5, offset: 51270}, + pos: position{line: 1567, col: 5, offset: 51525}, label: "rawline", expr: &actionExpr{ - pos: position{line: 1560, col: 14, offset: 51279}, + pos: position{line: 1567, col: 14, offset: 51534}, run: (*parser).callonExtraListElement139, expr: &oneOrMoreExpr{ - pos: position{line: 1560, col: 14, offset: 51279}, + pos: position{line: 1567, col: 14, offset: 51534}, expr: &charClassMatcher{ - pos: position{line: 1560, col: 14, offset: 51279}, + pos: position{line: 1567, col: 14, offset: 51534}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -31298,28 +31525,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonExtraListElement143, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -31328,9 +31555,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -31347,35 +31574,35 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1492, col: 13, offset: 48896}, + pos: position{line: 1499, col: 13, offset: 49151}, run: (*parser).callonExtraListElement150, expr: &seqExpr{ - pos: position{line: 1492, col: 13, offset: 48896}, + pos: position{line: 1499, col: 13, offset: 49151}, exprs: []interface{}{ &zeroOrMoreExpr{ - pos: position{line: 1492, col: 13, offset: 48896}, + pos: position{line: 1499, col: 13, offset: 49151}, expr: &actionExpr{ - pos: position{line: 683, col: 14, offset: 22042}, + pos: position{line: 690, col: 14, offset: 22312}, run: (*parser).callonExtraListElement153, expr: &seqExpr{ - pos: position{line: 683, col: 14, offset: 22042}, + pos: position{line: 690, col: 14, offset: 22312}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 683, col: 14, offset: 22042}, + pos: position{line: 690, col: 14, offset: 22312}, expr: ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, &zeroOrMoreExpr{ - pos: position{line: 683, col: 19, offset: 22047}, + pos: position{line: 690, col: 19, offset: 22317}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonExtraListElement159, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -31384,28 +31611,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonExtraListElement162, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -31414,9 +31641,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -31426,30 +31653,30 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1493, col: 13, offset: 48920}, + pos: position{line: 1500, col: 13, offset: 49175}, label: "element", expr: &actionExpr{ - pos: position{line: 1669, col: 5, offset: 54932}, + pos: position{line: 1676, col: 5, offset: 55187}, run: (*parser).callonExtraListElement170, expr: &seqExpr{ - pos: position{line: 1669, col: 5, offset: 54932}, + pos: position{line: 1676, col: 5, offset: 55187}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1669, col: 5, offset: 54932}, + pos: position{line: 1676, col: 5, offset: 55187}, label: "prefix", expr: &actionExpr{ - pos: position{line: 1676, col: 5, offset: 55205}, + pos: position{line: 1683, col: 5, offset: 55460}, run: (*parser).callonExtraListElement173, expr: &seqExpr{ - pos: position{line: 1676, col: 5, offset: 55205}, + pos: position{line: 1683, col: 5, offset: 55460}, exprs: []interface{}{ &zeroOrMoreExpr{ - pos: position{line: 1676, col: 5, offset: 55205}, + pos: position{line: 1683, col: 5, offset: 55460}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonExtraListElement176, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -31458,27 +31685,27 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1676, col: 12, offset: 55212}, + pos: position{line: 1683, col: 12, offset: 55467}, label: "prefix", expr: &choiceExpr{ - pos: position{line: 1676, col: 20, offset: 55220}, + pos: position{line: 1683, col: 20, offset: 55475}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 1678, col: 9, offset: 55277}, + pos: position{line: 1685, col: 9, offset: 55532}, run: (*parser).callonExtraListElement180, expr: &seqExpr{ - pos: position{line: 1678, col: 9, offset: 55277}, + pos: position{line: 1685, col: 9, offset: 55532}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1678, col: 9, offset: 55277}, + pos: position{line: 1685, col: 9, offset: 55532}, label: "depth", expr: &actionExpr{ - pos: position{line: 1678, col: 16, offset: 55284}, + pos: position{line: 1685, col: 16, offset: 55539}, run: (*parser).callonExtraListElement183, expr: &oneOrMoreExpr{ - pos: position{line: 1678, col: 16, offset: 55284}, + pos: position{line: 1685, col: 16, offset: 55539}, expr: &litMatcher{ - pos: position{line: 1678, col: 17, offset: 55285}, + pos: position{line: 1685, col: 17, offset: 55540}, val: "*", ignoreCase: false, want: "\"*\"", @@ -31487,20 +31714,20 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1682, col: 9, offset: 55385}, + pos: position{line: 1689, col: 9, offset: 55640}, run: (*parser).callonExtraListElement186, }, }, }, }, &labeledExpr{ - pos: position{line: 1699, col: 14, offset: 56092}, + pos: position{line: 1706, col: 14, offset: 56347}, label: "depth", expr: &actionExpr{ - pos: position{line: 1699, col: 21, offset: 56099}, + pos: position{line: 1706, col: 21, offset: 56354}, run: (*parser).callonExtraListElement188, expr: &litMatcher{ - pos: position{line: 1699, col: 22, offset: 56100}, + pos: position{line: 1706, col: 22, offset: 56355}, val: "-", ignoreCase: false, want: "\"-\"", @@ -31511,12 +31738,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 3180, col: 11, offset: 103464}, + pos: position{line: 3076, col: 11, offset: 100101}, run: (*parser).callonExtraListElement190, expr: &oneOrMoreExpr{ - pos: position{line: 3180, col: 11, offset: 103464}, + pos: position{line: 3076, col: 11, offset: 100101}, expr: &charClassMatcher{ - pos: position{line: 3180, col: 12, offset: 103465}, + pos: position{line: 3076, col: 12, offset: 100102}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -31529,56 +31756,56 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1670, col: 5, offset: 54973}, + pos: position{line: 1677, col: 5, offset: 55228}, label: "checkstyle", expr: &zeroOrOneExpr{ - pos: position{line: 1670, col: 16, offset: 54984}, + pos: position{line: 1677, col: 16, offset: 55239}, expr: &actionExpr{ - pos: position{line: 1706, col: 5, offset: 56261}, + pos: position{line: 1713, col: 5, offset: 56516}, run: (*parser).callonExtraListElement195, expr: &seqExpr{ - pos: position{line: 1706, col: 5, offset: 56261}, + pos: position{line: 1713, col: 5, offset: 56516}, exprs: []interface{}{ &andExpr{ - pos: position{line: 1706, col: 5, offset: 56261}, + pos: position{line: 1713, col: 5, offset: 56516}, expr: &litMatcher{ - pos: position{line: 1706, col: 6, offset: 56262}, + pos: position{line: 1713, col: 6, offset: 56517}, val: "[", ignoreCase: false, want: "\"[\"", }, }, &labeledExpr{ - pos: position{line: 1706, col: 10, offset: 56266}, + pos: position{line: 1713, col: 10, offset: 56521}, label: "style", expr: &choiceExpr{ - pos: position{line: 1707, col: 7, offset: 56280}, + pos: position{line: 1714, col: 7, offset: 56535}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 1707, col: 7, offset: 56280}, + pos: position{line: 1714, col: 7, offset: 56535}, run: (*parser).callonExtraListElement201, expr: &litMatcher{ - pos: position{line: 1707, col: 7, offset: 56280}, + pos: position{line: 1714, col: 7, offset: 56535}, val: "[ ]", ignoreCase: false, want: "\"[ ]\"", }, }, &actionExpr{ - pos: position{line: 1708, col: 7, offset: 56325}, + pos: position{line: 1715, col: 7, offset: 56580}, run: (*parser).callonExtraListElement203, expr: &litMatcher{ - pos: position{line: 1708, col: 7, offset: 56325}, + pos: position{line: 1715, col: 7, offset: 56580}, val: "[*]", ignoreCase: false, want: "\"[*]\"", }, }, &actionExpr{ - pos: position{line: 1709, col: 7, offset: 56368}, + pos: position{line: 1716, col: 7, offset: 56623}, run: (*parser).callonExtraListElement205, expr: &litMatcher{ - pos: position{line: 1709, col: 7, offset: 56368}, + pos: position{line: 1716, col: 7, offset: 56623}, val: "[x]", ignoreCase: false, want: "\"[x]\"", @@ -31588,12 +31815,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 3180, col: 11, offset: 103464}, + pos: position{line: 3076, col: 11, offset: 100101}, run: (*parser).callonExtraListElement207, expr: &oneOrMoreExpr{ - pos: position{line: 3180, col: 11, offset: 103464}, + pos: position{line: 3076, col: 11, offset: 100101}, expr: &charClassMatcher{ - pos: position{line: 3180, col: 12, offset: 103465}, + pos: position{line: 3076, col: 12, offset: 100102}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -31607,24 +31834,24 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1671, col: 5, offset: 55023}, + pos: position{line: 1678, col: 5, offset: 55278}, label: "content", expr: &actionExpr{ - pos: position{line: 1560, col: 5, offset: 51270}, + pos: position{line: 1567, col: 5, offset: 51525}, run: (*parser).callonExtraListElement211, expr: &seqExpr{ - pos: position{line: 1560, col: 5, offset: 51270}, + pos: position{line: 1567, col: 5, offset: 51525}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1560, col: 5, offset: 51270}, + pos: position{line: 1567, col: 5, offset: 51525}, label: "rawline", expr: &actionExpr{ - pos: position{line: 1560, col: 14, offset: 51279}, + pos: position{line: 1567, col: 14, offset: 51534}, run: (*parser).callonExtraListElement214, expr: &oneOrMoreExpr{ - pos: position{line: 1560, col: 14, offset: 51279}, + pos: position{line: 1567, col: 14, offset: 51534}, expr: &charClassMatcher{ - pos: position{line: 1560, col: 14, offset: 51279}, + pos: position{line: 1567, col: 14, offset: 51534}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -31634,28 +31861,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonExtraListElement218, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -31664,9 +31891,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -31683,47 +31910,47 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1496, col: 13, offset: 49014}, + pos: position{line: 1503, col: 13, offset: 49269}, run: (*parser).callonExtraListElement225, expr: &seqExpr{ - pos: position{line: 1496, col: 13, offset: 49014}, + pos: position{line: 1503, col: 13, offset: 49269}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1496, col: 13, offset: 49014}, + pos: position{line: 1503, col: 13, offset: 49269}, label: "attributes", expr: &oneOrMoreExpr{ - pos: position{line: 1496, col: 24, offset: 49025}, + pos: position{line: 1503, col: 24, offset: 49280}, expr: &ruleRefExpr{ - pos: position{line: 1496, col: 25, offset: 49026}, + pos: position{line: 1503, col: 25, offset: 49281}, name: "BlockAttributes", }, }, }, &labeledExpr{ - pos: position{line: 1497, col: 13, offset: 49057}, + pos: position{line: 1504, col: 13, offset: 49312}, label: "element", expr: &actionExpr{ - pos: position{line: 1669, col: 5, offset: 54932}, + pos: position{line: 1676, col: 5, offset: 55187}, run: (*parser).callonExtraListElement231, expr: &seqExpr{ - pos: position{line: 1669, col: 5, offset: 54932}, + pos: position{line: 1676, col: 5, offset: 55187}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1669, col: 5, offset: 54932}, + pos: position{line: 1676, col: 5, offset: 55187}, label: "prefix", expr: &actionExpr{ - pos: position{line: 1676, col: 5, offset: 55205}, + pos: position{line: 1683, col: 5, offset: 55460}, run: (*parser).callonExtraListElement234, expr: &seqExpr{ - pos: position{line: 1676, col: 5, offset: 55205}, + pos: position{line: 1683, col: 5, offset: 55460}, exprs: []interface{}{ &zeroOrMoreExpr{ - pos: position{line: 1676, col: 5, offset: 55205}, + pos: position{line: 1683, col: 5, offset: 55460}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonExtraListElement237, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -31732,27 +31959,27 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1676, col: 12, offset: 55212}, + pos: position{line: 1683, col: 12, offset: 55467}, label: "prefix", expr: &choiceExpr{ - pos: position{line: 1676, col: 20, offset: 55220}, + pos: position{line: 1683, col: 20, offset: 55475}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 1678, col: 9, offset: 55277}, + pos: position{line: 1685, col: 9, offset: 55532}, run: (*parser).callonExtraListElement241, expr: &seqExpr{ - pos: position{line: 1678, col: 9, offset: 55277}, + pos: position{line: 1685, col: 9, offset: 55532}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1678, col: 9, offset: 55277}, + pos: position{line: 1685, col: 9, offset: 55532}, label: "depth", expr: &actionExpr{ - pos: position{line: 1678, col: 16, offset: 55284}, + pos: position{line: 1685, col: 16, offset: 55539}, run: (*parser).callonExtraListElement244, expr: &oneOrMoreExpr{ - pos: position{line: 1678, col: 16, offset: 55284}, + pos: position{line: 1685, col: 16, offset: 55539}, expr: &litMatcher{ - pos: position{line: 1678, col: 17, offset: 55285}, + pos: position{line: 1685, col: 17, offset: 55540}, val: "*", ignoreCase: false, want: "\"*\"", @@ -31761,20 +31988,20 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1682, col: 9, offset: 55385}, + pos: position{line: 1689, col: 9, offset: 55640}, run: (*parser).callonExtraListElement247, }, }, }, }, &labeledExpr{ - pos: position{line: 1699, col: 14, offset: 56092}, + pos: position{line: 1706, col: 14, offset: 56347}, label: "depth", expr: &actionExpr{ - pos: position{line: 1699, col: 21, offset: 56099}, + pos: position{line: 1706, col: 21, offset: 56354}, run: (*parser).callonExtraListElement249, expr: &litMatcher{ - pos: position{line: 1699, col: 22, offset: 56100}, + pos: position{line: 1706, col: 22, offset: 56355}, val: "-", ignoreCase: false, want: "\"-\"", @@ -31785,12 +32012,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 3180, col: 11, offset: 103464}, + pos: position{line: 3076, col: 11, offset: 100101}, run: (*parser).callonExtraListElement251, expr: &oneOrMoreExpr{ - pos: position{line: 3180, col: 11, offset: 103464}, + pos: position{line: 3076, col: 11, offset: 100101}, expr: &charClassMatcher{ - pos: position{line: 3180, col: 12, offset: 103465}, + pos: position{line: 3076, col: 12, offset: 100102}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -31803,56 +32030,56 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1670, col: 5, offset: 54973}, + pos: position{line: 1677, col: 5, offset: 55228}, label: "checkstyle", expr: &zeroOrOneExpr{ - pos: position{line: 1670, col: 16, offset: 54984}, + pos: position{line: 1677, col: 16, offset: 55239}, expr: &actionExpr{ - pos: position{line: 1706, col: 5, offset: 56261}, + pos: position{line: 1713, col: 5, offset: 56516}, run: (*parser).callonExtraListElement256, expr: &seqExpr{ - pos: position{line: 1706, col: 5, offset: 56261}, + pos: position{line: 1713, col: 5, offset: 56516}, exprs: []interface{}{ &andExpr{ - pos: position{line: 1706, col: 5, offset: 56261}, + pos: position{line: 1713, col: 5, offset: 56516}, expr: &litMatcher{ - pos: position{line: 1706, col: 6, offset: 56262}, + pos: position{line: 1713, col: 6, offset: 56517}, val: "[", ignoreCase: false, want: "\"[\"", }, }, &labeledExpr{ - pos: position{line: 1706, col: 10, offset: 56266}, + pos: position{line: 1713, col: 10, offset: 56521}, label: "style", expr: &choiceExpr{ - pos: position{line: 1707, col: 7, offset: 56280}, + pos: position{line: 1714, col: 7, offset: 56535}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 1707, col: 7, offset: 56280}, + pos: position{line: 1714, col: 7, offset: 56535}, run: (*parser).callonExtraListElement262, expr: &litMatcher{ - pos: position{line: 1707, col: 7, offset: 56280}, + pos: position{line: 1714, col: 7, offset: 56535}, val: "[ ]", ignoreCase: false, want: "\"[ ]\"", }, }, &actionExpr{ - pos: position{line: 1708, col: 7, offset: 56325}, + pos: position{line: 1715, col: 7, offset: 56580}, run: (*parser).callonExtraListElement264, expr: &litMatcher{ - pos: position{line: 1708, col: 7, offset: 56325}, + pos: position{line: 1715, col: 7, offset: 56580}, val: "[*]", ignoreCase: false, want: "\"[*]\"", }, }, &actionExpr{ - pos: position{line: 1709, col: 7, offset: 56368}, + pos: position{line: 1716, col: 7, offset: 56623}, run: (*parser).callonExtraListElement266, expr: &litMatcher{ - pos: position{line: 1709, col: 7, offset: 56368}, + pos: position{line: 1716, col: 7, offset: 56623}, val: "[x]", ignoreCase: false, want: "\"[x]\"", @@ -31862,12 +32089,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 3180, col: 11, offset: 103464}, + pos: position{line: 3076, col: 11, offset: 100101}, run: (*parser).callonExtraListElement268, expr: &oneOrMoreExpr{ - pos: position{line: 3180, col: 11, offset: 103464}, + pos: position{line: 3076, col: 11, offset: 100101}, expr: &charClassMatcher{ - pos: position{line: 3180, col: 12, offset: 103465}, + pos: position{line: 3076, col: 12, offset: 100102}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -31881,24 +32108,24 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1671, col: 5, offset: 55023}, + pos: position{line: 1678, col: 5, offset: 55278}, label: "content", expr: &actionExpr{ - pos: position{line: 1560, col: 5, offset: 51270}, + pos: position{line: 1567, col: 5, offset: 51525}, run: (*parser).callonExtraListElement272, expr: &seqExpr{ - pos: position{line: 1560, col: 5, offset: 51270}, + pos: position{line: 1567, col: 5, offset: 51525}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1560, col: 5, offset: 51270}, + pos: position{line: 1567, col: 5, offset: 51525}, label: "rawline", expr: &actionExpr{ - pos: position{line: 1560, col: 14, offset: 51279}, + pos: position{line: 1567, col: 14, offset: 51534}, run: (*parser).callonExtraListElement275, expr: &oneOrMoreExpr{ - pos: position{line: 1560, col: 14, offset: 51279}, + pos: position{line: 1567, col: 14, offset: 51534}, expr: &charClassMatcher{ - pos: position{line: 1560, col: 14, offset: 51279}, + pos: position{line: 1567, col: 14, offset: 51534}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -31908,28 +32135,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonExtraListElement279, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -31938,9 +32165,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -31957,35 +32184,35 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1500, col: 13, offset: 49187}, + pos: position{line: 1507, col: 13, offset: 49442}, run: (*parser).callonExtraListElement286, expr: &seqExpr{ - pos: position{line: 1500, col: 13, offset: 49187}, + pos: position{line: 1507, col: 13, offset: 49442}, exprs: []interface{}{ &zeroOrMoreExpr{ - pos: position{line: 1500, col: 13, offset: 49187}, + pos: position{line: 1507, col: 13, offset: 49442}, expr: &actionExpr{ - pos: position{line: 683, col: 14, offset: 22042}, + pos: position{line: 690, col: 14, offset: 22312}, run: (*parser).callonExtraListElement289, expr: &seqExpr{ - pos: position{line: 683, col: 14, offset: 22042}, + pos: position{line: 690, col: 14, offset: 22312}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 683, col: 14, offset: 22042}, + pos: position{line: 690, col: 14, offset: 22312}, expr: ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, &zeroOrMoreExpr{ - pos: position{line: 683, col: 19, offset: 22047}, + pos: position{line: 690, col: 19, offset: 22317}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonExtraListElement295, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -31994,28 +32221,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonExtraListElement298, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -32024,9 +32251,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -32036,39 +32263,39 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1501, col: 13, offset: 49211}, + pos: position{line: 1508, col: 13, offset: 49466}, label: "element", expr: &actionExpr{ - pos: position{line: 1776, col: 5, offset: 58241}, + pos: position{line: 1783, col: 5, offset: 58496}, run: (*parser).callonExtraListElement306, expr: &seqExpr{ - pos: position{line: 1776, col: 5, offset: 58241}, + pos: position{line: 1783, col: 5, offset: 58496}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1776, col: 5, offset: 58241}, + pos: position{line: 1783, col: 5, offset: 58496}, label: "ref", expr: &actionExpr{ - pos: position{line: 1782, col: 5, offset: 58442}, + pos: position{line: 1789, col: 5, offset: 58697}, run: (*parser).callonExtraListElement309, expr: &seqExpr{ - pos: position{line: 1782, col: 5, offset: 58442}, + pos: position{line: 1789, col: 5, offset: 58697}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1782, col: 5, offset: 58442}, + pos: position{line: 1789, col: 5, offset: 58697}, val: "<", ignoreCase: false, want: "\"<\"", }, &labeledExpr{ - pos: position{line: 1782, col: 9, offset: 58446}, + pos: position{line: 1789, col: 9, offset: 58701}, label: "ref", expr: &actionExpr{ - pos: position{line: 1782, col: 14, offset: 58451}, + pos: position{line: 1789, col: 14, offset: 58706}, run: (*parser).callonExtraListElement313, expr: &oneOrMoreExpr{ - pos: position{line: 1782, col: 14, offset: 58451}, + pos: position{line: 1789, col: 14, offset: 58706}, expr: &charClassMatcher{ - pos: position{line: 1782, col: 14, offset: 58451}, + pos: position{line: 1789, col: 14, offset: 58706}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -32078,18 +32305,18 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1782, col: 62, offset: 58499}, + pos: position{line: 1789, col: 62, offset: 58754}, val: ">", ignoreCase: false, want: "\">\"", }, &actionExpr{ - pos: position{line: 3180, col: 11, offset: 103464}, + pos: position{line: 3076, col: 11, offset: 100101}, run: (*parser).callonExtraListElement317, expr: &oneOrMoreExpr{ - pos: position{line: 3180, col: 11, offset: 103464}, + pos: position{line: 3076, col: 11, offset: 100101}, expr: &charClassMatcher{ - pos: position{line: 3180, col: 12, offset: 103465}, + pos: position{line: 3076, col: 12, offset: 100102}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -32102,24 +32329,24 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1777, col: 5, offset: 58277}, + pos: position{line: 1784, col: 5, offset: 58532}, label: "description", expr: &actionExpr{ - pos: position{line: 1787, col: 5, offset: 58625}, + pos: position{line: 1794, col: 5, offset: 58880}, run: (*parser).callonExtraListElement321, expr: &seqExpr{ - pos: position{line: 1787, col: 5, offset: 58625}, + pos: position{line: 1794, col: 5, offset: 58880}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1787, col: 5, offset: 58625}, + pos: position{line: 1794, col: 5, offset: 58880}, label: "rawline", expr: &actionExpr{ - pos: position{line: 1787, col: 14, offset: 58634}, + pos: position{line: 1794, col: 14, offset: 58889}, run: (*parser).callonExtraListElement324, expr: &oneOrMoreExpr{ - pos: position{line: 1787, col: 14, offset: 58634}, + pos: position{line: 1794, col: 14, offset: 58889}, expr: &charClassMatcher{ - pos: position{line: 1787, col: 14, offset: 58634}, + pos: position{line: 1794, col: 14, offset: 58889}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -32129,28 +32356,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonExtraListElement328, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -32159,9 +32386,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -32178,56 +32405,56 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1504, col: 13, offset: 49303}, + pos: position{line: 1511, col: 13, offset: 49558}, run: (*parser).callonExtraListElement335, expr: &seqExpr{ - pos: position{line: 1504, col: 13, offset: 49303}, + pos: position{line: 1511, col: 13, offset: 49558}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1504, col: 13, offset: 49303}, + pos: position{line: 1511, col: 13, offset: 49558}, label: "attributes", expr: &oneOrMoreExpr{ - pos: position{line: 1504, col: 24, offset: 49314}, + pos: position{line: 1511, col: 24, offset: 49569}, expr: &ruleRefExpr{ - pos: position{line: 1504, col: 25, offset: 49315}, + pos: position{line: 1511, col: 25, offset: 49570}, name: "BlockAttributes", }, }, }, &labeledExpr{ - pos: position{line: 1505, col: 13, offset: 49346}, + pos: position{line: 1512, col: 13, offset: 49601}, label: "element", expr: &actionExpr{ - pos: position{line: 1776, col: 5, offset: 58241}, + pos: position{line: 1783, col: 5, offset: 58496}, run: (*parser).callonExtraListElement341, expr: &seqExpr{ - pos: position{line: 1776, col: 5, offset: 58241}, + pos: position{line: 1783, col: 5, offset: 58496}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1776, col: 5, offset: 58241}, + pos: position{line: 1783, col: 5, offset: 58496}, label: "ref", expr: &actionExpr{ - pos: position{line: 1782, col: 5, offset: 58442}, + pos: position{line: 1789, col: 5, offset: 58697}, run: (*parser).callonExtraListElement344, expr: &seqExpr{ - pos: position{line: 1782, col: 5, offset: 58442}, + pos: position{line: 1789, col: 5, offset: 58697}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1782, col: 5, offset: 58442}, + pos: position{line: 1789, col: 5, offset: 58697}, val: "<", ignoreCase: false, want: "\"<\"", }, &labeledExpr{ - pos: position{line: 1782, col: 9, offset: 58446}, + pos: position{line: 1789, col: 9, offset: 58701}, label: "ref", expr: &actionExpr{ - pos: position{line: 1782, col: 14, offset: 58451}, + pos: position{line: 1789, col: 14, offset: 58706}, run: (*parser).callonExtraListElement348, expr: &oneOrMoreExpr{ - pos: position{line: 1782, col: 14, offset: 58451}, + pos: position{line: 1789, col: 14, offset: 58706}, expr: &charClassMatcher{ - pos: position{line: 1782, col: 14, offset: 58451}, + pos: position{line: 1789, col: 14, offset: 58706}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -32237,18 +32464,18 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1782, col: 62, offset: 58499}, + pos: position{line: 1789, col: 62, offset: 58754}, val: ">", ignoreCase: false, want: "\">\"", }, &actionExpr{ - pos: position{line: 3180, col: 11, offset: 103464}, + pos: position{line: 3076, col: 11, offset: 100101}, run: (*parser).callonExtraListElement352, expr: &oneOrMoreExpr{ - pos: position{line: 3180, col: 11, offset: 103464}, + pos: position{line: 3076, col: 11, offset: 100101}, expr: &charClassMatcher{ - pos: position{line: 3180, col: 12, offset: 103465}, + pos: position{line: 3076, col: 12, offset: 100102}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -32261,24 +32488,24 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1777, col: 5, offset: 58277}, + pos: position{line: 1784, col: 5, offset: 58532}, label: "description", expr: &actionExpr{ - pos: position{line: 1787, col: 5, offset: 58625}, + pos: position{line: 1794, col: 5, offset: 58880}, run: (*parser).callonExtraListElement356, expr: &seqExpr{ - pos: position{line: 1787, col: 5, offset: 58625}, + pos: position{line: 1794, col: 5, offset: 58880}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1787, col: 5, offset: 58625}, + pos: position{line: 1794, col: 5, offset: 58880}, label: "rawline", expr: &actionExpr{ - pos: position{line: 1787, col: 14, offset: 58634}, + pos: position{line: 1794, col: 14, offset: 58889}, run: (*parser).callonExtraListElement359, expr: &oneOrMoreExpr{ - pos: position{line: 1787, col: 14, offset: 58634}, + pos: position{line: 1794, col: 14, offset: 58889}, expr: &charClassMatcher{ - pos: position{line: 1787, col: 14, offset: 58634}, + pos: position{line: 1794, col: 14, offset: 58889}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -32288,28 +32515,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonExtraListElement363, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -32318,9 +32545,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -32337,39 +32564,39 @@ var g = &grammar{ }, }, &ruleRefExpr{ - pos: position{line: 1508, col: 11, offset: 49472}, + pos: position{line: 1515, col: 11, offset: 49727}, name: "ListElementContinuation", }, &actionExpr{ - pos: position{line: 1509, col: 13, offset: 49508}, + pos: position{line: 1516, col: 13, offset: 49763}, run: (*parser).callonExtraListElement371, expr: &seqExpr{ - pos: position{line: 1509, col: 13, offset: 49508}, + pos: position{line: 1516, col: 13, offset: 49763}, exprs: []interface{}{ &zeroOrMoreExpr{ - pos: position{line: 1509, col: 13, offset: 49508}, + pos: position{line: 1516, col: 13, offset: 49763}, expr: &actionExpr{ - pos: position{line: 683, col: 14, offset: 22042}, + pos: position{line: 690, col: 14, offset: 22312}, run: (*parser).callonExtraListElement374, expr: &seqExpr{ - pos: position{line: 683, col: 14, offset: 22042}, + pos: position{line: 690, col: 14, offset: 22312}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 683, col: 14, offset: 22042}, + pos: position{line: 690, col: 14, offset: 22312}, expr: ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, &zeroOrMoreExpr{ - pos: position{line: 683, col: 19, offset: 22047}, + pos: position{line: 690, col: 19, offset: 22317}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonExtraListElement380, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -32378,28 +32605,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonExtraListElement383, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -32408,9 +32635,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -32420,43 +32647,43 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1510, col: 13, offset: 49532}, + pos: position{line: 1517, col: 13, offset: 49787}, label: "element", expr: &actionExpr{ - pos: position{line: 1718, col: 5, offset: 56561}, + pos: position{line: 1725, col: 5, offset: 56816}, run: (*parser).callonExtraListElement391, expr: &seqExpr{ - pos: position{line: 1718, col: 5, offset: 56561}, + pos: position{line: 1725, col: 5, offset: 56816}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1718, col: 5, offset: 56561}, + pos: position{line: 1725, col: 5, offset: 56816}, label: "term", expr: &actionExpr{ - pos: position{line: 1726, col: 5, offset: 56820}, + pos: position{line: 1733, col: 5, offset: 57075}, run: (*parser).callonExtraListElement394, expr: &oneOrMoreExpr{ - pos: position{line: 1726, col: 5, offset: 56820}, + pos: position{line: 1733, col: 5, offset: 57075}, expr: &seqExpr{ - pos: position{line: 1726, col: 6, offset: 56821}, + pos: position{line: 1733, col: 6, offset: 57076}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 1726, col: 6, offset: 56821}, + pos: position{line: 1733, col: 6, offset: 57076}, expr: &actionExpr{ - pos: position{line: 1731, col: 5, offset: 56971}, + pos: position{line: 1738, col: 5, offset: 57226}, run: (*parser).callonExtraListElement398, expr: &seqExpr{ - pos: position{line: 1731, col: 5, offset: 56971}, + pos: position{line: 1738, col: 5, offset: 57226}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1731, col: 5, offset: 56971}, + pos: position{line: 1738, col: 5, offset: 57226}, label: "separator", expr: &actionExpr{ - pos: position{line: 1731, col: 16, offset: 56982}, + pos: position{line: 1738, col: 16, offset: 57237}, run: (*parser).callonExtraListElement401, expr: &oneOrMoreExpr{ - pos: position{line: 1731, col: 16, offset: 56982}, + pos: position{line: 1738, col: 16, offset: 57237}, expr: &litMatcher{ - pos: position{line: 1731, col: 17, offset: 56983}, + pos: position{line: 1738, col: 17, offset: 57238}, val: ":", ignoreCase: false, want: "\":\"", @@ -32465,7 +32692,7 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1734, col: 5, offset: 57040}, + pos: position{line: 1741, col: 5, offset: 57295}, run: (*parser).callonExtraListElement404, }, }, @@ -32473,30 +32700,30 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 1726, col: 35, offset: 56850}, + pos: position{line: 1733, col: 35, offset: 57105}, expr: &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonExtraListElement407, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -32505,16 +32732,16 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, }, }, &anyMatcher{ - line: 1726, col: 40, offset: 56855, + line: 1733, col: 40, offset: 57110, }, }, }, @@ -32522,24 +32749,24 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1719, col: 5, offset: 56596}, + pos: position{line: 1726, col: 5, offset: 56851}, label: "separator", expr: &actionExpr{ - pos: position{line: 1731, col: 5, offset: 56971}, + pos: position{line: 1738, col: 5, offset: 57226}, run: (*parser).callonExtraListElement416, expr: &seqExpr{ - pos: position{line: 1731, col: 5, offset: 56971}, + pos: position{line: 1738, col: 5, offset: 57226}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1731, col: 5, offset: 56971}, + pos: position{line: 1738, col: 5, offset: 57226}, label: "separator", expr: &actionExpr{ - pos: position{line: 1731, col: 16, offset: 56982}, + pos: position{line: 1738, col: 16, offset: 57237}, run: (*parser).callonExtraListElement419, expr: &oneOrMoreExpr{ - pos: position{line: 1731, col: 16, offset: 56982}, + pos: position{line: 1738, col: 16, offset: 57237}, expr: &litMatcher{ - pos: position{line: 1731, col: 17, offset: 56983}, + pos: position{line: 1738, col: 17, offset: 57238}, val: ":", ignoreCase: false, want: "\":\"", @@ -32548,7 +32775,7 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1734, col: 5, offset: 57040}, + pos: position{line: 1741, col: 5, offset: 57295}, run: (*parser).callonExtraListElement422, }, }, @@ -32556,24 +32783,24 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1720, col: 5, offset: 56641}, + pos: position{line: 1727, col: 5, offset: 56896}, label: "description", expr: &choiceExpr{ - pos: position{line: 1742, col: 5, offset: 57290}, + pos: position{line: 1749, col: 5, offset: 57545}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 1744, col: 9, offset: 57355}, + pos: position{line: 1751, col: 9, offset: 57610}, run: (*parser).callonExtraListElement425, expr: &seqExpr{ - pos: position{line: 1744, col: 9, offset: 57355}, + pos: position{line: 1751, col: 9, offset: 57610}, exprs: []interface{}{ &zeroOrMoreExpr{ - pos: position{line: 1744, col: 9, offset: 57355}, + pos: position{line: 1751, col: 9, offset: 57610}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonExtraListElement428, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -32582,28 +32809,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonExtraListElement431, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -32612,37 +32839,37 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, }, &zeroOrMoreExpr{ - pos: position{line: 1745, col: 9, offset: 57375}, + pos: position{line: 1752, col: 9, offset: 57630}, expr: &actionExpr{ - pos: position{line: 683, col: 14, offset: 22042}, + pos: position{line: 690, col: 14, offset: 22312}, run: (*parser).callonExtraListElement439, expr: &seqExpr{ - pos: position{line: 683, col: 14, offset: 22042}, + pos: position{line: 690, col: 14, offset: 22312}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 683, col: 14, offset: 22042}, + pos: position{line: 690, col: 14, offset: 22312}, expr: ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, &zeroOrMoreExpr{ - pos: position{line: 683, col: 19, offset: 22047}, + pos: position{line: 690, col: 19, offset: 22317}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonExtraListElement445, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -32651,28 +32878,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonExtraListElement448, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -32681,9 +32908,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -32693,47 +32920,47 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1746, col: 9, offset: 57395}, + pos: position{line: 1753, col: 9, offset: 57650}, label: "content", expr: &zeroOrOneExpr{ - pos: position{line: 1746, col: 17, offset: 57403}, + pos: position{line: 1753, col: 17, offset: 57658}, expr: &choiceExpr{ - pos: position{line: 1540, col: 5, offset: 50637}, + pos: position{line: 1547, col: 5, offset: 50892}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 1540, col: 5, offset: 50637}, + pos: position{line: 1547, col: 5, offset: 50892}, run: (*parser).callonExtraListElement458, expr: &actionExpr{ - pos: position{line: 2876, col: 22, offset: 94317}, + pos: position{line: 2762, col: 22, offset: 90750}, run: (*parser).callonExtraListElement459, expr: &seqExpr{ - pos: position{line: 2876, col: 22, offset: 94317}, + pos: position{line: 2762, col: 22, offset: 90750}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2881, col: 31, offset: 94538}, + pos: position{line: 2767, col: 31, offset: 90971}, val: "//", ignoreCase: false, want: "\"//\"", }, ¬Expr{ - pos: position{line: 2881, col: 36, offset: 94543}, + pos: position{line: 2767, col: 36, offset: 90976}, expr: &litMatcher{ - pos: position{line: 2881, col: 37, offset: 94544}, + pos: position{line: 2767, col: 37, offset: 90977}, val: "//", ignoreCase: false, want: "\"//\"", }, }, &labeledExpr{ - pos: position{line: 2876, col: 49, offset: 94344}, + pos: position{line: 2762, col: 49, offset: 90777}, label: "content", expr: &actionExpr{ - pos: position{line: 2883, col: 29, offset: 94579}, + pos: position{line: 2769, col: 29, offset: 91012}, run: (*parser).callonExtraListElement465, expr: &zeroOrMoreExpr{ - pos: position{line: 2883, col: 29, offset: 94579}, + pos: position{line: 2769, col: 29, offset: 91012}, expr: &charClassMatcher{ - pos: position{line: 2883, col: 29, offset: 94579}, + pos: position{line: 2769, col: 29, offset: 91012}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -32743,28 +32970,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonExtraListElement469, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -32773,9 +33000,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -32785,35 +33012,35 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1544, col: 9, offset: 50790}, + pos: position{line: 1551, col: 9, offset: 51045}, run: (*parser).callonExtraListElement476, expr: &seqExpr{ - pos: position{line: 1544, col: 9, offset: 50790}, + pos: position{line: 1551, col: 9, offset: 51045}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 1544, col: 9, offset: 50790}, + pos: position{line: 1551, col: 9, offset: 51045}, expr: &actionExpr{ - pos: position{line: 683, col: 14, offset: 22042}, + pos: position{line: 690, col: 14, offset: 22312}, run: (*parser).callonExtraListElement479, expr: &seqExpr{ - pos: position{line: 683, col: 14, offset: 22042}, + pos: position{line: 690, col: 14, offset: 22312}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 683, col: 14, offset: 22042}, + pos: position{line: 690, col: 14, offset: 22312}, expr: ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, &zeroOrMoreExpr{ - pos: position{line: 683, col: 19, offset: 22047}, + pos: position{line: 690, col: 19, offset: 22317}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonExtraListElement485, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -32822,28 +33049,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonExtraListElement488, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -32852,9 +33079,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -32864,23 +33091,23 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 1545, col: 9, offset: 50809}, + pos: position{line: 1552, col: 9, offset: 51064}, expr: &seqExpr{ - pos: position{line: 1578, col: 34, offset: 51769}, + pos: position{line: 1585, col: 34, offset: 52024}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1578, col: 34, offset: 51769}, + pos: position{line: 1585, col: 34, offset: 52024}, val: "+", ignoreCase: false, want: "\"+\"", }, &zeroOrMoreExpr{ - pos: position{line: 1578, col: 38, offset: 51773}, + pos: position{line: 1585, col: 38, offset: 52028}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonExtraListElement499, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -32889,25 +33116,25 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonExtraListElement501, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -32919,20 +33146,20 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 1546, col: 9, offset: 50848}, + pos: position{line: 1553, col: 9, offset: 51103}, expr: &actionExpr{ - pos: position{line: 1626, col: 5, offset: 53243}, + pos: position{line: 1633, col: 5, offset: 53498}, run: (*parser).callonExtraListElement507, expr: &seqExpr{ - pos: position{line: 1626, col: 5, offset: 53243}, + pos: position{line: 1633, col: 5, offset: 53498}, exprs: []interface{}{ &zeroOrMoreExpr{ - pos: position{line: 1626, col: 5, offset: 53243}, + pos: position{line: 1633, col: 5, offset: 53498}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonExtraListElement510, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -32941,27 +33168,27 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1626, col: 12, offset: 53250}, + pos: position{line: 1633, col: 12, offset: 53505}, label: "prefix", expr: &choiceExpr{ - pos: position{line: 1628, col: 9, offset: 53313}, + pos: position{line: 1635, col: 9, offset: 53568}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 1628, col: 9, offset: 53313}, + pos: position{line: 1635, col: 9, offset: 53568}, run: (*parser).callonExtraListElement514, expr: &seqExpr{ - pos: position{line: 1628, col: 9, offset: 53313}, + pos: position{line: 1635, col: 9, offset: 53568}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1628, col: 9, offset: 53313}, + pos: position{line: 1635, col: 9, offset: 53568}, label: "depth", expr: &actionExpr{ - pos: position{line: 1628, col: 16, offset: 53320}, + pos: position{line: 1635, col: 16, offset: 53575}, run: (*parser).callonExtraListElement517, expr: &oneOrMoreExpr{ - pos: position{line: 1628, col: 16, offset: 53320}, + pos: position{line: 1635, col: 16, offset: 53575}, expr: &litMatcher{ - pos: position{line: 1628, col: 17, offset: 53321}, + pos: position{line: 1635, col: 17, offset: 53576}, val: ".", ignoreCase: false, want: "\".\"", @@ -32970,22 +33197,22 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1632, col: 9, offset: 53421}, + pos: position{line: 1639, col: 9, offset: 53676}, run: (*parser).callonExtraListElement520, }, }, }, }, &actionExpr{ - pos: position{line: 1651, col: 11, offset: 54138}, + pos: position{line: 1658, col: 11, offset: 54393}, run: (*parser).callonExtraListElement521, expr: &seqExpr{ - pos: position{line: 1651, col: 11, offset: 54138}, + pos: position{line: 1658, col: 11, offset: 54393}, exprs: []interface{}{ &oneOrMoreExpr{ - pos: position{line: 1651, col: 11, offset: 54138}, + pos: position{line: 1658, col: 11, offset: 54393}, expr: &charClassMatcher{ - pos: position{line: 1651, col: 12, offset: 54139}, + pos: position{line: 1658, col: 12, offset: 54394}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -32993,7 +33220,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1651, col: 20, offset: 54147}, + pos: position{line: 1658, col: 20, offset: 54402}, val: ".", ignoreCase: false, want: "\".\"", @@ -33002,20 +33229,20 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1653, col: 13, offset: 54264}, + pos: position{line: 1660, col: 13, offset: 54519}, run: (*parser).callonExtraListElement526, expr: &seqExpr{ - pos: position{line: 1653, col: 13, offset: 54264}, + pos: position{line: 1660, col: 13, offset: 54519}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 1653, col: 14, offset: 54265}, + pos: position{line: 1660, col: 14, offset: 54520}, val: "[a-z]", ranges: []rune{'a', 'z'}, ignoreCase: false, inverted: false, }, &litMatcher{ - pos: position{line: 1653, col: 21, offset: 54272}, + pos: position{line: 1660, col: 21, offset: 54527}, val: ".", ignoreCase: false, want: "\".\"", @@ -33024,20 +33251,20 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1655, col: 13, offset: 54392}, + pos: position{line: 1662, col: 13, offset: 54647}, run: (*parser).callonExtraListElement530, expr: &seqExpr{ - pos: position{line: 1655, col: 13, offset: 54392}, + pos: position{line: 1662, col: 13, offset: 54647}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 1655, col: 14, offset: 54393}, + pos: position{line: 1662, col: 14, offset: 54648}, val: "[A-Z]", ranges: []rune{'A', 'Z'}, ignoreCase: false, inverted: false, }, &litMatcher{ - pos: position{line: 1655, col: 21, offset: 54400}, + pos: position{line: 1662, col: 21, offset: 54655}, val: ".", ignoreCase: false, want: "\".\"", @@ -33046,15 +33273,15 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1657, col: 13, offset: 54520}, + pos: position{line: 1664, col: 13, offset: 54775}, run: (*parser).callonExtraListElement534, expr: &seqExpr{ - pos: position{line: 1657, col: 13, offset: 54520}, + pos: position{line: 1664, col: 13, offset: 54775}, exprs: []interface{}{ &oneOrMoreExpr{ - pos: position{line: 1657, col: 13, offset: 54520}, + pos: position{line: 1664, col: 13, offset: 54775}, expr: &charClassMatcher{ - pos: position{line: 1657, col: 14, offset: 54521}, + pos: position{line: 1664, col: 14, offset: 54776}, val: "[ivxdlcm]", chars: []rune{'i', 'v', 'x', 'd', 'l', 'c', 'm'}, ignoreCase: false, @@ -33062,7 +33289,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1657, col: 26, offset: 54533}, + pos: position{line: 1664, col: 26, offset: 54788}, val: ")", ignoreCase: false, want: "\")\"", @@ -33071,15 +33298,15 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1659, col: 13, offset: 54653}, + pos: position{line: 1666, col: 13, offset: 54908}, run: (*parser).callonExtraListElement539, expr: &seqExpr{ - pos: position{line: 1659, col: 13, offset: 54653}, + pos: position{line: 1666, col: 13, offset: 54908}, exprs: []interface{}{ &oneOrMoreExpr{ - pos: position{line: 1659, col: 13, offset: 54653}, + pos: position{line: 1666, col: 13, offset: 54908}, expr: &charClassMatcher{ - pos: position{line: 1659, col: 14, offset: 54654}, + pos: position{line: 1666, col: 14, offset: 54909}, val: "[IVXDLCM]", chars: []rune{'I', 'V', 'X', 'D', 'L', 'C', 'M'}, ignoreCase: false, @@ -33087,7 +33314,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1659, col: 26, offset: 54666}, + pos: position{line: 1666, col: 26, offset: 54921}, val: ")", ignoreCase: false, want: "\")\"", @@ -33099,12 +33326,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 3180, col: 11, offset: 103464}, + pos: position{line: 3076, col: 11, offset: 100101}, run: (*parser).callonExtraListElement544, expr: &oneOrMoreExpr{ - pos: position{line: 3180, col: 11, offset: 103464}, + pos: position{line: 3076, col: 11, offset: 100101}, expr: &charClassMatcher{ - pos: position{line: 3180, col: 12, offset: 103465}, + pos: position{line: 3076, col: 12, offset: 100102}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -33117,20 +33344,20 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 1547, col: 9, offset: 50882}, + pos: position{line: 1554, col: 9, offset: 51137}, expr: &actionExpr{ - pos: position{line: 1676, col: 5, offset: 55205}, + pos: position{line: 1683, col: 5, offset: 55460}, run: (*parser).callonExtraListElement548, expr: &seqExpr{ - pos: position{line: 1676, col: 5, offset: 55205}, + pos: position{line: 1683, col: 5, offset: 55460}, exprs: []interface{}{ &zeroOrMoreExpr{ - pos: position{line: 1676, col: 5, offset: 55205}, + pos: position{line: 1683, col: 5, offset: 55460}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonExtraListElement551, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -33139,27 +33366,27 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1676, col: 12, offset: 55212}, + pos: position{line: 1683, col: 12, offset: 55467}, label: "prefix", expr: &choiceExpr{ - pos: position{line: 1676, col: 20, offset: 55220}, + pos: position{line: 1683, col: 20, offset: 55475}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 1678, col: 9, offset: 55277}, + pos: position{line: 1685, col: 9, offset: 55532}, run: (*parser).callonExtraListElement555, expr: &seqExpr{ - pos: position{line: 1678, col: 9, offset: 55277}, + pos: position{line: 1685, col: 9, offset: 55532}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1678, col: 9, offset: 55277}, + pos: position{line: 1685, col: 9, offset: 55532}, label: "depth", expr: &actionExpr{ - pos: position{line: 1678, col: 16, offset: 55284}, + pos: position{line: 1685, col: 16, offset: 55539}, run: (*parser).callonExtraListElement558, expr: &oneOrMoreExpr{ - pos: position{line: 1678, col: 16, offset: 55284}, + pos: position{line: 1685, col: 16, offset: 55539}, expr: &litMatcher{ - pos: position{line: 1678, col: 17, offset: 55285}, + pos: position{line: 1685, col: 17, offset: 55540}, val: "*", ignoreCase: false, want: "\"*\"", @@ -33168,20 +33395,20 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1682, col: 9, offset: 55385}, + pos: position{line: 1689, col: 9, offset: 55640}, run: (*parser).callonExtraListElement561, }, }, }, }, &labeledExpr{ - pos: position{line: 1699, col: 14, offset: 56092}, + pos: position{line: 1706, col: 14, offset: 56347}, label: "depth", expr: &actionExpr{ - pos: position{line: 1699, col: 21, offset: 56099}, + pos: position{line: 1706, col: 21, offset: 56354}, run: (*parser).callonExtraListElement563, expr: &litMatcher{ - pos: position{line: 1699, col: 22, offset: 56100}, + pos: position{line: 1706, col: 22, offset: 56355}, val: "-", ignoreCase: false, want: "\"-\"", @@ -33192,12 +33419,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 3180, col: 11, offset: 103464}, + pos: position{line: 3076, col: 11, offset: 100101}, run: (*parser).callonExtraListElement565, expr: &oneOrMoreExpr{ - pos: position{line: 3180, col: 11, offset: 103464}, + pos: position{line: 3076, col: 11, offset: 100101}, expr: &charClassMatcher{ - pos: position{line: 3180, col: 12, offset: 103465}, + pos: position{line: 3076, col: 12, offset: 100102}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -33210,29 +33437,29 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 1548, col: 9, offset: 50918}, + pos: position{line: 1555, col: 9, offset: 51173}, expr: &actionExpr{ - pos: position{line: 1782, col: 5, offset: 58442}, + pos: position{line: 1789, col: 5, offset: 58697}, run: (*parser).callonExtraListElement569, expr: &seqExpr{ - pos: position{line: 1782, col: 5, offset: 58442}, + pos: position{line: 1789, col: 5, offset: 58697}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1782, col: 5, offset: 58442}, + pos: position{line: 1789, col: 5, offset: 58697}, val: "<", ignoreCase: false, want: "\"<\"", }, &labeledExpr{ - pos: position{line: 1782, col: 9, offset: 58446}, + pos: position{line: 1789, col: 9, offset: 58701}, label: "ref", expr: &actionExpr{ - pos: position{line: 1782, col: 14, offset: 58451}, + pos: position{line: 1789, col: 14, offset: 58706}, run: (*parser).callonExtraListElement573, expr: &oneOrMoreExpr{ - pos: position{line: 1782, col: 14, offset: 58451}, + pos: position{line: 1789, col: 14, offset: 58706}, expr: &charClassMatcher{ - pos: position{line: 1782, col: 14, offset: 58451}, + pos: position{line: 1789, col: 14, offset: 58706}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -33242,18 +33469,18 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1782, col: 62, offset: 58499}, + pos: position{line: 1789, col: 62, offset: 58754}, val: ">", ignoreCase: false, want: "\">\"", }, &actionExpr{ - pos: position{line: 3180, col: 11, offset: 103464}, + pos: position{line: 3076, col: 11, offset: 100101}, run: (*parser).callonExtraListElement577, expr: &oneOrMoreExpr{ - pos: position{line: 3180, col: 11, offset: 103464}, + pos: position{line: 3076, col: 11, offset: 100101}, expr: &charClassMatcher{ - pos: position{line: 3180, col: 12, offset: 103465}, + pos: position{line: 3076, col: 12, offset: 100102}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -33266,36 +33493,36 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 1549, col: 9, offset: 50952}, + pos: position{line: 1556, col: 9, offset: 51207}, expr: &seqExpr{ - pos: position{line: 1549, col: 11, offset: 50954}, + pos: position{line: 1556, col: 11, offset: 51209}, exprs: []interface{}{ &actionExpr{ - pos: position{line: 1726, col: 5, offset: 56820}, + pos: position{line: 1733, col: 5, offset: 57075}, run: (*parser).callonExtraListElement582, expr: &oneOrMoreExpr{ - pos: position{line: 1726, col: 5, offset: 56820}, + pos: position{line: 1733, col: 5, offset: 57075}, expr: &seqExpr{ - pos: position{line: 1726, col: 6, offset: 56821}, + pos: position{line: 1733, col: 6, offset: 57076}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 1726, col: 6, offset: 56821}, + pos: position{line: 1733, col: 6, offset: 57076}, expr: &actionExpr{ - pos: position{line: 1731, col: 5, offset: 56971}, + pos: position{line: 1738, col: 5, offset: 57226}, run: (*parser).callonExtraListElement586, expr: &seqExpr{ - pos: position{line: 1731, col: 5, offset: 56971}, + pos: position{line: 1738, col: 5, offset: 57226}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1731, col: 5, offset: 56971}, + pos: position{line: 1738, col: 5, offset: 57226}, label: "separator", expr: &actionExpr{ - pos: position{line: 1731, col: 16, offset: 56982}, + pos: position{line: 1738, col: 16, offset: 57237}, run: (*parser).callonExtraListElement589, expr: &oneOrMoreExpr{ - pos: position{line: 1731, col: 16, offset: 56982}, + pos: position{line: 1738, col: 16, offset: 57237}, expr: &litMatcher{ - pos: position{line: 1731, col: 17, offset: 56983}, + pos: position{line: 1738, col: 17, offset: 57238}, val: ":", ignoreCase: false, want: "\":\"", @@ -33304,7 +33531,7 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1734, col: 5, offset: 57040}, + pos: position{line: 1741, col: 5, offset: 57295}, run: (*parser).callonExtraListElement592, }, }, @@ -33312,30 +33539,30 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 1726, col: 35, offset: 56850}, + pos: position{line: 1733, col: 35, offset: 57105}, expr: &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonExtraListElement595, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -33344,37 +33571,37 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, }, }, &anyMatcher{ - line: 1726, col: 40, offset: 56855, + line: 1733, col: 40, offset: 57110, }, }, }, }, }, &actionExpr{ - pos: position{line: 1731, col: 5, offset: 56971}, + pos: position{line: 1738, col: 5, offset: 57226}, run: (*parser).callonExtraListElement603, expr: &seqExpr{ - pos: position{line: 1731, col: 5, offset: 56971}, + pos: position{line: 1738, col: 5, offset: 57226}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1731, col: 5, offset: 56971}, + pos: position{line: 1738, col: 5, offset: 57226}, label: "separator", expr: &actionExpr{ - pos: position{line: 1731, col: 16, offset: 56982}, + pos: position{line: 1738, col: 16, offset: 57237}, run: (*parser).callonExtraListElement606, expr: &oneOrMoreExpr{ - pos: position{line: 1731, col: 16, offset: 56982}, + pos: position{line: 1738, col: 16, offset: 57237}, expr: &litMatcher{ - pos: position{line: 1731, col: 17, offset: 56983}, + pos: position{line: 1738, col: 17, offset: 57238}, val: ":", ignoreCase: false, want: "\":\"", @@ -33383,7 +33610,7 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1734, col: 5, offset: 57040}, + pos: position{line: 1741, col: 5, offset: 57295}, run: (*parser).callonExtraListElement609, }, }, @@ -33393,17 +33620,17 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 1550, col: 9, offset: 51014}, + pos: position{line: 1557, col: 9, offset: 51269}, expr: &actionExpr{ - pos: position{line: 729, col: 5, offset: 23577}, + pos: position{line: 736, col: 5, offset: 23847}, run: (*parser).callonExtraListElement611, expr: &seqExpr{ - pos: position{line: 729, col: 5, offset: 23577}, + pos: position{line: 736, col: 5, offset: 23847}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 729, col: 5, offset: 23577}, + pos: position{line: 736, col: 5, offset: 23847}, expr: &charClassMatcher{ - pos: position{line: 3090, col: 13, offset: 100713}, + pos: position{line: 2986, col: 13, offset: 97350}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -33412,36 +33639,36 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 730, col: 5, offset: 23607}, + pos: position{line: 737, col: 5, offset: 23877}, label: "delimiter", expr: &choiceExpr{ - pos: position{line: 731, col: 9, offset: 23627}, + pos: position{line: 738, col: 9, offset: 23897}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 745, col: 5, offset: 24119}, + pos: position{line: 752, col: 5, offset: 24389}, run: (*parser).callonExtraListElement617, expr: &seqExpr{ - pos: position{line: 745, col: 5, offset: 24119}, + pos: position{line: 752, col: 5, offset: 24389}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 745, col: 5, offset: 24119}, + pos: position{line: 752, col: 5, offset: 24389}, label: "delimiter", expr: &actionExpr{ - pos: position{line: 745, col: 16, offset: 24130}, + pos: position{line: 752, col: 16, offset: 24400}, run: (*parser).callonExtraListElement620, expr: &seqExpr{ - pos: position{line: 745, col: 16, offset: 24130}, + pos: position{line: 752, col: 16, offset: 24400}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 745, col: 16, offset: 24130}, + pos: position{line: 752, col: 16, offset: 24400}, val: "////", ignoreCase: false, want: "\"////\"", }, &zeroOrMoreExpr{ - pos: position{line: 745, col: 23, offset: 24137}, + pos: position{line: 752, col: 23, offset: 24407}, expr: &litMatcher{ - pos: position{line: 745, col: 23, offset: 24137}, + pos: position{line: 752, col: 23, offset: 24407}, val: "/", ignoreCase: false, want: "\"/\"", @@ -33452,12 +33679,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 747, col: 8, offset: 24221}, + pos: position{line: 754, col: 8, offset: 24491}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonExtraListElement626, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -33466,28 +33693,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonExtraListElement629, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -33496,9 +33723,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -33507,30 +33734,30 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 752, col: 5, offset: 24367}, + pos: position{line: 759, col: 5, offset: 24637}, run: (*parser).callonExtraListElement636, expr: &seqExpr{ - pos: position{line: 752, col: 5, offset: 24367}, + pos: position{line: 759, col: 5, offset: 24637}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 752, col: 5, offset: 24367}, + pos: position{line: 759, col: 5, offset: 24637}, label: "delimiter", expr: &actionExpr{ - pos: position{line: 752, col: 16, offset: 24378}, + pos: position{line: 759, col: 16, offset: 24648}, run: (*parser).callonExtraListElement639, expr: &seqExpr{ - pos: position{line: 752, col: 16, offset: 24378}, + pos: position{line: 759, col: 16, offset: 24648}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 752, col: 16, offset: 24378}, + pos: position{line: 759, col: 16, offset: 24648}, val: "====", ignoreCase: false, want: "\"====\"", }, &zeroOrMoreExpr{ - pos: position{line: 752, col: 23, offset: 24385}, + pos: position{line: 759, col: 23, offset: 24655}, expr: &litMatcher{ - pos: position{line: 752, col: 23, offset: 24385}, + pos: position{line: 759, col: 23, offset: 24655}, val: "=", ignoreCase: false, want: "\"=\"", @@ -33541,12 +33768,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 754, col: 8, offset: 24469}, + pos: position{line: 761, col: 8, offset: 24739}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonExtraListElement645, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -33555,28 +33782,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonExtraListElement648, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -33585,9 +33812,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -33596,27 +33823,27 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 765, col: 26, offset: 24855}, + pos: position{line: 772, col: 26, offset: 25125}, run: (*parser).callonExtraListElement655, expr: &seqExpr{ - pos: position{line: 765, col: 26, offset: 24855}, + pos: position{line: 772, col: 26, offset: 25125}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 765, col: 26, offset: 24855}, + pos: position{line: 772, col: 26, offset: 25125}, val: "```", ignoreCase: false, want: "\"```\"", }, &labeledExpr{ - pos: position{line: 765, col: 32, offset: 24861}, + pos: position{line: 772, col: 32, offset: 25131}, label: "language", expr: &actionExpr{ - pos: position{line: 769, col: 13, offset: 24991}, + pos: position{line: 776, col: 13, offset: 25261}, run: (*parser).callonExtraListElement659, expr: &oneOrMoreExpr{ - pos: position{line: 769, col: 14, offset: 24992}, + pos: position{line: 776, col: 14, offset: 25262}, expr: &charClassMatcher{ - pos: position{line: 769, col: 14, offset: 24992}, + pos: position{line: 776, col: 14, offset: 25262}, val: "[^\\r\\n` ]", chars: []rune{'\r', '\n', '`', ' '}, ignoreCase: false, @@ -33626,12 +33853,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 765, col: 52, offset: 24881}, + pos: position{line: 772, col: 52, offset: 25151}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonExtraListElement663, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -33640,28 +33867,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonExtraListElement666, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -33670,9 +33897,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -33681,30 +33908,30 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 759, col: 5, offset: 24614}, + pos: position{line: 766, col: 5, offset: 24884}, run: (*parser).callonExtraListElement673, expr: &seqExpr{ - pos: position{line: 759, col: 5, offset: 24614}, + pos: position{line: 766, col: 5, offset: 24884}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 759, col: 5, offset: 24614}, + pos: position{line: 766, col: 5, offset: 24884}, label: "delimiter", expr: &actionExpr{ - pos: position{line: 759, col: 16, offset: 24625}, + pos: position{line: 766, col: 16, offset: 24895}, run: (*parser).callonExtraListElement676, expr: &seqExpr{ - pos: position{line: 759, col: 16, offset: 24625}, + pos: position{line: 766, col: 16, offset: 24895}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 759, col: 16, offset: 24625}, + pos: position{line: 766, col: 16, offset: 24895}, val: "```", ignoreCase: false, want: "\"```\"", }, &zeroOrMoreExpr{ - pos: position{line: 759, col: 22, offset: 24631}, + pos: position{line: 766, col: 22, offset: 24901}, expr: &litMatcher{ - pos: position{line: 759, col: 22, offset: 24631}, + pos: position{line: 766, col: 22, offset: 24901}, val: "`", ignoreCase: false, want: "\"`\"", @@ -33715,12 +33942,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 761, col: 8, offset: 24715}, + pos: position{line: 768, col: 8, offset: 24985}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonExtraListElement682, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -33729,28 +33956,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonExtraListElement685, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -33759,9 +33986,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -33770,30 +33997,30 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 774, col: 5, offset: 25151}, + pos: position{line: 781, col: 5, offset: 25421}, run: (*parser).callonExtraListElement692, expr: &seqExpr{ - pos: position{line: 774, col: 5, offset: 25151}, + pos: position{line: 781, col: 5, offset: 25421}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 774, col: 5, offset: 25151}, + pos: position{line: 781, col: 5, offset: 25421}, label: "delimiter", expr: &actionExpr{ - pos: position{line: 774, col: 16, offset: 25162}, + pos: position{line: 781, col: 16, offset: 25432}, run: (*parser).callonExtraListElement695, expr: &seqExpr{ - pos: position{line: 774, col: 16, offset: 25162}, + pos: position{line: 781, col: 16, offset: 25432}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 774, col: 16, offset: 25162}, + pos: position{line: 781, col: 16, offset: 25432}, val: "----", ignoreCase: false, want: "\"----\"", }, &zeroOrMoreExpr{ - pos: position{line: 774, col: 23, offset: 25169}, + pos: position{line: 781, col: 23, offset: 25439}, expr: &litMatcher{ - pos: position{line: 774, col: 23, offset: 25169}, + pos: position{line: 781, col: 23, offset: 25439}, val: "-", ignoreCase: false, want: "\"-\"", @@ -33804,12 +34031,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 776, col: 8, offset: 25253}, + pos: position{line: 783, col: 8, offset: 25523}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonExtraListElement701, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -33818,28 +34045,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonExtraListElement704, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -33848,9 +34075,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -33859,30 +34086,30 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 781, col: 5, offset: 25399}, + pos: position{line: 788, col: 5, offset: 25669}, run: (*parser).callonExtraListElement711, expr: &seqExpr{ - pos: position{line: 781, col: 5, offset: 25399}, + pos: position{line: 788, col: 5, offset: 25669}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 781, col: 5, offset: 25399}, + pos: position{line: 788, col: 5, offset: 25669}, label: "delimiter", expr: &actionExpr{ - pos: position{line: 781, col: 16, offset: 25410}, + pos: position{line: 788, col: 16, offset: 25680}, run: (*parser).callonExtraListElement714, expr: &seqExpr{ - pos: position{line: 781, col: 16, offset: 25410}, + pos: position{line: 788, col: 16, offset: 25680}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 781, col: 16, offset: 25410}, + pos: position{line: 788, col: 16, offset: 25680}, val: "....", ignoreCase: false, want: "\"....\"", }, &zeroOrMoreExpr{ - pos: position{line: 781, col: 23, offset: 25417}, + pos: position{line: 788, col: 23, offset: 25687}, expr: &litMatcher{ - pos: position{line: 781, col: 23, offset: 25417}, + pos: position{line: 788, col: 23, offset: 25687}, val: ".", ignoreCase: false, want: "\".\"", @@ -33893,12 +34120,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 783, col: 8, offset: 25501}, + pos: position{line: 790, col: 8, offset: 25771}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonExtraListElement720, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -33907,28 +34134,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonExtraListElement723, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -33937,9 +34164,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -33948,30 +34175,30 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 788, col: 5, offset: 25651}, + pos: position{line: 795, col: 5, offset: 25921}, run: (*parser).callonExtraListElement730, expr: &seqExpr{ - pos: position{line: 788, col: 5, offset: 25651}, + pos: position{line: 795, col: 5, offset: 25921}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 788, col: 5, offset: 25651}, + pos: position{line: 795, col: 5, offset: 25921}, label: "delimiter", expr: &actionExpr{ - pos: position{line: 788, col: 16, offset: 25662}, + pos: position{line: 795, col: 16, offset: 25932}, run: (*parser).callonExtraListElement733, expr: &seqExpr{ - pos: position{line: 788, col: 16, offset: 25662}, + pos: position{line: 795, col: 16, offset: 25932}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 788, col: 16, offset: 25662}, + pos: position{line: 795, col: 16, offset: 25932}, val: "++++", ignoreCase: false, want: "\"++++\"", }, &zeroOrMoreExpr{ - pos: position{line: 788, col: 23, offset: 25669}, + pos: position{line: 795, col: 23, offset: 25939}, expr: &litMatcher{ - pos: position{line: 788, col: 23, offset: 25669}, + pos: position{line: 795, col: 23, offset: 25939}, val: "+", ignoreCase: false, want: "\"+\"", @@ -33982,12 +34209,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 790, col: 8, offset: 25753}, + pos: position{line: 797, col: 8, offset: 26023}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonExtraListElement739, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -33996,28 +34223,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonExtraListElement742, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -34026,9 +34253,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -34037,30 +34264,30 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 795, col: 5, offset: 25901}, + pos: position{line: 802, col: 5, offset: 26171}, run: (*parser).callonExtraListElement749, expr: &seqExpr{ - pos: position{line: 795, col: 5, offset: 25901}, + pos: position{line: 802, col: 5, offset: 26171}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 795, col: 5, offset: 25901}, + pos: position{line: 802, col: 5, offset: 26171}, label: "delimiter", expr: &actionExpr{ - pos: position{line: 795, col: 16, offset: 25912}, + pos: position{line: 802, col: 16, offset: 26182}, run: (*parser).callonExtraListElement752, expr: &seqExpr{ - pos: position{line: 795, col: 16, offset: 25912}, + pos: position{line: 802, col: 16, offset: 26182}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 795, col: 16, offset: 25912}, + pos: position{line: 802, col: 16, offset: 26182}, val: "____", ignoreCase: false, want: "\"____\"", }, &zeroOrMoreExpr{ - pos: position{line: 795, col: 23, offset: 25919}, + pos: position{line: 802, col: 23, offset: 26189}, expr: &litMatcher{ - pos: position{line: 795, col: 23, offset: 25919}, + pos: position{line: 802, col: 23, offset: 26189}, val: "_", ignoreCase: false, want: "\"_\"", @@ -34071,12 +34298,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 797, col: 8, offset: 26003}, + pos: position{line: 804, col: 8, offset: 26273}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonExtraListElement758, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -34085,28 +34312,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonExtraListElement761, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -34115,9 +34342,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -34126,30 +34353,30 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 802, col: 5, offset: 26147}, + pos: position{line: 809, col: 5, offset: 26417}, run: (*parser).callonExtraListElement768, expr: &seqExpr{ - pos: position{line: 802, col: 5, offset: 26147}, + pos: position{line: 809, col: 5, offset: 26417}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 802, col: 5, offset: 26147}, + pos: position{line: 809, col: 5, offset: 26417}, label: "delimiter", expr: &actionExpr{ - pos: position{line: 802, col: 16, offset: 26158}, + pos: position{line: 809, col: 16, offset: 26428}, run: (*parser).callonExtraListElement771, expr: &seqExpr{ - pos: position{line: 802, col: 16, offset: 26158}, + pos: position{line: 809, col: 16, offset: 26428}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 802, col: 16, offset: 26158}, + pos: position{line: 809, col: 16, offset: 26428}, val: "****", ignoreCase: false, want: "\"****\"", }, &zeroOrMoreExpr{ - pos: position{line: 802, col: 23, offset: 26165}, + pos: position{line: 809, col: 23, offset: 26435}, expr: &litMatcher{ - pos: position{line: 802, col: 23, offset: 26165}, + pos: position{line: 809, col: 23, offset: 26435}, val: "*", ignoreCase: false, want: "\"*\"", @@ -34160,12 +34387,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 804, col: 8, offset: 26249}, + pos: position{line: 811, col: 8, offset: 26519}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonExtraListElement777, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -34174,28 +34401,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonExtraListElement780, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -34204,9 +34431,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -34222,15 +34449,15 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1551, col: 9, offset: 51038}, + pos: position{line: 1558, col: 9, offset: 51293}, label: "content", expr: &actionExpr{ - pos: position{line: 1551, col: 18, offset: 51047}, + pos: position{line: 1558, col: 18, offset: 51302}, run: (*parser).callonExtraListElement788, expr: &oneOrMoreExpr{ - pos: position{line: 1551, col: 18, offset: 51047}, + pos: position{line: 1558, col: 18, offset: 51302}, expr: &charClassMatcher{ - pos: position{line: 1551, col: 18, offset: 51047}, + pos: position{line: 1558, col: 18, offset: 51302}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -34240,28 +34467,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonExtraListElement792, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -34270,9 +34497,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -34288,18 +34515,18 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1754, col: 9, offset: 57638}, + pos: position{line: 1761, col: 9, offset: 57893}, run: (*parser).callonExtraListElement799, expr: &seqExpr{ - pos: position{line: 1754, col: 9, offset: 57638}, + pos: position{line: 1761, col: 9, offset: 57893}, exprs: []interface{}{ &actionExpr{ - pos: position{line: 3180, col: 11, offset: 103464}, + pos: position{line: 3076, col: 11, offset: 100101}, run: (*parser).callonExtraListElement801, expr: &oneOrMoreExpr{ - pos: position{line: 3180, col: 11, offset: 103464}, + pos: position{line: 3076, col: 11, offset: 100101}, expr: &charClassMatcher{ - pos: position{line: 3180, col: 12, offset: 103465}, + pos: position{line: 3076, col: 12, offset: 100102}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -34308,15 +34535,15 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1755, col: 9, offset: 57690}, + pos: position{line: 1762, col: 9, offset: 57945}, label: "content", expr: &actionExpr{ - pos: position{line: 1755, col: 18, offset: 57699}, + pos: position{line: 1762, col: 18, offset: 57954}, run: (*parser).callonExtraListElement805, expr: &oneOrMoreExpr{ - pos: position{line: 1755, col: 18, offset: 57699}, + pos: position{line: 1762, col: 18, offset: 57954}, expr: &charClassMatcher{ - pos: position{line: 1755, col: 18, offset: 57699}, + pos: position{line: 1762, col: 18, offset: 57954}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -34326,28 +34553,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonExtraListElement809, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -34356,9 +34583,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -34377,60 +34604,60 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1513, col: 13, offset: 49624}, + pos: position{line: 1520, col: 13, offset: 49879}, run: (*parser).callonExtraListElement816, expr: &seqExpr{ - pos: position{line: 1513, col: 13, offset: 49624}, + pos: position{line: 1520, col: 13, offset: 49879}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1513, col: 13, offset: 49624}, + pos: position{line: 1520, col: 13, offset: 49879}, label: "attributes", expr: &oneOrMoreExpr{ - pos: position{line: 1513, col: 24, offset: 49635}, + pos: position{line: 1520, col: 24, offset: 49890}, expr: &ruleRefExpr{ - pos: position{line: 1513, col: 25, offset: 49636}, + pos: position{line: 1520, col: 25, offset: 49891}, name: "BlockAttributes", }, }, }, &labeledExpr{ - pos: position{line: 1514, col: 13, offset: 49667}, + pos: position{line: 1521, col: 13, offset: 49922}, label: "element", expr: &actionExpr{ - pos: position{line: 1718, col: 5, offset: 56561}, + pos: position{line: 1725, col: 5, offset: 56816}, run: (*parser).callonExtraListElement822, expr: &seqExpr{ - pos: position{line: 1718, col: 5, offset: 56561}, + pos: position{line: 1725, col: 5, offset: 56816}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1718, col: 5, offset: 56561}, + pos: position{line: 1725, col: 5, offset: 56816}, label: "term", expr: &actionExpr{ - pos: position{line: 1726, col: 5, offset: 56820}, + pos: position{line: 1733, col: 5, offset: 57075}, run: (*parser).callonExtraListElement825, expr: &oneOrMoreExpr{ - pos: position{line: 1726, col: 5, offset: 56820}, + pos: position{line: 1733, col: 5, offset: 57075}, expr: &seqExpr{ - pos: position{line: 1726, col: 6, offset: 56821}, + pos: position{line: 1733, col: 6, offset: 57076}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 1726, col: 6, offset: 56821}, + pos: position{line: 1733, col: 6, offset: 57076}, expr: &actionExpr{ - pos: position{line: 1731, col: 5, offset: 56971}, + pos: position{line: 1738, col: 5, offset: 57226}, run: (*parser).callonExtraListElement829, expr: &seqExpr{ - pos: position{line: 1731, col: 5, offset: 56971}, + pos: position{line: 1738, col: 5, offset: 57226}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1731, col: 5, offset: 56971}, + pos: position{line: 1738, col: 5, offset: 57226}, label: "separator", expr: &actionExpr{ - pos: position{line: 1731, col: 16, offset: 56982}, + pos: position{line: 1738, col: 16, offset: 57237}, run: (*parser).callonExtraListElement832, expr: &oneOrMoreExpr{ - pos: position{line: 1731, col: 16, offset: 56982}, + pos: position{line: 1738, col: 16, offset: 57237}, expr: &litMatcher{ - pos: position{line: 1731, col: 17, offset: 56983}, + pos: position{line: 1738, col: 17, offset: 57238}, val: ":", ignoreCase: false, want: "\":\"", @@ -34439,7 +34666,7 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1734, col: 5, offset: 57040}, + pos: position{line: 1741, col: 5, offset: 57295}, run: (*parser).callonExtraListElement835, }, }, @@ -34447,30 +34674,30 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 1726, col: 35, offset: 56850}, + pos: position{line: 1733, col: 35, offset: 57105}, expr: &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonExtraListElement838, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -34479,16 +34706,16 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, }, }, &anyMatcher{ - line: 1726, col: 40, offset: 56855, + line: 1733, col: 40, offset: 57110, }, }, }, @@ -34496,24 +34723,24 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1719, col: 5, offset: 56596}, + pos: position{line: 1726, col: 5, offset: 56851}, label: "separator", expr: &actionExpr{ - pos: position{line: 1731, col: 5, offset: 56971}, + pos: position{line: 1738, col: 5, offset: 57226}, run: (*parser).callonExtraListElement847, expr: &seqExpr{ - pos: position{line: 1731, col: 5, offset: 56971}, + pos: position{line: 1738, col: 5, offset: 57226}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1731, col: 5, offset: 56971}, + pos: position{line: 1738, col: 5, offset: 57226}, label: "separator", expr: &actionExpr{ - pos: position{line: 1731, col: 16, offset: 56982}, + pos: position{line: 1738, col: 16, offset: 57237}, run: (*parser).callonExtraListElement850, expr: &oneOrMoreExpr{ - pos: position{line: 1731, col: 16, offset: 56982}, + pos: position{line: 1738, col: 16, offset: 57237}, expr: &litMatcher{ - pos: position{line: 1731, col: 17, offset: 56983}, + pos: position{line: 1738, col: 17, offset: 57238}, val: ":", ignoreCase: false, want: "\":\"", @@ -34522,7 +34749,7 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1734, col: 5, offset: 57040}, + pos: position{line: 1741, col: 5, offset: 57295}, run: (*parser).callonExtraListElement853, }, }, @@ -34530,24 +34757,24 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1720, col: 5, offset: 56641}, + pos: position{line: 1727, col: 5, offset: 56896}, label: "description", expr: &choiceExpr{ - pos: position{line: 1742, col: 5, offset: 57290}, + pos: position{line: 1749, col: 5, offset: 57545}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 1744, col: 9, offset: 57355}, + pos: position{line: 1751, col: 9, offset: 57610}, run: (*parser).callonExtraListElement856, expr: &seqExpr{ - pos: position{line: 1744, col: 9, offset: 57355}, + pos: position{line: 1751, col: 9, offset: 57610}, exprs: []interface{}{ &zeroOrMoreExpr{ - pos: position{line: 1744, col: 9, offset: 57355}, + pos: position{line: 1751, col: 9, offset: 57610}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonExtraListElement859, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -34556,28 +34783,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonExtraListElement862, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -34586,37 +34813,37 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, }, &zeroOrMoreExpr{ - pos: position{line: 1745, col: 9, offset: 57375}, + pos: position{line: 1752, col: 9, offset: 57630}, expr: &actionExpr{ - pos: position{line: 683, col: 14, offset: 22042}, + pos: position{line: 690, col: 14, offset: 22312}, run: (*parser).callonExtraListElement870, expr: &seqExpr{ - pos: position{line: 683, col: 14, offset: 22042}, + pos: position{line: 690, col: 14, offset: 22312}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 683, col: 14, offset: 22042}, + pos: position{line: 690, col: 14, offset: 22312}, expr: ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, &zeroOrMoreExpr{ - pos: position{line: 683, col: 19, offset: 22047}, + pos: position{line: 690, col: 19, offset: 22317}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonExtraListElement876, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -34625,28 +34852,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonExtraListElement879, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -34655,9 +34882,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -34667,47 +34894,47 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1746, col: 9, offset: 57395}, + pos: position{line: 1753, col: 9, offset: 57650}, label: "content", expr: &zeroOrOneExpr{ - pos: position{line: 1746, col: 17, offset: 57403}, + pos: position{line: 1753, col: 17, offset: 57658}, expr: &choiceExpr{ - pos: position{line: 1540, col: 5, offset: 50637}, + pos: position{line: 1547, col: 5, offset: 50892}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 1540, col: 5, offset: 50637}, + pos: position{line: 1547, col: 5, offset: 50892}, run: (*parser).callonExtraListElement889, expr: &actionExpr{ - pos: position{line: 2876, col: 22, offset: 94317}, + pos: position{line: 2762, col: 22, offset: 90750}, run: (*parser).callonExtraListElement890, expr: &seqExpr{ - pos: position{line: 2876, col: 22, offset: 94317}, + pos: position{line: 2762, col: 22, offset: 90750}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2881, col: 31, offset: 94538}, + pos: position{line: 2767, col: 31, offset: 90971}, val: "//", ignoreCase: false, want: "\"//\"", }, ¬Expr{ - pos: position{line: 2881, col: 36, offset: 94543}, + pos: position{line: 2767, col: 36, offset: 90976}, expr: &litMatcher{ - pos: position{line: 2881, col: 37, offset: 94544}, + pos: position{line: 2767, col: 37, offset: 90977}, val: "//", ignoreCase: false, want: "\"//\"", }, }, &labeledExpr{ - pos: position{line: 2876, col: 49, offset: 94344}, + pos: position{line: 2762, col: 49, offset: 90777}, label: "content", expr: &actionExpr{ - pos: position{line: 2883, col: 29, offset: 94579}, + pos: position{line: 2769, col: 29, offset: 91012}, run: (*parser).callonExtraListElement896, expr: &zeroOrMoreExpr{ - pos: position{line: 2883, col: 29, offset: 94579}, + pos: position{line: 2769, col: 29, offset: 91012}, expr: &charClassMatcher{ - pos: position{line: 2883, col: 29, offset: 94579}, + pos: position{line: 2769, col: 29, offset: 91012}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -34717,28 +34944,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonExtraListElement900, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -34747,9 +34974,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -34759,35 +34986,35 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1544, col: 9, offset: 50790}, + pos: position{line: 1551, col: 9, offset: 51045}, run: (*parser).callonExtraListElement907, expr: &seqExpr{ - pos: position{line: 1544, col: 9, offset: 50790}, + pos: position{line: 1551, col: 9, offset: 51045}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 1544, col: 9, offset: 50790}, + pos: position{line: 1551, col: 9, offset: 51045}, expr: &actionExpr{ - pos: position{line: 683, col: 14, offset: 22042}, + pos: position{line: 690, col: 14, offset: 22312}, run: (*parser).callonExtraListElement910, expr: &seqExpr{ - pos: position{line: 683, col: 14, offset: 22042}, + pos: position{line: 690, col: 14, offset: 22312}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 683, col: 14, offset: 22042}, + pos: position{line: 690, col: 14, offset: 22312}, expr: ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, &zeroOrMoreExpr{ - pos: position{line: 683, col: 19, offset: 22047}, + pos: position{line: 690, col: 19, offset: 22317}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonExtraListElement916, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -34796,28 +35023,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonExtraListElement919, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -34826,9 +35053,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -34838,23 +35065,23 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 1545, col: 9, offset: 50809}, + pos: position{line: 1552, col: 9, offset: 51064}, expr: &seqExpr{ - pos: position{line: 1578, col: 34, offset: 51769}, + pos: position{line: 1585, col: 34, offset: 52024}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1578, col: 34, offset: 51769}, + pos: position{line: 1585, col: 34, offset: 52024}, val: "+", ignoreCase: false, want: "\"+\"", }, &zeroOrMoreExpr{ - pos: position{line: 1578, col: 38, offset: 51773}, + pos: position{line: 1585, col: 38, offset: 52028}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonExtraListElement930, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -34863,25 +35090,25 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonExtraListElement932, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -34893,20 +35120,20 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 1546, col: 9, offset: 50848}, + pos: position{line: 1553, col: 9, offset: 51103}, expr: &actionExpr{ - pos: position{line: 1626, col: 5, offset: 53243}, + pos: position{line: 1633, col: 5, offset: 53498}, run: (*parser).callonExtraListElement938, expr: &seqExpr{ - pos: position{line: 1626, col: 5, offset: 53243}, + pos: position{line: 1633, col: 5, offset: 53498}, exprs: []interface{}{ &zeroOrMoreExpr{ - pos: position{line: 1626, col: 5, offset: 53243}, + pos: position{line: 1633, col: 5, offset: 53498}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonExtraListElement941, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -34915,27 +35142,27 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1626, col: 12, offset: 53250}, + pos: position{line: 1633, col: 12, offset: 53505}, label: "prefix", expr: &choiceExpr{ - pos: position{line: 1628, col: 9, offset: 53313}, + pos: position{line: 1635, col: 9, offset: 53568}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 1628, col: 9, offset: 53313}, + pos: position{line: 1635, col: 9, offset: 53568}, run: (*parser).callonExtraListElement945, expr: &seqExpr{ - pos: position{line: 1628, col: 9, offset: 53313}, + pos: position{line: 1635, col: 9, offset: 53568}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1628, col: 9, offset: 53313}, + pos: position{line: 1635, col: 9, offset: 53568}, label: "depth", expr: &actionExpr{ - pos: position{line: 1628, col: 16, offset: 53320}, + pos: position{line: 1635, col: 16, offset: 53575}, run: (*parser).callonExtraListElement948, expr: &oneOrMoreExpr{ - pos: position{line: 1628, col: 16, offset: 53320}, + pos: position{line: 1635, col: 16, offset: 53575}, expr: &litMatcher{ - pos: position{line: 1628, col: 17, offset: 53321}, + pos: position{line: 1635, col: 17, offset: 53576}, val: ".", ignoreCase: false, want: "\".\"", @@ -34944,22 +35171,22 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1632, col: 9, offset: 53421}, + pos: position{line: 1639, col: 9, offset: 53676}, run: (*parser).callonExtraListElement951, }, }, }, }, &actionExpr{ - pos: position{line: 1651, col: 11, offset: 54138}, + pos: position{line: 1658, col: 11, offset: 54393}, run: (*parser).callonExtraListElement952, expr: &seqExpr{ - pos: position{line: 1651, col: 11, offset: 54138}, + pos: position{line: 1658, col: 11, offset: 54393}, exprs: []interface{}{ &oneOrMoreExpr{ - pos: position{line: 1651, col: 11, offset: 54138}, + pos: position{line: 1658, col: 11, offset: 54393}, expr: &charClassMatcher{ - pos: position{line: 1651, col: 12, offset: 54139}, + pos: position{line: 1658, col: 12, offset: 54394}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -34967,7 +35194,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1651, col: 20, offset: 54147}, + pos: position{line: 1658, col: 20, offset: 54402}, val: ".", ignoreCase: false, want: "\".\"", @@ -34976,20 +35203,20 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1653, col: 13, offset: 54264}, + pos: position{line: 1660, col: 13, offset: 54519}, run: (*parser).callonExtraListElement957, expr: &seqExpr{ - pos: position{line: 1653, col: 13, offset: 54264}, + pos: position{line: 1660, col: 13, offset: 54519}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 1653, col: 14, offset: 54265}, + pos: position{line: 1660, col: 14, offset: 54520}, val: "[a-z]", ranges: []rune{'a', 'z'}, ignoreCase: false, inverted: false, }, &litMatcher{ - pos: position{line: 1653, col: 21, offset: 54272}, + pos: position{line: 1660, col: 21, offset: 54527}, val: ".", ignoreCase: false, want: "\".\"", @@ -34998,20 +35225,20 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1655, col: 13, offset: 54392}, + pos: position{line: 1662, col: 13, offset: 54647}, run: (*parser).callonExtraListElement961, expr: &seqExpr{ - pos: position{line: 1655, col: 13, offset: 54392}, + pos: position{line: 1662, col: 13, offset: 54647}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 1655, col: 14, offset: 54393}, + pos: position{line: 1662, col: 14, offset: 54648}, val: "[A-Z]", ranges: []rune{'A', 'Z'}, ignoreCase: false, inverted: false, }, &litMatcher{ - pos: position{line: 1655, col: 21, offset: 54400}, + pos: position{line: 1662, col: 21, offset: 54655}, val: ".", ignoreCase: false, want: "\".\"", @@ -35020,15 +35247,15 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1657, col: 13, offset: 54520}, + pos: position{line: 1664, col: 13, offset: 54775}, run: (*parser).callonExtraListElement965, expr: &seqExpr{ - pos: position{line: 1657, col: 13, offset: 54520}, + pos: position{line: 1664, col: 13, offset: 54775}, exprs: []interface{}{ &oneOrMoreExpr{ - pos: position{line: 1657, col: 13, offset: 54520}, + pos: position{line: 1664, col: 13, offset: 54775}, expr: &charClassMatcher{ - pos: position{line: 1657, col: 14, offset: 54521}, + pos: position{line: 1664, col: 14, offset: 54776}, val: "[ivxdlcm]", chars: []rune{'i', 'v', 'x', 'd', 'l', 'c', 'm'}, ignoreCase: false, @@ -35036,7 +35263,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1657, col: 26, offset: 54533}, + pos: position{line: 1664, col: 26, offset: 54788}, val: ")", ignoreCase: false, want: "\")\"", @@ -35045,15 +35272,15 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1659, col: 13, offset: 54653}, + pos: position{line: 1666, col: 13, offset: 54908}, run: (*parser).callonExtraListElement970, expr: &seqExpr{ - pos: position{line: 1659, col: 13, offset: 54653}, + pos: position{line: 1666, col: 13, offset: 54908}, exprs: []interface{}{ &oneOrMoreExpr{ - pos: position{line: 1659, col: 13, offset: 54653}, + pos: position{line: 1666, col: 13, offset: 54908}, expr: &charClassMatcher{ - pos: position{line: 1659, col: 14, offset: 54654}, + pos: position{line: 1666, col: 14, offset: 54909}, val: "[IVXDLCM]", chars: []rune{'I', 'V', 'X', 'D', 'L', 'C', 'M'}, ignoreCase: false, @@ -35061,7 +35288,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1659, col: 26, offset: 54666}, + pos: position{line: 1666, col: 26, offset: 54921}, val: ")", ignoreCase: false, want: "\")\"", @@ -35073,12 +35300,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 3180, col: 11, offset: 103464}, + pos: position{line: 3076, col: 11, offset: 100101}, run: (*parser).callonExtraListElement975, expr: &oneOrMoreExpr{ - pos: position{line: 3180, col: 11, offset: 103464}, + pos: position{line: 3076, col: 11, offset: 100101}, expr: &charClassMatcher{ - pos: position{line: 3180, col: 12, offset: 103465}, + pos: position{line: 3076, col: 12, offset: 100102}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -35091,20 +35318,20 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 1547, col: 9, offset: 50882}, + pos: position{line: 1554, col: 9, offset: 51137}, expr: &actionExpr{ - pos: position{line: 1676, col: 5, offset: 55205}, + pos: position{line: 1683, col: 5, offset: 55460}, run: (*parser).callonExtraListElement979, expr: &seqExpr{ - pos: position{line: 1676, col: 5, offset: 55205}, + pos: position{line: 1683, col: 5, offset: 55460}, exprs: []interface{}{ &zeroOrMoreExpr{ - pos: position{line: 1676, col: 5, offset: 55205}, + pos: position{line: 1683, col: 5, offset: 55460}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonExtraListElement982, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -35113,27 +35340,27 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1676, col: 12, offset: 55212}, + pos: position{line: 1683, col: 12, offset: 55467}, label: "prefix", expr: &choiceExpr{ - pos: position{line: 1676, col: 20, offset: 55220}, + pos: position{line: 1683, col: 20, offset: 55475}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 1678, col: 9, offset: 55277}, + pos: position{line: 1685, col: 9, offset: 55532}, run: (*parser).callonExtraListElement986, expr: &seqExpr{ - pos: position{line: 1678, col: 9, offset: 55277}, + pos: position{line: 1685, col: 9, offset: 55532}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1678, col: 9, offset: 55277}, + pos: position{line: 1685, col: 9, offset: 55532}, label: "depth", expr: &actionExpr{ - pos: position{line: 1678, col: 16, offset: 55284}, + pos: position{line: 1685, col: 16, offset: 55539}, run: (*parser).callonExtraListElement989, expr: &oneOrMoreExpr{ - pos: position{line: 1678, col: 16, offset: 55284}, + pos: position{line: 1685, col: 16, offset: 55539}, expr: &litMatcher{ - pos: position{line: 1678, col: 17, offset: 55285}, + pos: position{line: 1685, col: 17, offset: 55540}, val: "*", ignoreCase: false, want: "\"*\"", @@ -35142,20 +35369,20 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1682, col: 9, offset: 55385}, + pos: position{line: 1689, col: 9, offset: 55640}, run: (*parser).callonExtraListElement992, }, }, }, }, &labeledExpr{ - pos: position{line: 1699, col: 14, offset: 56092}, + pos: position{line: 1706, col: 14, offset: 56347}, label: "depth", expr: &actionExpr{ - pos: position{line: 1699, col: 21, offset: 56099}, + pos: position{line: 1706, col: 21, offset: 56354}, run: (*parser).callonExtraListElement994, expr: &litMatcher{ - pos: position{line: 1699, col: 22, offset: 56100}, + pos: position{line: 1706, col: 22, offset: 56355}, val: "-", ignoreCase: false, want: "\"-\"", @@ -35166,12 +35393,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 3180, col: 11, offset: 103464}, + pos: position{line: 3076, col: 11, offset: 100101}, run: (*parser).callonExtraListElement996, expr: &oneOrMoreExpr{ - pos: position{line: 3180, col: 11, offset: 103464}, + pos: position{line: 3076, col: 11, offset: 100101}, expr: &charClassMatcher{ - pos: position{line: 3180, col: 12, offset: 103465}, + pos: position{line: 3076, col: 12, offset: 100102}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -35184,29 +35411,29 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 1548, col: 9, offset: 50918}, + pos: position{line: 1555, col: 9, offset: 51173}, expr: &actionExpr{ - pos: position{line: 1782, col: 5, offset: 58442}, + pos: position{line: 1789, col: 5, offset: 58697}, run: (*parser).callonExtraListElement1000, expr: &seqExpr{ - pos: position{line: 1782, col: 5, offset: 58442}, + pos: position{line: 1789, col: 5, offset: 58697}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1782, col: 5, offset: 58442}, + pos: position{line: 1789, col: 5, offset: 58697}, val: "<", ignoreCase: false, want: "\"<\"", }, &labeledExpr{ - pos: position{line: 1782, col: 9, offset: 58446}, + pos: position{line: 1789, col: 9, offset: 58701}, label: "ref", expr: &actionExpr{ - pos: position{line: 1782, col: 14, offset: 58451}, + pos: position{line: 1789, col: 14, offset: 58706}, run: (*parser).callonExtraListElement1004, expr: &oneOrMoreExpr{ - pos: position{line: 1782, col: 14, offset: 58451}, + pos: position{line: 1789, col: 14, offset: 58706}, expr: &charClassMatcher{ - pos: position{line: 1782, col: 14, offset: 58451}, + pos: position{line: 1789, col: 14, offset: 58706}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -35216,18 +35443,18 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1782, col: 62, offset: 58499}, + pos: position{line: 1789, col: 62, offset: 58754}, val: ">", ignoreCase: false, want: "\">\"", }, &actionExpr{ - pos: position{line: 3180, col: 11, offset: 103464}, + pos: position{line: 3076, col: 11, offset: 100101}, run: (*parser).callonExtraListElement1008, expr: &oneOrMoreExpr{ - pos: position{line: 3180, col: 11, offset: 103464}, + pos: position{line: 3076, col: 11, offset: 100101}, expr: &charClassMatcher{ - pos: position{line: 3180, col: 12, offset: 103465}, + pos: position{line: 3076, col: 12, offset: 100102}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -35240,36 +35467,36 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 1549, col: 9, offset: 50952}, + pos: position{line: 1556, col: 9, offset: 51207}, expr: &seqExpr{ - pos: position{line: 1549, col: 11, offset: 50954}, + pos: position{line: 1556, col: 11, offset: 51209}, exprs: []interface{}{ &actionExpr{ - pos: position{line: 1726, col: 5, offset: 56820}, + pos: position{line: 1733, col: 5, offset: 57075}, run: (*parser).callonExtraListElement1013, expr: &oneOrMoreExpr{ - pos: position{line: 1726, col: 5, offset: 56820}, + pos: position{line: 1733, col: 5, offset: 57075}, expr: &seqExpr{ - pos: position{line: 1726, col: 6, offset: 56821}, + pos: position{line: 1733, col: 6, offset: 57076}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 1726, col: 6, offset: 56821}, + pos: position{line: 1733, col: 6, offset: 57076}, expr: &actionExpr{ - pos: position{line: 1731, col: 5, offset: 56971}, + pos: position{line: 1738, col: 5, offset: 57226}, run: (*parser).callonExtraListElement1017, expr: &seqExpr{ - pos: position{line: 1731, col: 5, offset: 56971}, + pos: position{line: 1738, col: 5, offset: 57226}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1731, col: 5, offset: 56971}, + pos: position{line: 1738, col: 5, offset: 57226}, label: "separator", expr: &actionExpr{ - pos: position{line: 1731, col: 16, offset: 56982}, + pos: position{line: 1738, col: 16, offset: 57237}, run: (*parser).callonExtraListElement1020, expr: &oneOrMoreExpr{ - pos: position{line: 1731, col: 16, offset: 56982}, + pos: position{line: 1738, col: 16, offset: 57237}, expr: &litMatcher{ - pos: position{line: 1731, col: 17, offset: 56983}, + pos: position{line: 1738, col: 17, offset: 57238}, val: ":", ignoreCase: false, want: "\":\"", @@ -35278,7 +35505,7 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1734, col: 5, offset: 57040}, + pos: position{line: 1741, col: 5, offset: 57295}, run: (*parser).callonExtraListElement1023, }, }, @@ -35286,30 +35513,30 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 1726, col: 35, offset: 56850}, + pos: position{line: 1733, col: 35, offset: 57105}, expr: &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonExtraListElement1026, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -35318,37 +35545,37 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, }, }, &anyMatcher{ - line: 1726, col: 40, offset: 56855, + line: 1733, col: 40, offset: 57110, }, }, }, }, }, &actionExpr{ - pos: position{line: 1731, col: 5, offset: 56971}, + pos: position{line: 1738, col: 5, offset: 57226}, run: (*parser).callonExtraListElement1034, expr: &seqExpr{ - pos: position{line: 1731, col: 5, offset: 56971}, + pos: position{line: 1738, col: 5, offset: 57226}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1731, col: 5, offset: 56971}, + pos: position{line: 1738, col: 5, offset: 57226}, label: "separator", expr: &actionExpr{ - pos: position{line: 1731, col: 16, offset: 56982}, + pos: position{line: 1738, col: 16, offset: 57237}, run: (*parser).callonExtraListElement1037, expr: &oneOrMoreExpr{ - pos: position{line: 1731, col: 16, offset: 56982}, + pos: position{line: 1738, col: 16, offset: 57237}, expr: &litMatcher{ - pos: position{line: 1731, col: 17, offset: 56983}, + pos: position{line: 1738, col: 17, offset: 57238}, val: ":", ignoreCase: false, want: "\":\"", @@ -35357,7 +35584,7 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1734, col: 5, offset: 57040}, + pos: position{line: 1741, col: 5, offset: 57295}, run: (*parser).callonExtraListElement1040, }, }, @@ -35367,17 +35594,17 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 1550, col: 9, offset: 51014}, + pos: position{line: 1557, col: 9, offset: 51269}, expr: &actionExpr{ - pos: position{line: 729, col: 5, offset: 23577}, + pos: position{line: 736, col: 5, offset: 23847}, run: (*parser).callonExtraListElement1042, expr: &seqExpr{ - pos: position{line: 729, col: 5, offset: 23577}, + pos: position{line: 736, col: 5, offset: 23847}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 729, col: 5, offset: 23577}, + pos: position{line: 736, col: 5, offset: 23847}, expr: &charClassMatcher{ - pos: position{line: 3090, col: 13, offset: 100713}, + pos: position{line: 2986, col: 13, offset: 97350}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -35386,36 +35613,36 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 730, col: 5, offset: 23607}, + pos: position{line: 737, col: 5, offset: 23877}, label: "delimiter", expr: &choiceExpr{ - pos: position{line: 731, col: 9, offset: 23627}, + pos: position{line: 738, col: 9, offset: 23897}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 745, col: 5, offset: 24119}, + pos: position{line: 752, col: 5, offset: 24389}, run: (*parser).callonExtraListElement1048, expr: &seqExpr{ - pos: position{line: 745, col: 5, offset: 24119}, + pos: position{line: 752, col: 5, offset: 24389}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 745, col: 5, offset: 24119}, + pos: position{line: 752, col: 5, offset: 24389}, label: "delimiter", expr: &actionExpr{ - pos: position{line: 745, col: 16, offset: 24130}, + pos: position{line: 752, col: 16, offset: 24400}, run: (*parser).callonExtraListElement1051, expr: &seqExpr{ - pos: position{line: 745, col: 16, offset: 24130}, + pos: position{line: 752, col: 16, offset: 24400}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 745, col: 16, offset: 24130}, + pos: position{line: 752, col: 16, offset: 24400}, val: "////", ignoreCase: false, want: "\"////\"", }, &zeroOrMoreExpr{ - pos: position{line: 745, col: 23, offset: 24137}, + pos: position{line: 752, col: 23, offset: 24407}, expr: &litMatcher{ - pos: position{line: 745, col: 23, offset: 24137}, + pos: position{line: 752, col: 23, offset: 24407}, val: "/", ignoreCase: false, want: "\"/\"", @@ -35426,12 +35653,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 747, col: 8, offset: 24221}, + pos: position{line: 754, col: 8, offset: 24491}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonExtraListElement1057, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -35440,28 +35667,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonExtraListElement1060, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -35470,9 +35697,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -35481,30 +35708,30 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 752, col: 5, offset: 24367}, + pos: position{line: 759, col: 5, offset: 24637}, run: (*parser).callonExtraListElement1067, expr: &seqExpr{ - pos: position{line: 752, col: 5, offset: 24367}, + pos: position{line: 759, col: 5, offset: 24637}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 752, col: 5, offset: 24367}, + pos: position{line: 759, col: 5, offset: 24637}, label: "delimiter", expr: &actionExpr{ - pos: position{line: 752, col: 16, offset: 24378}, + pos: position{line: 759, col: 16, offset: 24648}, run: (*parser).callonExtraListElement1070, expr: &seqExpr{ - pos: position{line: 752, col: 16, offset: 24378}, + pos: position{line: 759, col: 16, offset: 24648}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 752, col: 16, offset: 24378}, + pos: position{line: 759, col: 16, offset: 24648}, val: "====", ignoreCase: false, want: "\"====\"", }, &zeroOrMoreExpr{ - pos: position{line: 752, col: 23, offset: 24385}, + pos: position{line: 759, col: 23, offset: 24655}, expr: &litMatcher{ - pos: position{line: 752, col: 23, offset: 24385}, + pos: position{line: 759, col: 23, offset: 24655}, val: "=", ignoreCase: false, want: "\"=\"", @@ -35515,12 +35742,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 754, col: 8, offset: 24469}, + pos: position{line: 761, col: 8, offset: 24739}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonExtraListElement1076, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -35529,28 +35756,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonExtraListElement1079, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -35559,9 +35786,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -35570,27 +35797,27 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 765, col: 26, offset: 24855}, + pos: position{line: 772, col: 26, offset: 25125}, run: (*parser).callonExtraListElement1086, expr: &seqExpr{ - pos: position{line: 765, col: 26, offset: 24855}, + pos: position{line: 772, col: 26, offset: 25125}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 765, col: 26, offset: 24855}, + pos: position{line: 772, col: 26, offset: 25125}, val: "```", ignoreCase: false, want: "\"```\"", }, &labeledExpr{ - pos: position{line: 765, col: 32, offset: 24861}, + pos: position{line: 772, col: 32, offset: 25131}, label: "language", expr: &actionExpr{ - pos: position{line: 769, col: 13, offset: 24991}, + pos: position{line: 776, col: 13, offset: 25261}, run: (*parser).callonExtraListElement1090, expr: &oneOrMoreExpr{ - pos: position{line: 769, col: 14, offset: 24992}, + pos: position{line: 776, col: 14, offset: 25262}, expr: &charClassMatcher{ - pos: position{line: 769, col: 14, offset: 24992}, + pos: position{line: 776, col: 14, offset: 25262}, val: "[^\\r\\n` ]", chars: []rune{'\r', '\n', '`', ' '}, ignoreCase: false, @@ -35600,12 +35827,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 765, col: 52, offset: 24881}, + pos: position{line: 772, col: 52, offset: 25151}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonExtraListElement1094, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -35614,28 +35841,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonExtraListElement1097, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -35644,9 +35871,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -35655,30 +35882,30 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 759, col: 5, offset: 24614}, + pos: position{line: 766, col: 5, offset: 24884}, run: (*parser).callonExtraListElement1104, expr: &seqExpr{ - pos: position{line: 759, col: 5, offset: 24614}, + pos: position{line: 766, col: 5, offset: 24884}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 759, col: 5, offset: 24614}, + pos: position{line: 766, col: 5, offset: 24884}, label: "delimiter", expr: &actionExpr{ - pos: position{line: 759, col: 16, offset: 24625}, + pos: position{line: 766, col: 16, offset: 24895}, run: (*parser).callonExtraListElement1107, expr: &seqExpr{ - pos: position{line: 759, col: 16, offset: 24625}, + pos: position{line: 766, col: 16, offset: 24895}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 759, col: 16, offset: 24625}, + pos: position{line: 766, col: 16, offset: 24895}, val: "```", ignoreCase: false, want: "\"```\"", }, &zeroOrMoreExpr{ - pos: position{line: 759, col: 22, offset: 24631}, + pos: position{line: 766, col: 22, offset: 24901}, expr: &litMatcher{ - pos: position{line: 759, col: 22, offset: 24631}, + pos: position{line: 766, col: 22, offset: 24901}, val: "`", ignoreCase: false, want: "\"`\"", @@ -35689,12 +35916,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 761, col: 8, offset: 24715}, + pos: position{line: 768, col: 8, offset: 24985}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonExtraListElement1113, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -35703,28 +35930,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonExtraListElement1116, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -35733,9 +35960,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -35744,30 +35971,30 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 774, col: 5, offset: 25151}, + pos: position{line: 781, col: 5, offset: 25421}, run: (*parser).callonExtraListElement1123, expr: &seqExpr{ - pos: position{line: 774, col: 5, offset: 25151}, + pos: position{line: 781, col: 5, offset: 25421}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 774, col: 5, offset: 25151}, + pos: position{line: 781, col: 5, offset: 25421}, label: "delimiter", expr: &actionExpr{ - pos: position{line: 774, col: 16, offset: 25162}, + pos: position{line: 781, col: 16, offset: 25432}, run: (*parser).callonExtraListElement1126, expr: &seqExpr{ - pos: position{line: 774, col: 16, offset: 25162}, + pos: position{line: 781, col: 16, offset: 25432}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 774, col: 16, offset: 25162}, + pos: position{line: 781, col: 16, offset: 25432}, val: "----", ignoreCase: false, want: "\"----\"", }, &zeroOrMoreExpr{ - pos: position{line: 774, col: 23, offset: 25169}, + pos: position{line: 781, col: 23, offset: 25439}, expr: &litMatcher{ - pos: position{line: 774, col: 23, offset: 25169}, + pos: position{line: 781, col: 23, offset: 25439}, val: "-", ignoreCase: false, want: "\"-\"", @@ -35778,12 +36005,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 776, col: 8, offset: 25253}, + pos: position{line: 783, col: 8, offset: 25523}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonExtraListElement1132, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -35792,28 +36019,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonExtraListElement1135, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -35822,9 +36049,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -35833,30 +36060,30 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 781, col: 5, offset: 25399}, + pos: position{line: 788, col: 5, offset: 25669}, run: (*parser).callonExtraListElement1142, expr: &seqExpr{ - pos: position{line: 781, col: 5, offset: 25399}, + pos: position{line: 788, col: 5, offset: 25669}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 781, col: 5, offset: 25399}, + pos: position{line: 788, col: 5, offset: 25669}, label: "delimiter", expr: &actionExpr{ - pos: position{line: 781, col: 16, offset: 25410}, + pos: position{line: 788, col: 16, offset: 25680}, run: (*parser).callonExtraListElement1145, expr: &seqExpr{ - pos: position{line: 781, col: 16, offset: 25410}, + pos: position{line: 788, col: 16, offset: 25680}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 781, col: 16, offset: 25410}, + pos: position{line: 788, col: 16, offset: 25680}, val: "....", ignoreCase: false, want: "\"....\"", }, &zeroOrMoreExpr{ - pos: position{line: 781, col: 23, offset: 25417}, + pos: position{line: 788, col: 23, offset: 25687}, expr: &litMatcher{ - pos: position{line: 781, col: 23, offset: 25417}, + pos: position{line: 788, col: 23, offset: 25687}, val: ".", ignoreCase: false, want: "\".\"", @@ -35867,12 +36094,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 783, col: 8, offset: 25501}, + pos: position{line: 790, col: 8, offset: 25771}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonExtraListElement1151, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -35881,28 +36108,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonExtraListElement1154, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -35911,9 +36138,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -35922,30 +36149,30 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 788, col: 5, offset: 25651}, + pos: position{line: 795, col: 5, offset: 25921}, run: (*parser).callonExtraListElement1161, expr: &seqExpr{ - pos: position{line: 788, col: 5, offset: 25651}, + pos: position{line: 795, col: 5, offset: 25921}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 788, col: 5, offset: 25651}, + pos: position{line: 795, col: 5, offset: 25921}, label: "delimiter", expr: &actionExpr{ - pos: position{line: 788, col: 16, offset: 25662}, + pos: position{line: 795, col: 16, offset: 25932}, run: (*parser).callonExtraListElement1164, expr: &seqExpr{ - pos: position{line: 788, col: 16, offset: 25662}, + pos: position{line: 795, col: 16, offset: 25932}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 788, col: 16, offset: 25662}, + pos: position{line: 795, col: 16, offset: 25932}, val: "++++", ignoreCase: false, want: "\"++++\"", }, &zeroOrMoreExpr{ - pos: position{line: 788, col: 23, offset: 25669}, + pos: position{line: 795, col: 23, offset: 25939}, expr: &litMatcher{ - pos: position{line: 788, col: 23, offset: 25669}, + pos: position{line: 795, col: 23, offset: 25939}, val: "+", ignoreCase: false, want: "\"+\"", @@ -35956,12 +36183,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 790, col: 8, offset: 25753}, + pos: position{line: 797, col: 8, offset: 26023}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonExtraListElement1170, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -35970,28 +36197,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonExtraListElement1173, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -36000,9 +36227,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -36011,30 +36238,30 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 795, col: 5, offset: 25901}, + pos: position{line: 802, col: 5, offset: 26171}, run: (*parser).callonExtraListElement1180, expr: &seqExpr{ - pos: position{line: 795, col: 5, offset: 25901}, + pos: position{line: 802, col: 5, offset: 26171}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 795, col: 5, offset: 25901}, + pos: position{line: 802, col: 5, offset: 26171}, label: "delimiter", expr: &actionExpr{ - pos: position{line: 795, col: 16, offset: 25912}, + pos: position{line: 802, col: 16, offset: 26182}, run: (*parser).callonExtraListElement1183, expr: &seqExpr{ - pos: position{line: 795, col: 16, offset: 25912}, + pos: position{line: 802, col: 16, offset: 26182}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 795, col: 16, offset: 25912}, + pos: position{line: 802, col: 16, offset: 26182}, val: "____", ignoreCase: false, want: "\"____\"", }, &zeroOrMoreExpr{ - pos: position{line: 795, col: 23, offset: 25919}, + pos: position{line: 802, col: 23, offset: 26189}, expr: &litMatcher{ - pos: position{line: 795, col: 23, offset: 25919}, + pos: position{line: 802, col: 23, offset: 26189}, val: "_", ignoreCase: false, want: "\"_\"", @@ -36045,12 +36272,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 797, col: 8, offset: 26003}, + pos: position{line: 804, col: 8, offset: 26273}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonExtraListElement1189, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -36059,28 +36286,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonExtraListElement1192, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -36089,9 +36316,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -36100,30 +36327,30 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 802, col: 5, offset: 26147}, + pos: position{line: 809, col: 5, offset: 26417}, run: (*parser).callonExtraListElement1199, expr: &seqExpr{ - pos: position{line: 802, col: 5, offset: 26147}, + pos: position{line: 809, col: 5, offset: 26417}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 802, col: 5, offset: 26147}, + pos: position{line: 809, col: 5, offset: 26417}, label: "delimiter", expr: &actionExpr{ - pos: position{line: 802, col: 16, offset: 26158}, + pos: position{line: 809, col: 16, offset: 26428}, run: (*parser).callonExtraListElement1202, expr: &seqExpr{ - pos: position{line: 802, col: 16, offset: 26158}, + pos: position{line: 809, col: 16, offset: 26428}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 802, col: 16, offset: 26158}, + pos: position{line: 809, col: 16, offset: 26428}, val: "****", ignoreCase: false, want: "\"****\"", }, &zeroOrMoreExpr{ - pos: position{line: 802, col: 23, offset: 26165}, + pos: position{line: 809, col: 23, offset: 26435}, expr: &litMatcher{ - pos: position{line: 802, col: 23, offset: 26165}, + pos: position{line: 809, col: 23, offset: 26435}, val: "*", ignoreCase: false, want: "\"*\"", @@ -36134,12 +36361,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 804, col: 8, offset: 26249}, + pos: position{line: 811, col: 8, offset: 26519}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonExtraListElement1208, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -36148,28 +36375,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonExtraListElement1211, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -36178,9 +36405,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -36196,15 +36423,15 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1551, col: 9, offset: 51038}, + pos: position{line: 1558, col: 9, offset: 51293}, label: "content", expr: &actionExpr{ - pos: position{line: 1551, col: 18, offset: 51047}, + pos: position{line: 1558, col: 18, offset: 51302}, run: (*parser).callonExtraListElement1219, expr: &oneOrMoreExpr{ - pos: position{line: 1551, col: 18, offset: 51047}, + pos: position{line: 1558, col: 18, offset: 51302}, expr: &charClassMatcher{ - pos: position{line: 1551, col: 18, offset: 51047}, + pos: position{line: 1558, col: 18, offset: 51302}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -36214,28 +36441,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonExtraListElement1223, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -36244,9 +36471,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -36262,18 +36489,18 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1754, col: 9, offset: 57638}, + pos: position{line: 1761, col: 9, offset: 57893}, run: (*parser).callonExtraListElement1230, expr: &seqExpr{ - pos: position{line: 1754, col: 9, offset: 57638}, + pos: position{line: 1761, col: 9, offset: 57893}, exprs: []interface{}{ &actionExpr{ - pos: position{line: 3180, col: 11, offset: 103464}, + pos: position{line: 3076, col: 11, offset: 100101}, run: (*parser).callonExtraListElement1232, expr: &oneOrMoreExpr{ - pos: position{line: 3180, col: 11, offset: 103464}, + pos: position{line: 3076, col: 11, offset: 100101}, expr: &charClassMatcher{ - pos: position{line: 3180, col: 12, offset: 103465}, + pos: position{line: 3076, col: 12, offset: 100102}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -36282,15 +36509,15 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1755, col: 9, offset: 57690}, + pos: position{line: 1762, col: 9, offset: 57945}, label: "content", expr: &actionExpr{ - pos: position{line: 1755, col: 18, offset: 57699}, + pos: position{line: 1762, col: 18, offset: 57954}, run: (*parser).callonExtraListElement1236, expr: &oneOrMoreExpr{ - pos: position{line: 1755, col: 18, offset: 57699}, + pos: position{line: 1762, col: 18, offset: 57954}, expr: &charClassMatcher{ - pos: position{line: 1755, col: 18, offset: 57699}, + pos: position{line: 1762, col: 18, offset: 57954}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -36300,28 +36527,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonExtraListElement1240, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -36330,9 +36557,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -36351,36 +36578,36 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2876, col: 22, offset: 94317}, + pos: position{line: 2762, col: 22, offset: 90750}, run: (*parser).callonExtraListElement1247, expr: &seqExpr{ - pos: position{line: 2876, col: 22, offset: 94317}, + pos: position{line: 2762, col: 22, offset: 90750}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2881, col: 31, offset: 94538}, + pos: position{line: 2767, col: 31, offset: 90971}, val: "//", ignoreCase: false, want: "\"//\"", }, ¬Expr{ - pos: position{line: 2881, col: 36, offset: 94543}, + pos: position{line: 2767, col: 36, offset: 90976}, expr: &litMatcher{ - pos: position{line: 2881, col: 37, offset: 94544}, + pos: position{line: 2767, col: 37, offset: 90977}, val: "//", ignoreCase: false, want: "\"//\"", }, }, &labeledExpr{ - pos: position{line: 2876, col: 49, offset: 94344}, + pos: position{line: 2762, col: 49, offset: 90777}, label: "content", expr: &actionExpr{ - pos: position{line: 2883, col: 29, offset: 94579}, + pos: position{line: 2769, col: 29, offset: 91012}, run: (*parser).callonExtraListElement1253, expr: &zeroOrMoreExpr{ - pos: position{line: 2883, col: 29, offset: 94579}, + pos: position{line: 2769, col: 29, offset: 91012}, expr: &charClassMatcher{ - pos: position{line: 2883, col: 29, offset: 94579}, + pos: position{line: 2769, col: 29, offset: 91012}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -36390,28 +36617,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonExtraListElement1257, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -36420,9 +36647,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -36431,35 +36658,35 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1518, col: 13, offset: 49823}, + pos: position{line: 1525, col: 13, offset: 50078}, run: (*parser).callonExtraListElement1264, expr: &seqExpr{ - pos: position{line: 1518, col: 13, offset: 49823}, + pos: position{line: 1525, col: 13, offset: 50078}, exprs: []interface{}{ &oneOrMoreExpr{ - pos: position{line: 1518, col: 13, offset: 49823}, + pos: position{line: 1525, col: 13, offset: 50078}, expr: &actionExpr{ - pos: position{line: 683, col: 14, offset: 22042}, + pos: position{line: 690, col: 14, offset: 22312}, run: (*parser).callonExtraListElement1267, expr: &seqExpr{ - pos: position{line: 683, col: 14, offset: 22042}, + pos: position{line: 690, col: 14, offset: 22312}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 683, col: 14, offset: 22042}, + pos: position{line: 690, col: 14, offset: 22312}, expr: ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, &zeroOrMoreExpr{ - pos: position{line: 683, col: 19, offset: 22047}, + pos: position{line: 690, col: 19, offset: 22317}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonExtraListElement1273, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -36468,28 +36695,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonExtraListElement1276, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -36498,9 +36725,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -36510,50 +36737,50 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1519, col: 13, offset: 49846}, + pos: position{line: 1526, col: 13, offset: 50101}, label: "attributes", expr: &zeroOrMoreExpr{ - pos: position{line: 1519, col: 24, offset: 49857}, + pos: position{line: 1526, col: 24, offset: 50112}, expr: &ruleRefExpr{ - pos: position{line: 1519, col: 25, offset: 49858}, + pos: position{line: 1526, col: 25, offset: 50113}, name: "BlockAttributes", }, }, }, &labeledExpr{ - pos: position{line: 1520, col: 13, offset: 49889}, + pos: position{line: 1527, col: 13, offset: 50144}, label: "element", expr: &actionExpr{ - pos: position{line: 1861, col: 5, offset: 61049}, + pos: position{line: 1868, col: 5, offset: 61304}, run: (*parser).callonExtraListElement1287, expr: &seqExpr{ - pos: position{line: 1861, col: 5, offset: 61049}, + pos: position{line: 1868, col: 5, offset: 61304}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1861, col: 5, offset: 61049}, + pos: position{line: 1868, col: 5, offset: 61304}, label: "firstLine", expr: &actionExpr{ - pos: position{line: 1868, col: 5, offset: 61334}, + pos: position{line: 1875, col: 5, offset: 61589}, run: (*parser).callonExtraListElement1290, expr: &seqExpr{ - pos: position{line: 1868, col: 5, offset: 61334}, + pos: position{line: 1875, col: 5, offset: 61589}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1868, col: 5, offset: 61334}, + pos: position{line: 1875, col: 5, offset: 61589}, label: "content", expr: &actionExpr{ - pos: position{line: 1868, col: 14, offset: 61343}, + pos: position{line: 1875, col: 14, offset: 61598}, run: (*parser).callonExtraListElement1293, expr: &seqExpr{ - pos: position{line: 1868, col: 14, offset: 61343}, + pos: position{line: 1875, col: 14, offset: 61598}, exprs: []interface{}{ &actionExpr{ - pos: position{line: 3180, col: 11, offset: 103464}, + pos: position{line: 3076, col: 11, offset: 100101}, run: (*parser).callonExtraListElement1295, expr: &oneOrMoreExpr{ - pos: position{line: 3180, col: 11, offset: 103464}, + pos: position{line: 3076, col: 11, offset: 100101}, expr: &charClassMatcher{ - pos: position{line: 3180, col: 12, offset: 103465}, + pos: position{line: 3076, col: 12, offset: 100102}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -36562,9 +36789,9 @@ var g = &grammar{ }, }, &oneOrMoreExpr{ - pos: position{line: 1868, col: 21, offset: 61350}, + pos: position{line: 1875, col: 21, offset: 61605}, expr: &charClassMatcher{ - pos: position{line: 1868, col: 21, offset: 61350}, + pos: position{line: 1875, col: 21, offset: 61605}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -36576,32 +36803,32 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1871, col: 5, offset: 61407}, + pos: position{line: 1878, col: 5, offset: 61662}, run: (*parser).callonExtraListElement1300, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonExtraListElement1302, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -36610,9 +36837,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -36622,44 +36849,44 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1862, col: 5, offset: 61090}, + pos: position{line: 1869, col: 5, offset: 61345}, label: "otherLines", expr: &zeroOrMoreExpr{ - pos: position{line: 1862, col: 16, offset: 61101}, + pos: position{line: 1869, col: 16, offset: 61356}, expr: &choiceExpr{ - pos: position{line: 1862, col: 17, offset: 61102}, + pos: position{line: 1869, col: 17, offset: 61357}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2876, col: 22, offset: 94317}, + pos: position{line: 2762, col: 22, offset: 90750}, run: (*parser).callonExtraListElement1312, expr: &seqExpr{ - pos: position{line: 2876, col: 22, offset: 94317}, + pos: position{line: 2762, col: 22, offset: 90750}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2881, col: 31, offset: 94538}, + pos: position{line: 2767, col: 31, offset: 90971}, val: "//", ignoreCase: false, want: "\"//\"", }, ¬Expr{ - pos: position{line: 2881, col: 36, offset: 94543}, + pos: position{line: 2767, col: 36, offset: 90976}, expr: &litMatcher{ - pos: position{line: 2881, col: 37, offset: 94544}, + pos: position{line: 2767, col: 37, offset: 90977}, val: "//", ignoreCase: false, want: "\"//\"", }, }, &labeledExpr{ - pos: position{line: 2876, col: 49, offset: 94344}, + pos: position{line: 2762, col: 49, offset: 90777}, label: "content", expr: &actionExpr{ - pos: position{line: 2883, col: 29, offset: 94579}, + pos: position{line: 2769, col: 29, offset: 91012}, run: (*parser).callonExtraListElement1318, expr: &zeroOrMoreExpr{ - pos: position{line: 2883, col: 29, offset: 94579}, + pos: position{line: 2769, col: 29, offset: 91012}, expr: &charClassMatcher{ - pos: position{line: 2883, col: 29, offset: 94579}, + pos: position{line: 2769, col: 29, offset: 91012}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -36669,28 +36896,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonExtraListElement1322, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -36699,9 +36926,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -36710,21 +36937,21 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1850, col: 5, offset: 60767}, + pos: position{line: 1857, col: 5, offset: 61022}, run: (*parser).callonExtraListElement1329, expr: &seqExpr{ - pos: position{line: 1850, col: 5, offset: 60767}, + pos: position{line: 1857, col: 5, offset: 61022}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1850, col: 5, offset: 60767}, + pos: position{line: 1857, col: 5, offset: 61022}, label: "content", expr: &actionExpr{ - pos: position{line: 1850, col: 14, offset: 60776}, + pos: position{line: 1857, col: 14, offset: 61031}, run: (*parser).callonExtraListElement1332, expr: &oneOrMoreExpr{ - pos: position{line: 1850, col: 14, offset: 60776}, + pos: position{line: 1857, col: 14, offset: 61031}, expr: &charClassMatcher{ - pos: position{line: 1850, col: 14, offset: 60776}, + pos: position{line: 1857, col: 14, offset: 61031}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -36734,32 +36961,32 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1853, col: 5, offset: 60883}, + pos: position{line: 1860, col: 5, offset: 61138}, run: (*parser).callonExtraListElement1335, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonExtraListElement1337, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -36768,9 +36995,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -36790,48 +37017,48 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1532, col: 13, offset: 50436}, + pos: position{line: 1539, col: 13, offset: 50691}, run: (*parser).callonExtraListElement1344, expr: &labeledExpr{ - pos: position{line: 1532, col: 13, offset: 50436}, + pos: position{line: 1539, col: 13, offset: 50691}, label: "element", expr: &choiceExpr{ - pos: position{line: 1540, col: 5, offset: 50637}, + pos: position{line: 1547, col: 5, offset: 50892}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 1540, col: 5, offset: 50637}, + pos: position{line: 1547, col: 5, offset: 50892}, run: (*parser).callonExtraListElement1347, expr: &actionExpr{ - pos: position{line: 2876, col: 22, offset: 94317}, + pos: position{line: 2762, col: 22, offset: 90750}, run: (*parser).callonExtraListElement1348, expr: &seqExpr{ - pos: position{line: 2876, col: 22, offset: 94317}, + pos: position{line: 2762, col: 22, offset: 90750}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2881, col: 31, offset: 94538}, + pos: position{line: 2767, col: 31, offset: 90971}, val: "//", ignoreCase: false, want: "\"//\"", }, ¬Expr{ - pos: position{line: 2881, col: 36, offset: 94543}, + pos: position{line: 2767, col: 36, offset: 90976}, expr: &litMatcher{ - pos: position{line: 2881, col: 37, offset: 94544}, + pos: position{line: 2767, col: 37, offset: 90977}, val: "//", ignoreCase: false, want: "\"//\"", }, }, &labeledExpr{ - pos: position{line: 2876, col: 49, offset: 94344}, + pos: position{line: 2762, col: 49, offset: 90777}, label: "content", expr: &actionExpr{ - pos: position{line: 2883, col: 29, offset: 94579}, + pos: position{line: 2769, col: 29, offset: 91012}, run: (*parser).callonExtraListElement1354, expr: &zeroOrMoreExpr{ - pos: position{line: 2883, col: 29, offset: 94579}, + pos: position{line: 2769, col: 29, offset: 91012}, expr: &charClassMatcher{ - pos: position{line: 2883, col: 29, offset: 94579}, + pos: position{line: 2769, col: 29, offset: 91012}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -36841,28 +37068,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonExtraListElement1358, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -36871,9 +37098,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -36883,35 +37110,35 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1544, col: 9, offset: 50790}, + pos: position{line: 1551, col: 9, offset: 51045}, run: (*parser).callonExtraListElement1365, expr: &seqExpr{ - pos: position{line: 1544, col: 9, offset: 50790}, + pos: position{line: 1551, col: 9, offset: 51045}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 1544, col: 9, offset: 50790}, + pos: position{line: 1551, col: 9, offset: 51045}, expr: &actionExpr{ - pos: position{line: 683, col: 14, offset: 22042}, + pos: position{line: 690, col: 14, offset: 22312}, run: (*parser).callonExtraListElement1368, expr: &seqExpr{ - pos: position{line: 683, col: 14, offset: 22042}, + pos: position{line: 690, col: 14, offset: 22312}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 683, col: 14, offset: 22042}, + pos: position{line: 690, col: 14, offset: 22312}, expr: ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, &zeroOrMoreExpr{ - pos: position{line: 683, col: 19, offset: 22047}, + pos: position{line: 690, col: 19, offset: 22317}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonExtraListElement1374, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -36920,28 +37147,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonExtraListElement1377, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -36950,9 +37177,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -36962,23 +37189,23 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 1545, col: 9, offset: 50809}, + pos: position{line: 1552, col: 9, offset: 51064}, expr: &seqExpr{ - pos: position{line: 1578, col: 34, offset: 51769}, + pos: position{line: 1585, col: 34, offset: 52024}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1578, col: 34, offset: 51769}, + pos: position{line: 1585, col: 34, offset: 52024}, val: "+", ignoreCase: false, want: "\"+\"", }, &zeroOrMoreExpr{ - pos: position{line: 1578, col: 38, offset: 51773}, + pos: position{line: 1585, col: 38, offset: 52028}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonExtraListElement1388, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -36987,25 +37214,25 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonExtraListElement1390, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -37017,20 +37244,20 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 1546, col: 9, offset: 50848}, + pos: position{line: 1553, col: 9, offset: 51103}, expr: &actionExpr{ - pos: position{line: 1626, col: 5, offset: 53243}, + pos: position{line: 1633, col: 5, offset: 53498}, run: (*parser).callonExtraListElement1396, expr: &seqExpr{ - pos: position{line: 1626, col: 5, offset: 53243}, + pos: position{line: 1633, col: 5, offset: 53498}, exprs: []interface{}{ &zeroOrMoreExpr{ - pos: position{line: 1626, col: 5, offset: 53243}, + pos: position{line: 1633, col: 5, offset: 53498}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonExtraListElement1399, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -37039,27 +37266,27 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1626, col: 12, offset: 53250}, + pos: position{line: 1633, col: 12, offset: 53505}, label: "prefix", expr: &choiceExpr{ - pos: position{line: 1628, col: 9, offset: 53313}, + pos: position{line: 1635, col: 9, offset: 53568}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 1628, col: 9, offset: 53313}, + pos: position{line: 1635, col: 9, offset: 53568}, run: (*parser).callonExtraListElement1403, expr: &seqExpr{ - pos: position{line: 1628, col: 9, offset: 53313}, + pos: position{line: 1635, col: 9, offset: 53568}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1628, col: 9, offset: 53313}, + pos: position{line: 1635, col: 9, offset: 53568}, label: "depth", expr: &actionExpr{ - pos: position{line: 1628, col: 16, offset: 53320}, + pos: position{line: 1635, col: 16, offset: 53575}, run: (*parser).callonExtraListElement1406, expr: &oneOrMoreExpr{ - pos: position{line: 1628, col: 16, offset: 53320}, + pos: position{line: 1635, col: 16, offset: 53575}, expr: &litMatcher{ - pos: position{line: 1628, col: 17, offset: 53321}, + pos: position{line: 1635, col: 17, offset: 53576}, val: ".", ignoreCase: false, want: "\".\"", @@ -37068,22 +37295,22 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1632, col: 9, offset: 53421}, + pos: position{line: 1639, col: 9, offset: 53676}, run: (*parser).callonExtraListElement1409, }, }, }, }, &actionExpr{ - pos: position{line: 1651, col: 11, offset: 54138}, + pos: position{line: 1658, col: 11, offset: 54393}, run: (*parser).callonExtraListElement1410, expr: &seqExpr{ - pos: position{line: 1651, col: 11, offset: 54138}, + pos: position{line: 1658, col: 11, offset: 54393}, exprs: []interface{}{ &oneOrMoreExpr{ - pos: position{line: 1651, col: 11, offset: 54138}, + pos: position{line: 1658, col: 11, offset: 54393}, expr: &charClassMatcher{ - pos: position{line: 1651, col: 12, offset: 54139}, + pos: position{line: 1658, col: 12, offset: 54394}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -37091,7 +37318,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1651, col: 20, offset: 54147}, + pos: position{line: 1658, col: 20, offset: 54402}, val: ".", ignoreCase: false, want: "\".\"", @@ -37100,20 +37327,20 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1653, col: 13, offset: 54264}, + pos: position{line: 1660, col: 13, offset: 54519}, run: (*parser).callonExtraListElement1415, expr: &seqExpr{ - pos: position{line: 1653, col: 13, offset: 54264}, + pos: position{line: 1660, col: 13, offset: 54519}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 1653, col: 14, offset: 54265}, + pos: position{line: 1660, col: 14, offset: 54520}, val: "[a-z]", ranges: []rune{'a', 'z'}, ignoreCase: false, inverted: false, }, &litMatcher{ - pos: position{line: 1653, col: 21, offset: 54272}, + pos: position{line: 1660, col: 21, offset: 54527}, val: ".", ignoreCase: false, want: "\".\"", @@ -37122,20 +37349,20 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1655, col: 13, offset: 54392}, + pos: position{line: 1662, col: 13, offset: 54647}, run: (*parser).callonExtraListElement1419, expr: &seqExpr{ - pos: position{line: 1655, col: 13, offset: 54392}, + pos: position{line: 1662, col: 13, offset: 54647}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 1655, col: 14, offset: 54393}, + pos: position{line: 1662, col: 14, offset: 54648}, val: "[A-Z]", ranges: []rune{'A', 'Z'}, ignoreCase: false, inverted: false, }, &litMatcher{ - pos: position{line: 1655, col: 21, offset: 54400}, + pos: position{line: 1662, col: 21, offset: 54655}, val: ".", ignoreCase: false, want: "\".\"", @@ -37144,15 +37371,15 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1657, col: 13, offset: 54520}, + pos: position{line: 1664, col: 13, offset: 54775}, run: (*parser).callonExtraListElement1423, expr: &seqExpr{ - pos: position{line: 1657, col: 13, offset: 54520}, + pos: position{line: 1664, col: 13, offset: 54775}, exprs: []interface{}{ &oneOrMoreExpr{ - pos: position{line: 1657, col: 13, offset: 54520}, + pos: position{line: 1664, col: 13, offset: 54775}, expr: &charClassMatcher{ - pos: position{line: 1657, col: 14, offset: 54521}, + pos: position{line: 1664, col: 14, offset: 54776}, val: "[ivxdlcm]", chars: []rune{'i', 'v', 'x', 'd', 'l', 'c', 'm'}, ignoreCase: false, @@ -37160,7 +37387,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1657, col: 26, offset: 54533}, + pos: position{line: 1664, col: 26, offset: 54788}, val: ")", ignoreCase: false, want: "\")\"", @@ -37169,15 +37396,15 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1659, col: 13, offset: 54653}, + pos: position{line: 1666, col: 13, offset: 54908}, run: (*parser).callonExtraListElement1428, expr: &seqExpr{ - pos: position{line: 1659, col: 13, offset: 54653}, + pos: position{line: 1666, col: 13, offset: 54908}, exprs: []interface{}{ &oneOrMoreExpr{ - pos: position{line: 1659, col: 13, offset: 54653}, + pos: position{line: 1666, col: 13, offset: 54908}, expr: &charClassMatcher{ - pos: position{line: 1659, col: 14, offset: 54654}, + pos: position{line: 1666, col: 14, offset: 54909}, val: "[IVXDLCM]", chars: []rune{'I', 'V', 'X', 'D', 'L', 'C', 'M'}, ignoreCase: false, @@ -37185,7 +37412,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1659, col: 26, offset: 54666}, + pos: position{line: 1666, col: 26, offset: 54921}, val: ")", ignoreCase: false, want: "\")\"", @@ -37197,12 +37424,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 3180, col: 11, offset: 103464}, + pos: position{line: 3076, col: 11, offset: 100101}, run: (*parser).callonExtraListElement1433, expr: &oneOrMoreExpr{ - pos: position{line: 3180, col: 11, offset: 103464}, + pos: position{line: 3076, col: 11, offset: 100101}, expr: &charClassMatcher{ - pos: position{line: 3180, col: 12, offset: 103465}, + pos: position{line: 3076, col: 12, offset: 100102}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -37215,20 +37442,20 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 1547, col: 9, offset: 50882}, + pos: position{line: 1554, col: 9, offset: 51137}, expr: &actionExpr{ - pos: position{line: 1676, col: 5, offset: 55205}, + pos: position{line: 1683, col: 5, offset: 55460}, run: (*parser).callonExtraListElement1437, expr: &seqExpr{ - pos: position{line: 1676, col: 5, offset: 55205}, + pos: position{line: 1683, col: 5, offset: 55460}, exprs: []interface{}{ &zeroOrMoreExpr{ - pos: position{line: 1676, col: 5, offset: 55205}, + pos: position{line: 1683, col: 5, offset: 55460}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonExtraListElement1440, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -37237,27 +37464,27 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1676, col: 12, offset: 55212}, + pos: position{line: 1683, col: 12, offset: 55467}, label: "prefix", expr: &choiceExpr{ - pos: position{line: 1676, col: 20, offset: 55220}, + pos: position{line: 1683, col: 20, offset: 55475}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 1678, col: 9, offset: 55277}, + pos: position{line: 1685, col: 9, offset: 55532}, run: (*parser).callonExtraListElement1444, expr: &seqExpr{ - pos: position{line: 1678, col: 9, offset: 55277}, + pos: position{line: 1685, col: 9, offset: 55532}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1678, col: 9, offset: 55277}, + pos: position{line: 1685, col: 9, offset: 55532}, label: "depth", expr: &actionExpr{ - pos: position{line: 1678, col: 16, offset: 55284}, + pos: position{line: 1685, col: 16, offset: 55539}, run: (*parser).callonExtraListElement1447, expr: &oneOrMoreExpr{ - pos: position{line: 1678, col: 16, offset: 55284}, + pos: position{line: 1685, col: 16, offset: 55539}, expr: &litMatcher{ - pos: position{line: 1678, col: 17, offset: 55285}, + pos: position{line: 1685, col: 17, offset: 55540}, val: "*", ignoreCase: false, want: "\"*\"", @@ -37266,20 +37493,20 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1682, col: 9, offset: 55385}, + pos: position{line: 1689, col: 9, offset: 55640}, run: (*parser).callonExtraListElement1450, }, }, }, }, &labeledExpr{ - pos: position{line: 1699, col: 14, offset: 56092}, + pos: position{line: 1706, col: 14, offset: 56347}, label: "depth", expr: &actionExpr{ - pos: position{line: 1699, col: 21, offset: 56099}, + pos: position{line: 1706, col: 21, offset: 56354}, run: (*parser).callonExtraListElement1452, expr: &litMatcher{ - pos: position{line: 1699, col: 22, offset: 56100}, + pos: position{line: 1706, col: 22, offset: 56355}, val: "-", ignoreCase: false, want: "\"-\"", @@ -37290,12 +37517,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 3180, col: 11, offset: 103464}, + pos: position{line: 3076, col: 11, offset: 100101}, run: (*parser).callonExtraListElement1454, expr: &oneOrMoreExpr{ - pos: position{line: 3180, col: 11, offset: 103464}, + pos: position{line: 3076, col: 11, offset: 100101}, expr: &charClassMatcher{ - pos: position{line: 3180, col: 12, offset: 103465}, + pos: position{line: 3076, col: 12, offset: 100102}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -37308,29 +37535,29 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 1548, col: 9, offset: 50918}, + pos: position{line: 1555, col: 9, offset: 51173}, expr: &actionExpr{ - pos: position{line: 1782, col: 5, offset: 58442}, + pos: position{line: 1789, col: 5, offset: 58697}, run: (*parser).callonExtraListElement1458, expr: &seqExpr{ - pos: position{line: 1782, col: 5, offset: 58442}, + pos: position{line: 1789, col: 5, offset: 58697}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1782, col: 5, offset: 58442}, + pos: position{line: 1789, col: 5, offset: 58697}, val: "<", ignoreCase: false, want: "\"<\"", }, &labeledExpr{ - pos: position{line: 1782, col: 9, offset: 58446}, + pos: position{line: 1789, col: 9, offset: 58701}, label: "ref", expr: &actionExpr{ - pos: position{line: 1782, col: 14, offset: 58451}, + pos: position{line: 1789, col: 14, offset: 58706}, run: (*parser).callonExtraListElement1462, expr: &oneOrMoreExpr{ - pos: position{line: 1782, col: 14, offset: 58451}, + pos: position{line: 1789, col: 14, offset: 58706}, expr: &charClassMatcher{ - pos: position{line: 1782, col: 14, offset: 58451}, + pos: position{line: 1789, col: 14, offset: 58706}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -37340,18 +37567,18 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1782, col: 62, offset: 58499}, + pos: position{line: 1789, col: 62, offset: 58754}, val: ">", ignoreCase: false, want: "\">\"", }, &actionExpr{ - pos: position{line: 3180, col: 11, offset: 103464}, + pos: position{line: 3076, col: 11, offset: 100101}, run: (*parser).callonExtraListElement1466, expr: &oneOrMoreExpr{ - pos: position{line: 3180, col: 11, offset: 103464}, + pos: position{line: 3076, col: 11, offset: 100101}, expr: &charClassMatcher{ - pos: position{line: 3180, col: 12, offset: 103465}, + pos: position{line: 3076, col: 12, offset: 100102}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -37364,36 +37591,36 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 1549, col: 9, offset: 50952}, + pos: position{line: 1556, col: 9, offset: 51207}, expr: &seqExpr{ - pos: position{line: 1549, col: 11, offset: 50954}, + pos: position{line: 1556, col: 11, offset: 51209}, exprs: []interface{}{ &actionExpr{ - pos: position{line: 1726, col: 5, offset: 56820}, + pos: position{line: 1733, col: 5, offset: 57075}, run: (*parser).callonExtraListElement1471, expr: &oneOrMoreExpr{ - pos: position{line: 1726, col: 5, offset: 56820}, + pos: position{line: 1733, col: 5, offset: 57075}, expr: &seqExpr{ - pos: position{line: 1726, col: 6, offset: 56821}, + pos: position{line: 1733, col: 6, offset: 57076}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 1726, col: 6, offset: 56821}, + pos: position{line: 1733, col: 6, offset: 57076}, expr: &actionExpr{ - pos: position{line: 1731, col: 5, offset: 56971}, + pos: position{line: 1738, col: 5, offset: 57226}, run: (*parser).callonExtraListElement1475, expr: &seqExpr{ - pos: position{line: 1731, col: 5, offset: 56971}, + pos: position{line: 1738, col: 5, offset: 57226}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1731, col: 5, offset: 56971}, + pos: position{line: 1738, col: 5, offset: 57226}, label: "separator", expr: &actionExpr{ - pos: position{line: 1731, col: 16, offset: 56982}, + pos: position{line: 1738, col: 16, offset: 57237}, run: (*parser).callonExtraListElement1478, expr: &oneOrMoreExpr{ - pos: position{line: 1731, col: 16, offset: 56982}, + pos: position{line: 1738, col: 16, offset: 57237}, expr: &litMatcher{ - pos: position{line: 1731, col: 17, offset: 56983}, + pos: position{line: 1738, col: 17, offset: 57238}, val: ":", ignoreCase: false, want: "\":\"", @@ -37402,7 +37629,7 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1734, col: 5, offset: 57040}, + pos: position{line: 1741, col: 5, offset: 57295}, run: (*parser).callonExtraListElement1481, }, }, @@ -37410,30 +37637,30 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 1726, col: 35, offset: 56850}, + pos: position{line: 1733, col: 35, offset: 57105}, expr: &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonExtraListElement1484, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -37442,37 +37669,37 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, }, }, &anyMatcher{ - line: 1726, col: 40, offset: 56855, + line: 1733, col: 40, offset: 57110, }, }, }, }, }, &actionExpr{ - pos: position{line: 1731, col: 5, offset: 56971}, + pos: position{line: 1738, col: 5, offset: 57226}, run: (*parser).callonExtraListElement1492, expr: &seqExpr{ - pos: position{line: 1731, col: 5, offset: 56971}, + pos: position{line: 1738, col: 5, offset: 57226}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1731, col: 5, offset: 56971}, + pos: position{line: 1738, col: 5, offset: 57226}, label: "separator", expr: &actionExpr{ - pos: position{line: 1731, col: 16, offset: 56982}, + pos: position{line: 1738, col: 16, offset: 57237}, run: (*parser).callonExtraListElement1495, expr: &oneOrMoreExpr{ - pos: position{line: 1731, col: 16, offset: 56982}, + pos: position{line: 1738, col: 16, offset: 57237}, expr: &litMatcher{ - pos: position{line: 1731, col: 17, offset: 56983}, + pos: position{line: 1738, col: 17, offset: 57238}, val: ":", ignoreCase: false, want: "\":\"", @@ -37481,7 +37708,7 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1734, col: 5, offset: 57040}, + pos: position{line: 1741, col: 5, offset: 57295}, run: (*parser).callonExtraListElement1498, }, }, @@ -37491,17 +37718,17 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 1550, col: 9, offset: 51014}, + pos: position{line: 1557, col: 9, offset: 51269}, expr: &actionExpr{ - pos: position{line: 729, col: 5, offset: 23577}, + pos: position{line: 736, col: 5, offset: 23847}, run: (*parser).callonExtraListElement1500, expr: &seqExpr{ - pos: position{line: 729, col: 5, offset: 23577}, + pos: position{line: 736, col: 5, offset: 23847}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 729, col: 5, offset: 23577}, + pos: position{line: 736, col: 5, offset: 23847}, expr: &charClassMatcher{ - pos: position{line: 3090, col: 13, offset: 100713}, + pos: position{line: 2986, col: 13, offset: 97350}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -37510,36 +37737,36 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 730, col: 5, offset: 23607}, + pos: position{line: 737, col: 5, offset: 23877}, label: "delimiter", expr: &choiceExpr{ - pos: position{line: 731, col: 9, offset: 23627}, + pos: position{line: 738, col: 9, offset: 23897}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 745, col: 5, offset: 24119}, + pos: position{line: 752, col: 5, offset: 24389}, run: (*parser).callonExtraListElement1506, expr: &seqExpr{ - pos: position{line: 745, col: 5, offset: 24119}, + pos: position{line: 752, col: 5, offset: 24389}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 745, col: 5, offset: 24119}, + pos: position{line: 752, col: 5, offset: 24389}, label: "delimiter", expr: &actionExpr{ - pos: position{line: 745, col: 16, offset: 24130}, + pos: position{line: 752, col: 16, offset: 24400}, run: (*parser).callonExtraListElement1509, expr: &seqExpr{ - pos: position{line: 745, col: 16, offset: 24130}, + pos: position{line: 752, col: 16, offset: 24400}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 745, col: 16, offset: 24130}, + pos: position{line: 752, col: 16, offset: 24400}, val: "////", ignoreCase: false, want: "\"////\"", }, &zeroOrMoreExpr{ - pos: position{line: 745, col: 23, offset: 24137}, + pos: position{line: 752, col: 23, offset: 24407}, expr: &litMatcher{ - pos: position{line: 745, col: 23, offset: 24137}, + pos: position{line: 752, col: 23, offset: 24407}, val: "/", ignoreCase: false, want: "\"/\"", @@ -37550,12 +37777,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 747, col: 8, offset: 24221}, + pos: position{line: 754, col: 8, offset: 24491}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonExtraListElement1515, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -37564,28 +37791,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonExtraListElement1518, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -37594,9 +37821,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -37605,30 +37832,30 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 752, col: 5, offset: 24367}, + pos: position{line: 759, col: 5, offset: 24637}, run: (*parser).callonExtraListElement1525, expr: &seqExpr{ - pos: position{line: 752, col: 5, offset: 24367}, + pos: position{line: 759, col: 5, offset: 24637}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 752, col: 5, offset: 24367}, + pos: position{line: 759, col: 5, offset: 24637}, label: "delimiter", expr: &actionExpr{ - pos: position{line: 752, col: 16, offset: 24378}, + pos: position{line: 759, col: 16, offset: 24648}, run: (*parser).callonExtraListElement1528, expr: &seqExpr{ - pos: position{line: 752, col: 16, offset: 24378}, + pos: position{line: 759, col: 16, offset: 24648}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 752, col: 16, offset: 24378}, + pos: position{line: 759, col: 16, offset: 24648}, val: "====", ignoreCase: false, want: "\"====\"", }, &zeroOrMoreExpr{ - pos: position{line: 752, col: 23, offset: 24385}, + pos: position{line: 759, col: 23, offset: 24655}, expr: &litMatcher{ - pos: position{line: 752, col: 23, offset: 24385}, + pos: position{line: 759, col: 23, offset: 24655}, val: "=", ignoreCase: false, want: "\"=\"", @@ -37639,12 +37866,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 754, col: 8, offset: 24469}, + pos: position{line: 761, col: 8, offset: 24739}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonExtraListElement1534, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -37653,28 +37880,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonExtraListElement1537, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -37683,9 +37910,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -37694,27 +37921,27 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 765, col: 26, offset: 24855}, + pos: position{line: 772, col: 26, offset: 25125}, run: (*parser).callonExtraListElement1544, expr: &seqExpr{ - pos: position{line: 765, col: 26, offset: 24855}, + pos: position{line: 772, col: 26, offset: 25125}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 765, col: 26, offset: 24855}, + pos: position{line: 772, col: 26, offset: 25125}, val: "```", ignoreCase: false, want: "\"```\"", }, &labeledExpr{ - pos: position{line: 765, col: 32, offset: 24861}, + pos: position{line: 772, col: 32, offset: 25131}, label: "language", expr: &actionExpr{ - pos: position{line: 769, col: 13, offset: 24991}, + pos: position{line: 776, col: 13, offset: 25261}, run: (*parser).callonExtraListElement1548, expr: &oneOrMoreExpr{ - pos: position{line: 769, col: 14, offset: 24992}, + pos: position{line: 776, col: 14, offset: 25262}, expr: &charClassMatcher{ - pos: position{line: 769, col: 14, offset: 24992}, + pos: position{line: 776, col: 14, offset: 25262}, val: "[^\\r\\n` ]", chars: []rune{'\r', '\n', '`', ' '}, ignoreCase: false, @@ -37724,12 +37951,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 765, col: 52, offset: 24881}, + pos: position{line: 772, col: 52, offset: 25151}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonExtraListElement1552, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -37738,28 +37965,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonExtraListElement1555, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -37768,9 +37995,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -37779,30 +38006,30 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 759, col: 5, offset: 24614}, + pos: position{line: 766, col: 5, offset: 24884}, run: (*parser).callonExtraListElement1562, expr: &seqExpr{ - pos: position{line: 759, col: 5, offset: 24614}, + pos: position{line: 766, col: 5, offset: 24884}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 759, col: 5, offset: 24614}, + pos: position{line: 766, col: 5, offset: 24884}, label: "delimiter", expr: &actionExpr{ - pos: position{line: 759, col: 16, offset: 24625}, + pos: position{line: 766, col: 16, offset: 24895}, run: (*parser).callonExtraListElement1565, expr: &seqExpr{ - pos: position{line: 759, col: 16, offset: 24625}, + pos: position{line: 766, col: 16, offset: 24895}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 759, col: 16, offset: 24625}, + pos: position{line: 766, col: 16, offset: 24895}, val: "```", ignoreCase: false, want: "\"```\"", }, &zeroOrMoreExpr{ - pos: position{line: 759, col: 22, offset: 24631}, + pos: position{line: 766, col: 22, offset: 24901}, expr: &litMatcher{ - pos: position{line: 759, col: 22, offset: 24631}, + pos: position{line: 766, col: 22, offset: 24901}, val: "`", ignoreCase: false, want: "\"`\"", @@ -37813,12 +38040,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 761, col: 8, offset: 24715}, + pos: position{line: 768, col: 8, offset: 24985}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonExtraListElement1571, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -37827,28 +38054,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonExtraListElement1574, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -37857,9 +38084,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -37868,30 +38095,30 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 774, col: 5, offset: 25151}, + pos: position{line: 781, col: 5, offset: 25421}, run: (*parser).callonExtraListElement1581, expr: &seqExpr{ - pos: position{line: 774, col: 5, offset: 25151}, + pos: position{line: 781, col: 5, offset: 25421}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 774, col: 5, offset: 25151}, + pos: position{line: 781, col: 5, offset: 25421}, label: "delimiter", expr: &actionExpr{ - pos: position{line: 774, col: 16, offset: 25162}, + pos: position{line: 781, col: 16, offset: 25432}, run: (*parser).callonExtraListElement1584, expr: &seqExpr{ - pos: position{line: 774, col: 16, offset: 25162}, + pos: position{line: 781, col: 16, offset: 25432}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 774, col: 16, offset: 25162}, + pos: position{line: 781, col: 16, offset: 25432}, val: "----", ignoreCase: false, want: "\"----\"", }, &zeroOrMoreExpr{ - pos: position{line: 774, col: 23, offset: 25169}, + pos: position{line: 781, col: 23, offset: 25439}, expr: &litMatcher{ - pos: position{line: 774, col: 23, offset: 25169}, + pos: position{line: 781, col: 23, offset: 25439}, val: "-", ignoreCase: false, want: "\"-\"", @@ -37902,12 +38129,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 776, col: 8, offset: 25253}, + pos: position{line: 783, col: 8, offset: 25523}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonExtraListElement1590, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -37916,28 +38143,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonExtraListElement1593, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -37946,9 +38173,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -37957,30 +38184,30 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 781, col: 5, offset: 25399}, + pos: position{line: 788, col: 5, offset: 25669}, run: (*parser).callonExtraListElement1600, expr: &seqExpr{ - pos: position{line: 781, col: 5, offset: 25399}, + pos: position{line: 788, col: 5, offset: 25669}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 781, col: 5, offset: 25399}, + pos: position{line: 788, col: 5, offset: 25669}, label: "delimiter", expr: &actionExpr{ - pos: position{line: 781, col: 16, offset: 25410}, + pos: position{line: 788, col: 16, offset: 25680}, run: (*parser).callonExtraListElement1603, expr: &seqExpr{ - pos: position{line: 781, col: 16, offset: 25410}, + pos: position{line: 788, col: 16, offset: 25680}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 781, col: 16, offset: 25410}, + pos: position{line: 788, col: 16, offset: 25680}, val: "....", ignoreCase: false, want: "\"....\"", }, &zeroOrMoreExpr{ - pos: position{line: 781, col: 23, offset: 25417}, + pos: position{line: 788, col: 23, offset: 25687}, expr: &litMatcher{ - pos: position{line: 781, col: 23, offset: 25417}, + pos: position{line: 788, col: 23, offset: 25687}, val: ".", ignoreCase: false, want: "\".\"", @@ -37991,12 +38218,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 783, col: 8, offset: 25501}, + pos: position{line: 790, col: 8, offset: 25771}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonExtraListElement1609, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -38005,28 +38232,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonExtraListElement1612, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -38035,9 +38262,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -38046,30 +38273,30 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 788, col: 5, offset: 25651}, + pos: position{line: 795, col: 5, offset: 25921}, run: (*parser).callonExtraListElement1619, expr: &seqExpr{ - pos: position{line: 788, col: 5, offset: 25651}, + pos: position{line: 795, col: 5, offset: 25921}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 788, col: 5, offset: 25651}, + pos: position{line: 795, col: 5, offset: 25921}, label: "delimiter", expr: &actionExpr{ - pos: position{line: 788, col: 16, offset: 25662}, + pos: position{line: 795, col: 16, offset: 25932}, run: (*parser).callonExtraListElement1622, expr: &seqExpr{ - pos: position{line: 788, col: 16, offset: 25662}, + pos: position{line: 795, col: 16, offset: 25932}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 788, col: 16, offset: 25662}, + pos: position{line: 795, col: 16, offset: 25932}, val: "++++", ignoreCase: false, want: "\"++++\"", }, &zeroOrMoreExpr{ - pos: position{line: 788, col: 23, offset: 25669}, + pos: position{line: 795, col: 23, offset: 25939}, expr: &litMatcher{ - pos: position{line: 788, col: 23, offset: 25669}, + pos: position{line: 795, col: 23, offset: 25939}, val: "+", ignoreCase: false, want: "\"+\"", @@ -38080,12 +38307,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 790, col: 8, offset: 25753}, + pos: position{line: 797, col: 8, offset: 26023}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonExtraListElement1628, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -38094,28 +38321,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonExtraListElement1631, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -38124,9 +38351,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -38135,30 +38362,30 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 795, col: 5, offset: 25901}, + pos: position{line: 802, col: 5, offset: 26171}, run: (*parser).callonExtraListElement1638, expr: &seqExpr{ - pos: position{line: 795, col: 5, offset: 25901}, + pos: position{line: 802, col: 5, offset: 26171}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 795, col: 5, offset: 25901}, + pos: position{line: 802, col: 5, offset: 26171}, label: "delimiter", expr: &actionExpr{ - pos: position{line: 795, col: 16, offset: 25912}, + pos: position{line: 802, col: 16, offset: 26182}, run: (*parser).callonExtraListElement1641, expr: &seqExpr{ - pos: position{line: 795, col: 16, offset: 25912}, + pos: position{line: 802, col: 16, offset: 26182}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 795, col: 16, offset: 25912}, + pos: position{line: 802, col: 16, offset: 26182}, val: "____", ignoreCase: false, want: "\"____\"", }, &zeroOrMoreExpr{ - pos: position{line: 795, col: 23, offset: 25919}, + pos: position{line: 802, col: 23, offset: 26189}, expr: &litMatcher{ - pos: position{line: 795, col: 23, offset: 25919}, + pos: position{line: 802, col: 23, offset: 26189}, val: "_", ignoreCase: false, want: "\"_\"", @@ -38169,12 +38396,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 797, col: 8, offset: 26003}, + pos: position{line: 804, col: 8, offset: 26273}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonExtraListElement1647, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -38183,28 +38410,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonExtraListElement1650, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -38213,9 +38440,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -38224,30 +38451,30 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 802, col: 5, offset: 26147}, + pos: position{line: 809, col: 5, offset: 26417}, run: (*parser).callonExtraListElement1657, expr: &seqExpr{ - pos: position{line: 802, col: 5, offset: 26147}, + pos: position{line: 809, col: 5, offset: 26417}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 802, col: 5, offset: 26147}, + pos: position{line: 809, col: 5, offset: 26417}, label: "delimiter", expr: &actionExpr{ - pos: position{line: 802, col: 16, offset: 26158}, + pos: position{line: 809, col: 16, offset: 26428}, run: (*parser).callonExtraListElement1660, expr: &seqExpr{ - pos: position{line: 802, col: 16, offset: 26158}, + pos: position{line: 809, col: 16, offset: 26428}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 802, col: 16, offset: 26158}, + pos: position{line: 809, col: 16, offset: 26428}, val: "****", ignoreCase: false, want: "\"****\"", }, &zeroOrMoreExpr{ - pos: position{line: 802, col: 23, offset: 26165}, + pos: position{line: 809, col: 23, offset: 26435}, expr: &litMatcher{ - pos: position{line: 802, col: 23, offset: 26165}, + pos: position{line: 809, col: 23, offset: 26435}, val: "*", ignoreCase: false, want: "\"*\"", @@ -38258,12 +38485,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 804, col: 8, offset: 26249}, + pos: position{line: 811, col: 8, offset: 26519}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonExtraListElement1666, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -38272,28 +38499,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonExtraListElement1669, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -38302,9 +38529,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -38320,15 +38547,15 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1551, col: 9, offset: 51038}, + pos: position{line: 1558, col: 9, offset: 51293}, label: "content", expr: &actionExpr{ - pos: position{line: 1551, col: 18, offset: 51047}, + pos: position{line: 1558, col: 18, offset: 51302}, run: (*parser).callonExtraListElement1677, expr: &oneOrMoreExpr{ - pos: position{line: 1551, col: 18, offset: 51047}, + pos: position{line: 1558, col: 18, offset: 51302}, expr: &charClassMatcher{ - pos: position{line: 1551, col: 18, offset: 51047}, + pos: position{line: 1558, col: 18, offset: 51302}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -38338,28 +38565,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonExtraListElement1681, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -38368,9 +38595,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -38391,28 +38618,28 @@ var g = &grammar{ }, { name: "ListElementContinuation", - pos: position{line: 1570, col: 1, offset: 51497}, + pos: position{line: 1577, col: 1, offset: 51752}, expr: &actionExpr{ - pos: position{line: 1571, col: 5, offset: 51529}, + pos: position{line: 1578, col: 5, offset: 51784}, run: (*parser).callonListElementContinuation1, expr: &seqExpr{ - pos: position{line: 1571, col: 5, offset: 51529}, + pos: position{line: 1578, col: 5, offset: 51784}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1571, col: 5, offset: 51529}, + pos: position{line: 1578, col: 5, offset: 51784}, label: "offset", expr: &zeroOrMoreExpr{ - pos: position{line: 1571, col: 12, offset: 51536}, + pos: position{line: 1578, col: 12, offset: 51791}, expr: &seqExpr{ - pos: position{line: 1571, col: 13, offset: 51537}, + pos: position{line: 1578, col: 13, offset: 51792}, exprs: []interface{}{ &zeroOrMoreExpr{ - pos: position{line: 1571, col: 13, offset: 51537}, + pos: position{line: 1578, col: 13, offset: 51792}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonListElementContinuation7, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -38421,25 +38648,25 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonListElementContinuation9, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -38452,18 +38679,18 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1578, col: 34, offset: 51769}, + pos: position{line: 1585, col: 34, offset: 52024}, val: "+", ignoreCase: false, want: "\"+\"", }, &zeroOrMoreExpr{ - pos: position{line: 1578, col: 38, offset: 51773}, + pos: position{line: 1585, col: 38, offset: 52028}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonListElementContinuation16, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -38472,25 +38699,25 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonListElementContinuation18, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -38499,12 +38726,12 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1573, col: 5, offset: 51593}, + pos: position{line: 1580, col: 5, offset: 51848}, label: "element", expr: &zeroOrOneExpr{ - pos: position{line: 1573, col: 13, offset: 51601}, + pos: position{line: 1580, col: 13, offset: 51856}, expr: &ruleRefExpr{ - pos: position{line: 1573, col: 13, offset: 51601}, + pos: position{line: 1580, col: 13, offset: 51856}, name: "ListElementContinuationElement", }, }, @@ -38515,49 +38742,49 @@ var g = &grammar{ }, { name: "ListElementContinuationElement", - pos: position{line: 1580, col: 1, offset: 51789}, + pos: position{line: 1587, col: 1, offset: 52044}, expr: &actionExpr{ - pos: position{line: 1581, col: 5, offset: 51867}, + pos: position{line: 1588, col: 5, offset: 52122}, run: (*parser).callonListElementContinuationElement1, expr: &seqExpr{ - pos: position{line: 1581, col: 5, offset: 51867}, + pos: position{line: 1588, col: 5, offset: 52122}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 1581, col: 5, offset: 51867}, + pos: position{line: 1588, col: 5, offset: 52122}, expr: ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, ¬Expr{ - pos: position{line: 1582, col: 5, offset: 51893}, + pos: position{line: 1589, col: 5, offset: 52148}, expr: &choiceExpr{ - pos: position{line: 1472, col: 5, offset: 48228}, + pos: position{line: 1479, col: 5, offset: 48483}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 1619, col: 5, offset: 53035}, + pos: position{line: 1626, col: 5, offset: 53290}, run: (*parser).callonListElementContinuationElement8, expr: &seqExpr{ - pos: position{line: 1619, col: 5, offset: 53035}, + pos: position{line: 1626, col: 5, offset: 53290}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1619, col: 5, offset: 53035}, + pos: position{line: 1626, col: 5, offset: 53290}, label: "prefix", expr: &actionExpr{ - pos: position{line: 1626, col: 5, offset: 53243}, + pos: position{line: 1633, col: 5, offset: 53498}, run: (*parser).callonListElementContinuationElement11, expr: &seqExpr{ - pos: position{line: 1626, col: 5, offset: 53243}, + pos: position{line: 1633, col: 5, offset: 53498}, exprs: []interface{}{ &zeroOrMoreExpr{ - pos: position{line: 1626, col: 5, offset: 53243}, + pos: position{line: 1633, col: 5, offset: 53498}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonListElementContinuationElement14, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -38566,27 +38793,27 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1626, col: 12, offset: 53250}, + pos: position{line: 1633, col: 12, offset: 53505}, label: "prefix", expr: &choiceExpr{ - pos: position{line: 1628, col: 9, offset: 53313}, + pos: position{line: 1635, col: 9, offset: 53568}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 1628, col: 9, offset: 53313}, + pos: position{line: 1635, col: 9, offset: 53568}, run: (*parser).callonListElementContinuationElement18, expr: &seqExpr{ - pos: position{line: 1628, col: 9, offset: 53313}, + pos: position{line: 1635, col: 9, offset: 53568}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1628, col: 9, offset: 53313}, + pos: position{line: 1635, col: 9, offset: 53568}, label: "depth", expr: &actionExpr{ - pos: position{line: 1628, col: 16, offset: 53320}, + pos: position{line: 1635, col: 16, offset: 53575}, run: (*parser).callonListElementContinuationElement21, expr: &oneOrMoreExpr{ - pos: position{line: 1628, col: 16, offset: 53320}, + pos: position{line: 1635, col: 16, offset: 53575}, expr: &litMatcher{ - pos: position{line: 1628, col: 17, offset: 53321}, + pos: position{line: 1635, col: 17, offset: 53576}, val: ".", ignoreCase: false, want: "\".\"", @@ -38595,22 +38822,22 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1632, col: 9, offset: 53421}, + pos: position{line: 1639, col: 9, offset: 53676}, run: (*parser).callonListElementContinuationElement24, }, }, }, }, &actionExpr{ - pos: position{line: 1651, col: 11, offset: 54138}, + pos: position{line: 1658, col: 11, offset: 54393}, run: (*parser).callonListElementContinuationElement25, expr: &seqExpr{ - pos: position{line: 1651, col: 11, offset: 54138}, + pos: position{line: 1658, col: 11, offset: 54393}, exprs: []interface{}{ &oneOrMoreExpr{ - pos: position{line: 1651, col: 11, offset: 54138}, + pos: position{line: 1658, col: 11, offset: 54393}, expr: &charClassMatcher{ - pos: position{line: 1651, col: 12, offset: 54139}, + pos: position{line: 1658, col: 12, offset: 54394}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -38618,7 +38845,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1651, col: 20, offset: 54147}, + pos: position{line: 1658, col: 20, offset: 54402}, val: ".", ignoreCase: false, want: "\".\"", @@ -38627,20 +38854,20 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1653, col: 13, offset: 54264}, + pos: position{line: 1660, col: 13, offset: 54519}, run: (*parser).callonListElementContinuationElement30, expr: &seqExpr{ - pos: position{line: 1653, col: 13, offset: 54264}, + pos: position{line: 1660, col: 13, offset: 54519}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 1653, col: 14, offset: 54265}, + pos: position{line: 1660, col: 14, offset: 54520}, val: "[a-z]", ranges: []rune{'a', 'z'}, ignoreCase: false, inverted: false, }, &litMatcher{ - pos: position{line: 1653, col: 21, offset: 54272}, + pos: position{line: 1660, col: 21, offset: 54527}, val: ".", ignoreCase: false, want: "\".\"", @@ -38649,20 +38876,20 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1655, col: 13, offset: 54392}, + pos: position{line: 1662, col: 13, offset: 54647}, run: (*parser).callonListElementContinuationElement34, expr: &seqExpr{ - pos: position{line: 1655, col: 13, offset: 54392}, + pos: position{line: 1662, col: 13, offset: 54647}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 1655, col: 14, offset: 54393}, + pos: position{line: 1662, col: 14, offset: 54648}, val: "[A-Z]", ranges: []rune{'A', 'Z'}, ignoreCase: false, inverted: false, }, &litMatcher{ - pos: position{line: 1655, col: 21, offset: 54400}, + pos: position{line: 1662, col: 21, offset: 54655}, val: ".", ignoreCase: false, want: "\".\"", @@ -38671,15 +38898,15 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1657, col: 13, offset: 54520}, + pos: position{line: 1664, col: 13, offset: 54775}, run: (*parser).callonListElementContinuationElement38, expr: &seqExpr{ - pos: position{line: 1657, col: 13, offset: 54520}, + pos: position{line: 1664, col: 13, offset: 54775}, exprs: []interface{}{ &oneOrMoreExpr{ - pos: position{line: 1657, col: 13, offset: 54520}, + pos: position{line: 1664, col: 13, offset: 54775}, expr: &charClassMatcher{ - pos: position{line: 1657, col: 14, offset: 54521}, + pos: position{line: 1664, col: 14, offset: 54776}, val: "[ivxdlcm]", chars: []rune{'i', 'v', 'x', 'd', 'l', 'c', 'm'}, ignoreCase: false, @@ -38687,7 +38914,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1657, col: 26, offset: 54533}, + pos: position{line: 1664, col: 26, offset: 54788}, val: ")", ignoreCase: false, want: "\")\"", @@ -38696,15 +38923,15 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1659, col: 13, offset: 54653}, + pos: position{line: 1666, col: 13, offset: 54908}, run: (*parser).callonListElementContinuationElement43, expr: &seqExpr{ - pos: position{line: 1659, col: 13, offset: 54653}, + pos: position{line: 1666, col: 13, offset: 54908}, exprs: []interface{}{ &oneOrMoreExpr{ - pos: position{line: 1659, col: 13, offset: 54653}, + pos: position{line: 1666, col: 13, offset: 54908}, expr: &charClassMatcher{ - pos: position{line: 1659, col: 14, offset: 54654}, + pos: position{line: 1666, col: 14, offset: 54909}, val: "[IVXDLCM]", chars: []rune{'I', 'V', 'X', 'D', 'L', 'C', 'M'}, ignoreCase: false, @@ -38712,7 +38939,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1659, col: 26, offset: 54666}, + pos: position{line: 1666, col: 26, offset: 54921}, val: ")", ignoreCase: false, want: "\")\"", @@ -38724,12 +38951,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 3180, col: 11, offset: 103464}, + pos: position{line: 3076, col: 11, offset: 100101}, run: (*parser).callonListElementContinuationElement48, expr: &oneOrMoreExpr{ - pos: position{line: 3180, col: 11, offset: 103464}, + pos: position{line: 3076, col: 11, offset: 100101}, expr: &charClassMatcher{ - pos: position{line: 3180, col: 12, offset: 103465}, + pos: position{line: 3076, col: 12, offset: 100102}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -38742,24 +38969,24 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1620, col: 5, offset: 53074}, + pos: position{line: 1627, col: 5, offset: 53329}, label: "content", expr: &actionExpr{ - pos: position{line: 1560, col: 5, offset: 51270}, + pos: position{line: 1567, col: 5, offset: 51525}, run: (*parser).callonListElementContinuationElement52, expr: &seqExpr{ - pos: position{line: 1560, col: 5, offset: 51270}, + pos: position{line: 1567, col: 5, offset: 51525}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1560, col: 5, offset: 51270}, + pos: position{line: 1567, col: 5, offset: 51525}, label: "rawline", expr: &actionExpr{ - pos: position{line: 1560, col: 14, offset: 51279}, + pos: position{line: 1567, col: 14, offset: 51534}, run: (*parser).callonListElementContinuationElement55, expr: &oneOrMoreExpr{ - pos: position{line: 1560, col: 14, offset: 51279}, + pos: position{line: 1567, col: 14, offset: 51534}, expr: &charClassMatcher{ - pos: position{line: 1560, col: 14, offset: 51279}, + pos: position{line: 1567, col: 14, offset: 51534}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -38769,28 +38996,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonListElementContinuationElement59, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -38799,9 +39026,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -38814,27 +39041,27 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1669, col: 5, offset: 54932}, + pos: position{line: 1676, col: 5, offset: 55187}, run: (*parser).callonListElementContinuationElement66, expr: &seqExpr{ - pos: position{line: 1669, col: 5, offset: 54932}, + pos: position{line: 1676, col: 5, offset: 55187}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1669, col: 5, offset: 54932}, + pos: position{line: 1676, col: 5, offset: 55187}, label: "prefix", expr: &actionExpr{ - pos: position{line: 1676, col: 5, offset: 55205}, + pos: position{line: 1683, col: 5, offset: 55460}, run: (*parser).callonListElementContinuationElement69, expr: &seqExpr{ - pos: position{line: 1676, col: 5, offset: 55205}, + pos: position{line: 1683, col: 5, offset: 55460}, exprs: []interface{}{ &zeroOrMoreExpr{ - pos: position{line: 1676, col: 5, offset: 55205}, + pos: position{line: 1683, col: 5, offset: 55460}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonListElementContinuationElement72, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -38843,27 +39070,27 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1676, col: 12, offset: 55212}, + pos: position{line: 1683, col: 12, offset: 55467}, label: "prefix", expr: &choiceExpr{ - pos: position{line: 1676, col: 20, offset: 55220}, + pos: position{line: 1683, col: 20, offset: 55475}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 1678, col: 9, offset: 55277}, + pos: position{line: 1685, col: 9, offset: 55532}, run: (*parser).callonListElementContinuationElement76, expr: &seqExpr{ - pos: position{line: 1678, col: 9, offset: 55277}, + pos: position{line: 1685, col: 9, offset: 55532}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1678, col: 9, offset: 55277}, + pos: position{line: 1685, col: 9, offset: 55532}, label: "depth", expr: &actionExpr{ - pos: position{line: 1678, col: 16, offset: 55284}, + pos: position{line: 1685, col: 16, offset: 55539}, run: (*parser).callonListElementContinuationElement79, expr: &oneOrMoreExpr{ - pos: position{line: 1678, col: 16, offset: 55284}, + pos: position{line: 1685, col: 16, offset: 55539}, expr: &litMatcher{ - pos: position{line: 1678, col: 17, offset: 55285}, + pos: position{line: 1685, col: 17, offset: 55540}, val: "*", ignoreCase: false, want: "\"*\"", @@ -38872,20 +39099,20 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1682, col: 9, offset: 55385}, + pos: position{line: 1689, col: 9, offset: 55640}, run: (*parser).callonListElementContinuationElement82, }, }, }, }, &labeledExpr{ - pos: position{line: 1699, col: 14, offset: 56092}, + pos: position{line: 1706, col: 14, offset: 56347}, label: "depth", expr: &actionExpr{ - pos: position{line: 1699, col: 21, offset: 56099}, + pos: position{line: 1706, col: 21, offset: 56354}, run: (*parser).callonListElementContinuationElement84, expr: &litMatcher{ - pos: position{line: 1699, col: 22, offset: 56100}, + pos: position{line: 1706, col: 22, offset: 56355}, val: "-", ignoreCase: false, want: "\"-\"", @@ -38896,12 +39123,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 3180, col: 11, offset: 103464}, + pos: position{line: 3076, col: 11, offset: 100101}, run: (*parser).callonListElementContinuationElement86, expr: &oneOrMoreExpr{ - pos: position{line: 3180, col: 11, offset: 103464}, + pos: position{line: 3076, col: 11, offset: 100101}, expr: &charClassMatcher{ - pos: position{line: 3180, col: 12, offset: 103465}, + pos: position{line: 3076, col: 12, offset: 100102}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -38914,56 +39141,56 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1670, col: 5, offset: 54973}, + pos: position{line: 1677, col: 5, offset: 55228}, label: "checkstyle", expr: &zeroOrOneExpr{ - pos: position{line: 1670, col: 16, offset: 54984}, + pos: position{line: 1677, col: 16, offset: 55239}, expr: &actionExpr{ - pos: position{line: 1706, col: 5, offset: 56261}, + pos: position{line: 1713, col: 5, offset: 56516}, run: (*parser).callonListElementContinuationElement91, expr: &seqExpr{ - pos: position{line: 1706, col: 5, offset: 56261}, + pos: position{line: 1713, col: 5, offset: 56516}, exprs: []interface{}{ &andExpr{ - pos: position{line: 1706, col: 5, offset: 56261}, + pos: position{line: 1713, col: 5, offset: 56516}, expr: &litMatcher{ - pos: position{line: 1706, col: 6, offset: 56262}, + pos: position{line: 1713, col: 6, offset: 56517}, val: "[", ignoreCase: false, want: "\"[\"", }, }, &labeledExpr{ - pos: position{line: 1706, col: 10, offset: 56266}, + pos: position{line: 1713, col: 10, offset: 56521}, label: "style", expr: &choiceExpr{ - pos: position{line: 1707, col: 7, offset: 56280}, + pos: position{line: 1714, col: 7, offset: 56535}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 1707, col: 7, offset: 56280}, + pos: position{line: 1714, col: 7, offset: 56535}, run: (*parser).callonListElementContinuationElement97, expr: &litMatcher{ - pos: position{line: 1707, col: 7, offset: 56280}, + pos: position{line: 1714, col: 7, offset: 56535}, val: "[ ]", ignoreCase: false, want: "\"[ ]\"", }, }, &actionExpr{ - pos: position{line: 1708, col: 7, offset: 56325}, + pos: position{line: 1715, col: 7, offset: 56580}, run: (*parser).callonListElementContinuationElement99, expr: &litMatcher{ - pos: position{line: 1708, col: 7, offset: 56325}, + pos: position{line: 1715, col: 7, offset: 56580}, val: "[*]", ignoreCase: false, want: "\"[*]\"", }, }, &actionExpr{ - pos: position{line: 1709, col: 7, offset: 56368}, + pos: position{line: 1716, col: 7, offset: 56623}, run: (*parser).callonListElementContinuationElement101, expr: &litMatcher{ - pos: position{line: 1709, col: 7, offset: 56368}, + pos: position{line: 1716, col: 7, offset: 56623}, val: "[x]", ignoreCase: false, want: "\"[x]\"", @@ -38973,12 +39200,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 3180, col: 11, offset: 103464}, + pos: position{line: 3076, col: 11, offset: 100101}, run: (*parser).callonListElementContinuationElement103, expr: &oneOrMoreExpr{ - pos: position{line: 3180, col: 11, offset: 103464}, + pos: position{line: 3076, col: 11, offset: 100101}, expr: &charClassMatcher{ - pos: position{line: 3180, col: 12, offset: 103465}, + pos: position{line: 3076, col: 12, offset: 100102}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -38992,24 +39219,24 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1671, col: 5, offset: 55023}, + pos: position{line: 1678, col: 5, offset: 55278}, label: "content", expr: &actionExpr{ - pos: position{line: 1560, col: 5, offset: 51270}, + pos: position{line: 1567, col: 5, offset: 51525}, run: (*parser).callonListElementContinuationElement107, expr: &seqExpr{ - pos: position{line: 1560, col: 5, offset: 51270}, + pos: position{line: 1567, col: 5, offset: 51525}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1560, col: 5, offset: 51270}, + pos: position{line: 1567, col: 5, offset: 51525}, label: "rawline", expr: &actionExpr{ - pos: position{line: 1560, col: 14, offset: 51279}, + pos: position{line: 1567, col: 14, offset: 51534}, run: (*parser).callonListElementContinuationElement110, expr: &oneOrMoreExpr{ - pos: position{line: 1560, col: 14, offset: 51279}, + pos: position{line: 1567, col: 14, offset: 51534}, expr: &charClassMatcher{ - pos: position{line: 1560, col: 14, offset: 51279}, + pos: position{line: 1567, col: 14, offset: 51534}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -39019,28 +39246,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonListElementContinuationElement114, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -39049,9 +39276,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -39064,36 +39291,36 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1776, col: 5, offset: 58241}, + pos: position{line: 1783, col: 5, offset: 58496}, run: (*parser).callonListElementContinuationElement121, expr: &seqExpr{ - pos: position{line: 1776, col: 5, offset: 58241}, + pos: position{line: 1783, col: 5, offset: 58496}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1776, col: 5, offset: 58241}, + pos: position{line: 1783, col: 5, offset: 58496}, label: "ref", expr: &actionExpr{ - pos: position{line: 1782, col: 5, offset: 58442}, + pos: position{line: 1789, col: 5, offset: 58697}, run: (*parser).callonListElementContinuationElement124, expr: &seqExpr{ - pos: position{line: 1782, col: 5, offset: 58442}, + pos: position{line: 1789, col: 5, offset: 58697}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1782, col: 5, offset: 58442}, + pos: position{line: 1789, col: 5, offset: 58697}, val: "<", ignoreCase: false, want: "\"<\"", }, &labeledExpr{ - pos: position{line: 1782, col: 9, offset: 58446}, + pos: position{line: 1789, col: 9, offset: 58701}, label: "ref", expr: &actionExpr{ - pos: position{line: 1782, col: 14, offset: 58451}, + pos: position{line: 1789, col: 14, offset: 58706}, run: (*parser).callonListElementContinuationElement128, expr: &oneOrMoreExpr{ - pos: position{line: 1782, col: 14, offset: 58451}, + pos: position{line: 1789, col: 14, offset: 58706}, expr: &charClassMatcher{ - pos: position{line: 1782, col: 14, offset: 58451}, + pos: position{line: 1789, col: 14, offset: 58706}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -39103,18 +39330,18 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1782, col: 62, offset: 58499}, + pos: position{line: 1789, col: 62, offset: 58754}, val: ">", ignoreCase: false, want: "\">\"", }, &actionExpr{ - pos: position{line: 3180, col: 11, offset: 103464}, + pos: position{line: 3076, col: 11, offset: 100101}, run: (*parser).callonListElementContinuationElement132, expr: &oneOrMoreExpr{ - pos: position{line: 3180, col: 11, offset: 103464}, + pos: position{line: 3076, col: 11, offset: 100101}, expr: &charClassMatcher{ - pos: position{line: 3180, col: 12, offset: 103465}, + pos: position{line: 3076, col: 12, offset: 100102}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -39127,24 +39354,24 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1777, col: 5, offset: 58277}, + pos: position{line: 1784, col: 5, offset: 58532}, label: "description", expr: &actionExpr{ - pos: position{line: 1787, col: 5, offset: 58625}, + pos: position{line: 1794, col: 5, offset: 58880}, run: (*parser).callonListElementContinuationElement136, expr: &seqExpr{ - pos: position{line: 1787, col: 5, offset: 58625}, + pos: position{line: 1794, col: 5, offset: 58880}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1787, col: 5, offset: 58625}, + pos: position{line: 1794, col: 5, offset: 58880}, label: "rawline", expr: &actionExpr{ - pos: position{line: 1787, col: 14, offset: 58634}, + pos: position{line: 1794, col: 14, offset: 58889}, run: (*parser).callonListElementContinuationElement139, expr: &oneOrMoreExpr{ - pos: position{line: 1787, col: 14, offset: 58634}, + pos: position{line: 1794, col: 14, offset: 58889}, expr: &charClassMatcher{ - pos: position{line: 1787, col: 14, offset: 58634}, + pos: position{line: 1794, col: 14, offset: 58889}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -39154,28 +39381,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonListElementContinuationElement143, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -39184,9 +39411,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -39199,40 +39426,40 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1718, col: 5, offset: 56561}, + pos: position{line: 1725, col: 5, offset: 56816}, run: (*parser).callonListElementContinuationElement150, expr: &seqExpr{ - pos: position{line: 1718, col: 5, offset: 56561}, + pos: position{line: 1725, col: 5, offset: 56816}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1718, col: 5, offset: 56561}, + pos: position{line: 1725, col: 5, offset: 56816}, label: "term", expr: &actionExpr{ - pos: position{line: 1726, col: 5, offset: 56820}, + pos: position{line: 1733, col: 5, offset: 57075}, run: (*parser).callonListElementContinuationElement153, expr: &oneOrMoreExpr{ - pos: position{line: 1726, col: 5, offset: 56820}, + pos: position{line: 1733, col: 5, offset: 57075}, expr: &seqExpr{ - pos: position{line: 1726, col: 6, offset: 56821}, + pos: position{line: 1733, col: 6, offset: 57076}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 1726, col: 6, offset: 56821}, + pos: position{line: 1733, col: 6, offset: 57076}, expr: &actionExpr{ - pos: position{line: 1731, col: 5, offset: 56971}, + pos: position{line: 1738, col: 5, offset: 57226}, run: (*parser).callonListElementContinuationElement157, expr: &seqExpr{ - pos: position{line: 1731, col: 5, offset: 56971}, + pos: position{line: 1738, col: 5, offset: 57226}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1731, col: 5, offset: 56971}, + pos: position{line: 1738, col: 5, offset: 57226}, label: "separator", expr: &actionExpr{ - pos: position{line: 1731, col: 16, offset: 56982}, + pos: position{line: 1738, col: 16, offset: 57237}, run: (*parser).callonListElementContinuationElement160, expr: &oneOrMoreExpr{ - pos: position{line: 1731, col: 16, offset: 56982}, + pos: position{line: 1738, col: 16, offset: 57237}, expr: &litMatcher{ - pos: position{line: 1731, col: 17, offset: 56983}, + pos: position{line: 1738, col: 17, offset: 57238}, val: ":", ignoreCase: false, want: "\":\"", @@ -39241,7 +39468,7 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1734, col: 5, offset: 57040}, + pos: position{line: 1741, col: 5, offset: 57295}, run: (*parser).callonListElementContinuationElement163, }, }, @@ -39249,30 +39476,30 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 1726, col: 35, offset: 56850}, + pos: position{line: 1733, col: 35, offset: 57105}, expr: &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonListElementContinuationElement166, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -39281,16 +39508,16 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, }, }, &anyMatcher{ - line: 1726, col: 40, offset: 56855, + line: 1733, col: 40, offset: 57110, }, }, }, @@ -39298,24 +39525,24 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1719, col: 5, offset: 56596}, + pos: position{line: 1726, col: 5, offset: 56851}, label: "separator", expr: &actionExpr{ - pos: position{line: 1731, col: 5, offset: 56971}, + pos: position{line: 1738, col: 5, offset: 57226}, run: (*parser).callonListElementContinuationElement175, expr: &seqExpr{ - pos: position{line: 1731, col: 5, offset: 56971}, + pos: position{line: 1738, col: 5, offset: 57226}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1731, col: 5, offset: 56971}, + pos: position{line: 1738, col: 5, offset: 57226}, label: "separator", expr: &actionExpr{ - pos: position{line: 1731, col: 16, offset: 56982}, + pos: position{line: 1738, col: 16, offset: 57237}, run: (*parser).callonListElementContinuationElement178, expr: &oneOrMoreExpr{ - pos: position{line: 1731, col: 16, offset: 56982}, + pos: position{line: 1738, col: 16, offset: 57237}, expr: &litMatcher{ - pos: position{line: 1731, col: 17, offset: 56983}, + pos: position{line: 1738, col: 17, offset: 57238}, val: ":", ignoreCase: false, want: "\":\"", @@ -39324,7 +39551,7 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1734, col: 5, offset: 57040}, + pos: position{line: 1741, col: 5, offset: 57295}, run: (*parser).callonListElementContinuationElement181, }, }, @@ -39332,24 +39559,24 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1720, col: 5, offset: 56641}, + pos: position{line: 1727, col: 5, offset: 56896}, label: "description", expr: &choiceExpr{ - pos: position{line: 1742, col: 5, offset: 57290}, + pos: position{line: 1749, col: 5, offset: 57545}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 1744, col: 9, offset: 57355}, + pos: position{line: 1751, col: 9, offset: 57610}, run: (*parser).callonListElementContinuationElement184, expr: &seqExpr{ - pos: position{line: 1744, col: 9, offset: 57355}, + pos: position{line: 1751, col: 9, offset: 57610}, exprs: []interface{}{ &zeroOrMoreExpr{ - pos: position{line: 1744, col: 9, offset: 57355}, + pos: position{line: 1751, col: 9, offset: 57610}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonListElementContinuationElement187, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -39358,28 +39585,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonListElementContinuationElement190, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -39388,37 +39615,37 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, }, &zeroOrMoreExpr{ - pos: position{line: 1745, col: 9, offset: 57375}, + pos: position{line: 1752, col: 9, offset: 57630}, expr: &actionExpr{ - pos: position{line: 683, col: 14, offset: 22042}, + pos: position{line: 690, col: 14, offset: 22312}, run: (*parser).callonListElementContinuationElement198, expr: &seqExpr{ - pos: position{line: 683, col: 14, offset: 22042}, + pos: position{line: 690, col: 14, offset: 22312}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 683, col: 14, offset: 22042}, + pos: position{line: 690, col: 14, offset: 22312}, expr: ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, &zeroOrMoreExpr{ - pos: position{line: 683, col: 19, offset: 22047}, + pos: position{line: 690, col: 19, offset: 22317}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonListElementContinuationElement204, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -39427,28 +39654,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonListElementContinuationElement207, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -39457,9 +39684,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -39469,47 +39696,47 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1746, col: 9, offset: 57395}, + pos: position{line: 1753, col: 9, offset: 57650}, label: "content", expr: &zeroOrOneExpr{ - pos: position{line: 1746, col: 17, offset: 57403}, + pos: position{line: 1753, col: 17, offset: 57658}, expr: &choiceExpr{ - pos: position{line: 1540, col: 5, offset: 50637}, + pos: position{line: 1547, col: 5, offset: 50892}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 1540, col: 5, offset: 50637}, + pos: position{line: 1547, col: 5, offset: 50892}, run: (*parser).callonListElementContinuationElement217, expr: &actionExpr{ - pos: position{line: 2876, col: 22, offset: 94317}, + pos: position{line: 2762, col: 22, offset: 90750}, run: (*parser).callonListElementContinuationElement218, expr: &seqExpr{ - pos: position{line: 2876, col: 22, offset: 94317}, + pos: position{line: 2762, col: 22, offset: 90750}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2881, col: 31, offset: 94538}, + pos: position{line: 2767, col: 31, offset: 90971}, val: "//", ignoreCase: false, want: "\"//\"", }, ¬Expr{ - pos: position{line: 2881, col: 36, offset: 94543}, + pos: position{line: 2767, col: 36, offset: 90976}, expr: &litMatcher{ - pos: position{line: 2881, col: 37, offset: 94544}, + pos: position{line: 2767, col: 37, offset: 90977}, val: "//", ignoreCase: false, want: "\"//\"", }, }, &labeledExpr{ - pos: position{line: 2876, col: 49, offset: 94344}, + pos: position{line: 2762, col: 49, offset: 90777}, label: "content", expr: &actionExpr{ - pos: position{line: 2883, col: 29, offset: 94579}, + pos: position{line: 2769, col: 29, offset: 91012}, run: (*parser).callonListElementContinuationElement224, expr: &zeroOrMoreExpr{ - pos: position{line: 2883, col: 29, offset: 94579}, + pos: position{line: 2769, col: 29, offset: 91012}, expr: &charClassMatcher{ - pos: position{line: 2883, col: 29, offset: 94579}, + pos: position{line: 2769, col: 29, offset: 91012}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -39519,28 +39746,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonListElementContinuationElement228, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -39549,9 +39776,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -39561,35 +39788,35 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1544, col: 9, offset: 50790}, + pos: position{line: 1551, col: 9, offset: 51045}, run: (*parser).callonListElementContinuationElement235, expr: &seqExpr{ - pos: position{line: 1544, col: 9, offset: 50790}, + pos: position{line: 1551, col: 9, offset: 51045}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 1544, col: 9, offset: 50790}, + pos: position{line: 1551, col: 9, offset: 51045}, expr: &actionExpr{ - pos: position{line: 683, col: 14, offset: 22042}, + pos: position{line: 690, col: 14, offset: 22312}, run: (*parser).callonListElementContinuationElement238, expr: &seqExpr{ - pos: position{line: 683, col: 14, offset: 22042}, + pos: position{line: 690, col: 14, offset: 22312}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 683, col: 14, offset: 22042}, + pos: position{line: 690, col: 14, offset: 22312}, expr: ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, &zeroOrMoreExpr{ - pos: position{line: 683, col: 19, offset: 22047}, + pos: position{line: 690, col: 19, offset: 22317}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonListElementContinuationElement244, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -39598,28 +39825,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonListElementContinuationElement247, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -39628,9 +39855,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -39640,23 +39867,23 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 1545, col: 9, offset: 50809}, + pos: position{line: 1552, col: 9, offset: 51064}, expr: &seqExpr{ - pos: position{line: 1578, col: 34, offset: 51769}, + pos: position{line: 1585, col: 34, offset: 52024}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1578, col: 34, offset: 51769}, + pos: position{line: 1585, col: 34, offset: 52024}, val: "+", ignoreCase: false, want: "\"+\"", }, &zeroOrMoreExpr{ - pos: position{line: 1578, col: 38, offset: 51773}, + pos: position{line: 1585, col: 38, offset: 52028}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonListElementContinuationElement258, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -39665,25 +39892,25 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonListElementContinuationElement260, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -39695,20 +39922,20 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 1546, col: 9, offset: 50848}, + pos: position{line: 1553, col: 9, offset: 51103}, expr: &actionExpr{ - pos: position{line: 1626, col: 5, offset: 53243}, + pos: position{line: 1633, col: 5, offset: 53498}, run: (*parser).callonListElementContinuationElement266, expr: &seqExpr{ - pos: position{line: 1626, col: 5, offset: 53243}, + pos: position{line: 1633, col: 5, offset: 53498}, exprs: []interface{}{ &zeroOrMoreExpr{ - pos: position{line: 1626, col: 5, offset: 53243}, + pos: position{line: 1633, col: 5, offset: 53498}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonListElementContinuationElement269, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -39717,27 +39944,27 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1626, col: 12, offset: 53250}, + pos: position{line: 1633, col: 12, offset: 53505}, label: "prefix", expr: &choiceExpr{ - pos: position{line: 1628, col: 9, offset: 53313}, + pos: position{line: 1635, col: 9, offset: 53568}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 1628, col: 9, offset: 53313}, + pos: position{line: 1635, col: 9, offset: 53568}, run: (*parser).callonListElementContinuationElement273, expr: &seqExpr{ - pos: position{line: 1628, col: 9, offset: 53313}, + pos: position{line: 1635, col: 9, offset: 53568}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1628, col: 9, offset: 53313}, + pos: position{line: 1635, col: 9, offset: 53568}, label: "depth", expr: &actionExpr{ - pos: position{line: 1628, col: 16, offset: 53320}, + pos: position{line: 1635, col: 16, offset: 53575}, run: (*parser).callonListElementContinuationElement276, expr: &oneOrMoreExpr{ - pos: position{line: 1628, col: 16, offset: 53320}, + pos: position{line: 1635, col: 16, offset: 53575}, expr: &litMatcher{ - pos: position{line: 1628, col: 17, offset: 53321}, + pos: position{line: 1635, col: 17, offset: 53576}, val: ".", ignoreCase: false, want: "\".\"", @@ -39746,22 +39973,22 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1632, col: 9, offset: 53421}, + pos: position{line: 1639, col: 9, offset: 53676}, run: (*parser).callonListElementContinuationElement279, }, }, }, }, &actionExpr{ - pos: position{line: 1651, col: 11, offset: 54138}, + pos: position{line: 1658, col: 11, offset: 54393}, run: (*parser).callonListElementContinuationElement280, expr: &seqExpr{ - pos: position{line: 1651, col: 11, offset: 54138}, + pos: position{line: 1658, col: 11, offset: 54393}, exprs: []interface{}{ &oneOrMoreExpr{ - pos: position{line: 1651, col: 11, offset: 54138}, + pos: position{line: 1658, col: 11, offset: 54393}, expr: &charClassMatcher{ - pos: position{line: 1651, col: 12, offset: 54139}, + pos: position{line: 1658, col: 12, offset: 54394}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -39769,7 +39996,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1651, col: 20, offset: 54147}, + pos: position{line: 1658, col: 20, offset: 54402}, val: ".", ignoreCase: false, want: "\".\"", @@ -39778,20 +40005,20 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1653, col: 13, offset: 54264}, + pos: position{line: 1660, col: 13, offset: 54519}, run: (*parser).callonListElementContinuationElement285, expr: &seqExpr{ - pos: position{line: 1653, col: 13, offset: 54264}, + pos: position{line: 1660, col: 13, offset: 54519}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 1653, col: 14, offset: 54265}, + pos: position{line: 1660, col: 14, offset: 54520}, val: "[a-z]", ranges: []rune{'a', 'z'}, ignoreCase: false, inverted: false, }, &litMatcher{ - pos: position{line: 1653, col: 21, offset: 54272}, + pos: position{line: 1660, col: 21, offset: 54527}, val: ".", ignoreCase: false, want: "\".\"", @@ -39800,20 +40027,20 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1655, col: 13, offset: 54392}, + pos: position{line: 1662, col: 13, offset: 54647}, run: (*parser).callonListElementContinuationElement289, expr: &seqExpr{ - pos: position{line: 1655, col: 13, offset: 54392}, + pos: position{line: 1662, col: 13, offset: 54647}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 1655, col: 14, offset: 54393}, + pos: position{line: 1662, col: 14, offset: 54648}, val: "[A-Z]", ranges: []rune{'A', 'Z'}, ignoreCase: false, inverted: false, }, &litMatcher{ - pos: position{line: 1655, col: 21, offset: 54400}, + pos: position{line: 1662, col: 21, offset: 54655}, val: ".", ignoreCase: false, want: "\".\"", @@ -39822,15 +40049,15 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1657, col: 13, offset: 54520}, + pos: position{line: 1664, col: 13, offset: 54775}, run: (*parser).callonListElementContinuationElement293, expr: &seqExpr{ - pos: position{line: 1657, col: 13, offset: 54520}, + pos: position{line: 1664, col: 13, offset: 54775}, exprs: []interface{}{ &oneOrMoreExpr{ - pos: position{line: 1657, col: 13, offset: 54520}, + pos: position{line: 1664, col: 13, offset: 54775}, expr: &charClassMatcher{ - pos: position{line: 1657, col: 14, offset: 54521}, + pos: position{line: 1664, col: 14, offset: 54776}, val: "[ivxdlcm]", chars: []rune{'i', 'v', 'x', 'd', 'l', 'c', 'm'}, ignoreCase: false, @@ -39838,7 +40065,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1657, col: 26, offset: 54533}, + pos: position{line: 1664, col: 26, offset: 54788}, val: ")", ignoreCase: false, want: "\")\"", @@ -39847,15 +40074,15 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1659, col: 13, offset: 54653}, + pos: position{line: 1666, col: 13, offset: 54908}, run: (*parser).callonListElementContinuationElement298, expr: &seqExpr{ - pos: position{line: 1659, col: 13, offset: 54653}, + pos: position{line: 1666, col: 13, offset: 54908}, exprs: []interface{}{ &oneOrMoreExpr{ - pos: position{line: 1659, col: 13, offset: 54653}, + pos: position{line: 1666, col: 13, offset: 54908}, expr: &charClassMatcher{ - pos: position{line: 1659, col: 14, offset: 54654}, + pos: position{line: 1666, col: 14, offset: 54909}, val: "[IVXDLCM]", chars: []rune{'I', 'V', 'X', 'D', 'L', 'C', 'M'}, ignoreCase: false, @@ -39863,7 +40090,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1659, col: 26, offset: 54666}, + pos: position{line: 1666, col: 26, offset: 54921}, val: ")", ignoreCase: false, want: "\")\"", @@ -39875,12 +40102,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 3180, col: 11, offset: 103464}, + pos: position{line: 3076, col: 11, offset: 100101}, run: (*parser).callonListElementContinuationElement303, expr: &oneOrMoreExpr{ - pos: position{line: 3180, col: 11, offset: 103464}, + pos: position{line: 3076, col: 11, offset: 100101}, expr: &charClassMatcher{ - pos: position{line: 3180, col: 12, offset: 103465}, + pos: position{line: 3076, col: 12, offset: 100102}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -39893,20 +40120,20 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 1547, col: 9, offset: 50882}, + pos: position{line: 1554, col: 9, offset: 51137}, expr: &actionExpr{ - pos: position{line: 1676, col: 5, offset: 55205}, + pos: position{line: 1683, col: 5, offset: 55460}, run: (*parser).callonListElementContinuationElement307, expr: &seqExpr{ - pos: position{line: 1676, col: 5, offset: 55205}, + pos: position{line: 1683, col: 5, offset: 55460}, exprs: []interface{}{ &zeroOrMoreExpr{ - pos: position{line: 1676, col: 5, offset: 55205}, + pos: position{line: 1683, col: 5, offset: 55460}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonListElementContinuationElement310, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -39915,27 +40142,27 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1676, col: 12, offset: 55212}, + pos: position{line: 1683, col: 12, offset: 55467}, label: "prefix", expr: &choiceExpr{ - pos: position{line: 1676, col: 20, offset: 55220}, + pos: position{line: 1683, col: 20, offset: 55475}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 1678, col: 9, offset: 55277}, + pos: position{line: 1685, col: 9, offset: 55532}, run: (*parser).callonListElementContinuationElement314, expr: &seqExpr{ - pos: position{line: 1678, col: 9, offset: 55277}, + pos: position{line: 1685, col: 9, offset: 55532}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1678, col: 9, offset: 55277}, + pos: position{line: 1685, col: 9, offset: 55532}, label: "depth", expr: &actionExpr{ - pos: position{line: 1678, col: 16, offset: 55284}, + pos: position{line: 1685, col: 16, offset: 55539}, run: (*parser).callonListElementContinuationElement317, expr: &oneOrMoreExpr{ - pos: position{line: 1678, col: 16, offset: 55284}, + pos: position{line: 1685, col: 16, offset: 55539}, expr: &litMatcher{ - pos: position{line: 1678, col: 17, offset: 55285}, + pos: position{line: 1685, col: 17, offset: 55540}, val: "*", ignoreCase: false, want: "\"*\"", @@ -39944,20 +40171,20 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1682, col: 9, offset: 55385}, + pos: position{line: 1689, col: 9, offset: 55640}, run: (*parser).callonListElementContinuationElement320, }, }, }, }, &labeledExpr{ - pos: position{line: 1699, col: 14, offset: 56092}, + pos: position{line: 1706, col: 14, offset: 56347}, label: "depth", expr: &actionExpr{ - pos: position{line: 1699, col: 21, offset: 56099}, + pos: position{line: 1706, col: 21, offset: 56354}, run: (*parser).callonListElementContinuationElement322, expr: &litMatcher{ - pos: position{line: 1699, col: 22, offset: 56100}, + pos: position{line: 1706, col: 22, offset: 56355}, val: "-", ignoreCase: false, want: "\"-\"", @@ -39968,12 +40195,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 3180, col: 11, offset: 103464}, + pos: position{line: 3076, col: 11, offset: 100101}, run: (*parser).callonListElementContinuationElement324, expr: &oneOrMoreExpr{ - pos: position{line: 3180, col: 11, offset: 103464}, + pos: position{line: 3076, col: 11, offset: 100101}, expr: &charClassMatcher{ - pos: position{line: 3180, col: 12, offset: 103465}, + pos: position{line: 3076, col: 12, offset: 100102}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -39986,29 +40213,29 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 1548, col: 9, offset: 50918}, + pos: position{line: 1555, col: 9, offset: 51173}, expr: &actionExpr{ - pos: position{line: 1782, col: 5, offset: 58442}, + pos: position{line: 1789, col: 5, offset: 58697}, run: (*parser).callonListElementContinuationElement328, expr: &seqExpr{ - pos: position{line: 1782, col: 5, offset: 58442}, + pos: position{line: 1789, col: 5, offset: 58697}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1782, col: 5, offset: 58442}, + pos: position{line: 1789, col: 5, offset: 58697}, val: "<", ignoreCase: false, want: "\"<\"", }, &labeledExpr{ - pos: position{line: 1782, col: 9, offset: 58446}, + pos: position{line: 1789, col: 9, offset: 58701}, label: "ref", expr: &actionExpr{ - pos: position{line: 1782, col: 14, offset: 58451}, + pos: position{line: 1789, col: 14, offset: 58706}, run: (*parser).callonListElementContinuationElement332, expr: &oneOrMoreExpr{ - pos: position{line: 1782, col: 14, offset: 58451}, + pos: position{line: 1789, col: 14, offset: 58706}, expr: &charClassMatcher{ - pos: position{line: 1782, col: 14, offset: 58451}, + pos: position{line: 1789, col: 14, offset: 58706}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -40018,18 +40245,18 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1782, col: 62, offset: 58499}, + pos: position{line: 1789, col: 62, offset: 58754}, val: ">", ignoreCase: false, want: "\">\"", }, &actionExpr{ - pos: position{line: 3180, col: 11, offset: 103464}, + pos: position{line: 3076, col: 11, offset: 100101}, run: (*parser).callonListElementContinuationElement336, expr: &oneOrMoreExpr{ - pos: position{line: 3180, col: 11, offset: 103464}, + pos: position{line: 3076, col: 11, offset: 100101}, expr: &charClassMatcher{ - pos: position{line: 3180, col: 12, offset: 103465}, + pos: position{line: 3076, col: 12, offset: 100102}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -40042,36 +40269,36 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 1549, col: 9, offset: 50952}, + pos: position{line: 1556, col: 9, offset: 51207}, expr: &seqExpr{ - pos: position{line: 1549, col: 11, offset: 50954}, + pos: position{line: 1556, col: 11, offset: 51209}, exprs: []interface{}{ &actionExpr{ - pos: position{line: 1726, col: 5, offset: 56820}, + pos: position{line: 1733, col: 5, offset: 57075}, run: (*parser).callonListElementContinuationElement341, expr: &oneOrMoreExpr{ - pos: position{line: 1726, col: 5, offset: 56820}, + pos: position{line: 1733, col: 5, offset: 57075}, expr: &seqExpr{ - pos: position{line: 1726, col: 6, offset: 56821}, + pos: position{line: 1733, col: 6, offset: 57076}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 1726, col: 6, offset: 56821}, + pos: position{line: 1733, col: 6, offset: 57076}, expr: &actionExpr{ - pos: position{line: 1731, col: 5, offset: 56971}, + pos: position{line: 1738, col: 5, offset: 57226}, run: (*parser).callonListElementContinuationElement345, expr: &seqExpr{ - pos: position{line: 1731, col: 5, offset: 56971}, + pos: position{line: 1738, col: 5, offset: 57226}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1731, col: 5, offset: 56971}, + pos: position{line: 1738, col: 5, offset: 57226}, label: "separator", expr: &actionExpr{ - pos: position{line: 1731, col: 16, offset: 56982}, + pos: position{line: 1738, col: 16, offset: 57237}, run: (*parser).callonListElementContinuationElement348, expr: &oneOrMoreExpr{ - pos: position{line: 1731, col: 16, offset: 56982}, + pos: position{line: 1738, col: 16, offset: 57237}, expr: &litMatcher{ - pos: position{line: 1731, col: 17, offset: 56983}, + pos: position{line: 1738, col: 17, offset: 57238}, val: ":", ignoreCase: false, want: "\":\"", @@ -40080,7 +40307,7 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1734, col: 5, offset: 57040}, + pos: position{line: 1741, col: 5, offset: 57295}, run: (*parser).callonListElementContinuationElement351, }, }, @@ -40088,30 +40315,30 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 1726, col: 35, offset: 56850}, + pos: position{line: 1733, col: 35, offset: 57105}, expr: &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonListElementContinuationElement354, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -40120,37 +40347,37 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, }, }, &anyMatcher{ - line: 1726, col: 40, offset: 56855, + line: 1733, col: 40, offset: 57110, }, }, }, }, }, &actionExpr{ - pos: position{line: 1731, col: 5, offset: 56971}, + pos: position{line: 1738, col: 5, offset: 57226}, run: (*parser).callonListElementContinuationElement362, expr: &seqExpr{ - pos: position{line: 1731, col: 5, offset: 56971}, + pos: position{line: 1738, col: 5, offset: 57226}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1731, col: 5, offset: 56971}, + pos: position{line: 1738, col: 5, offset: 57226}, label: "separator", expr: &actionExpr{ - pos: position{line: 1731, col: 16, offset: 56982}, + pos: position{line: 1738, col: 16, offset: 57237}, run: (*parser).callonListElementContinuationElement365, expr: &oneOrMoreExpr{ - pos: position{line: 1731, col: 16, offset: 56982}, + pos: position{line: 1738, col: 16, offset: 57237}, expr: &litMatcher{ - pos: position{line: 1731, col: 17, offset: 56983}, + pos: position{line: 1738, col: 17, offset: 57238}, val: ":", ignoreCase: false, want: "\":\"", @@ -40159,7 +40386,7 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1734, col: 5, offset: 57040}, + pos: position{line: 1741, col: 5, offset: 57295}, run: (*parser).callonListElementContinuationElement368, }, }, @@ -40169,17 +40396,17 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 1550, col: 9, offset: 51014}, + pos: position{line: 1557, col: 9, offset: 51269}, expr: &actionExpr{ - pos: position{line: 729, col: 5, offset: 23577}, + pos: position{line: 736, col: 5, offset: 23847}, run: (*parser).callonListElementContinuationElement370, expr: &seqExpr{ - pos: position{line: 729, col: 5, offset: 23577}, + pos: position{line: 736, col: 5, offset: 23847}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 729, col: 5, offset: 23577}, + pos: position{line: 736, col: 5, offset: 23847}, expr: &charClassMatcher{ - pos: position{line: 3090, col: 13, offset: 100713}, + pos: position{line: 2986, col: 13, offset: 97350}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -40188,36 +40415,36 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 730, col: 5, offset: 23607}, + pos: position{line: 737, col: 5, offset: 23877}, label: "delimiter", expr: &choiceExpr{ - pos: position{line: 731, col: 9, offset: 23627}, + pos: position{line: 738, col: 9, offset: 23897}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 745, col: 5, offset: 24119}, + pos: position{line: 752, col: 5, offset: 24389}, run: (*parser).callonListElementContinuationElement376, expr: &seqExpr{ - pos: position{line: 745, col: 5, offset: 24119}, + pos: position{line: 752, col: 5, offset: 24389}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 745, col: 5, offset: 24119}, + pos: position{line: 752, col: 5, offset: 24389}, label: "delimiter", expr: &actionExpr{ - pos: position{line: 745, col: 16, offset: 24130}, + pos: position{line: 752, col: 16, offset: 24400}, run: (*parser).callonListElementContinuationElement379, expr: &seqExpr{ - pos: position{line: 745, col: 16, offset: 24130}, + pos: position{line: 752, col: 16, offset: 24400}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 745, col: 16, offset: 24130}, + pos: position{line: 752, col: 16, offset: 24400}, val: "////", ignoreCase: false, want: "\"////\"", }, &zeroOrMoreExpr{ - pos: position{line: 745, col: 23, offset: 24137}, + pos: position{line: 752, col: 23, offset: 24407}, expr: &litMatcher{ - pos: position{line: 745, col: 23, offset: 24137}, + pos: position{line: 752, col: 23, offset: 24407}, val: "/", ignoreCase: false, want: "\"/\"", @@ -40228,12 +40455,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 747, col: 8, offset: 24221}, + pos: position{line: 754, col: 8, offset: 24491}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonListElementContinuationElement385, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -40242,28 +40469,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonListElementContinuationElement388, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -40272,9 +40499,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -40283,30 +40510,30 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 752, col: 5, offset: 24367}, + pos: position{line: 759, col: 5, offset: 24637}, run: (*parser).callonListElementContinuationElement395, expr: &seqExpr{ - pos: position{line: 752, col: 5, offset: 24367}, + pos: position{line: 759, col: 5, offset: 24637}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 752, col: 5, offset: 24367}, + pos: position{line: 759, col: 5, offset: 24637}, label: "delimiter", expr: &actionExpr{ - pos: position{line: 752, col: 16, offset: 24378}, + pos: position{line: 759, col: 16, offset: 24648}, run: (*parser).callonListElementContinuationElement398, expr: &seqExpr{ - pos: position{line: 752, col: 16, offset: 24378}, + pos: position{line: 759, col: 16, offset: 24648}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 752, col: 16, offset: 24378}, + pos: position{line: 759, col: 16, offset: 24648}, val: "====", ignoreCase: false, want: "\"====\"", }, &zeroOrMoreExpr{ - pos: position{line: 752, col: 23, offset: 24385}, + pos: position{line: 759, col: 23, offset: 24655}, expr: &litMatcher{ - pos: position{line: 752, col: 23, offset: 24385}, + pos: position{line: 759, col: 23, offset: 24655}, val: "=", ignoreCase: false, want: "\"=\"", @@ -40317,12 +40544,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 754, col: 8, offset: 24469}, + pos: position{line: 761, col: 8, offset: 24739}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonListElementContinuationElement404, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -40331,28 +40558,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonListElementContinuationElement407, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -40361,9 +40588,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -40372,27 +40599,27 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 765, col: 26, offset: 24855}, + pos: position{line: 772, col: 26, offset: 25125}, run: (*parser).callonListElementContinuationElement414, expr: &seqExpr{ - pos: position{line: 765, col: 26, offset: 24855}, + pos: position{line: 772, col: 26, offset: 25125}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 765, col: 26, offset: 24855}, + pos: position{line: 772, col: 26, offset: 25125}, val: "```", ignoreCase: false, want: "\"```\"", }, &labeledExpr{ - pos: position{line: 765, col: 32, offset: 24861}, + pos: position{line: 772, col: 32, offset: 25131}, label: "language", expr: &actionExpr{ - pos: position{line: 769, col: 13, offset: 24991}, + pos: position{line: 776, col: 13, offset: 25261}, run: (*parser).callonListElementContinuationElement418, expr: &oneOrMoreExpr{ - pos: position{line: 769, col: 14, offset: 24992}, + pos: position{line: 776, col: 14, offset: 25262}, expr: &charClassMatcher{ - pos: position{line: 769, col: 14, offset: 24992}, + pos: position{line: 776, col: 14, offset: 25262}, val: "[^\\r\\n` ]", chars: []rune{'\r', '\n', '`', ' '}, ignoreCase: false, @@ -40402,12 +40629,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 765, col: 52, offset: 24881}, + pos: position{line: 772, col: 52, offset: 25151}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonListElementContinuationElement422, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -40416,28 +40643,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonListElementContinuationElement425, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -40446,9 +40673,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -40457,30 +40684,30 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 759, col: 5, offset: 24614}, + pos: position{line: 766, col: 5, offset: 24884}, run: (*parser).callonListElementContinuationElement432, expr: &seqExpr{ - pos: position{line: 759, col: 5, offset: 24614}, + pos: position{line: 766, col: 5, offset: 24884}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 759, col: 5, offset: 24614}, + pos: position{line: 766, col: 5, offset: 24884}, label: "delimiter", expr: &actionExpr{ - pos: position{line: 759, col: 16, offset: 24625}, + pos: position{line: 766, col: 16, offset: 24895}, run: (*parser).callonListElementContinuationElement435, expr: &seqExpr{ - pos: position{line: 759, col: 16, offset: 24625}, + pos: position{line: 766, col: 16, offset: 24895}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 759, col: 16, offset: 24625}, + pos: position{line: 766, col: 16, offset: 24895}, val: "```", ignoreCase: false, want: "\"```\"", }, &zeroOrMoreExpr{ - pos: position{line: 759, col: 22, offset: 24631}, + pos: position{line: 766, col: 22, offset: 24901}, expr: &litMatcher{ - pos: position{line: 759, col: 22, offset: 24631}, + pos: position{line: 766, col: 22, offset: 24901}, val: "`", ignoreCase: false, want: "\"`\"", @@ -40491,12 +40718,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 761, col: 8, offset: 24715}, + pos: position{line: 768, col: 8, offset: 24985}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonListElementContinuationElement441, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -40505,28 +40732,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonListElementContinuationElement444, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -40535,9 +40762,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -40546,30 +40773,30 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 774, col: 5, offset: 25151}, + pos: position{line: 781, col: 5, offset: 25421}, run: (*parser).callonListElementContinuationElement451, expr: &seqExpr{ - pos: position{line: 774, col: 5, offset: 25151}, + pos: position{line: 781, col: 5, offset: 25421}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 774, col: 5, offset: 25151}, + pos: position{line: 781, col: 5, offset: 25421}, label: "delimiter", expr: &actionExpr{ - pos: position{line: 774, col: 16, offset: 25162}, + pos: position{line: 781, col: 16, offset: 25432}, run: (*parser).callonListElementContinuationElement454, expr: &seqExpr{ - pos: position{line: 774, col: 16, offset: 25162}, + pos: position{line: 781, col: 16, offset: 25432}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 774, col: 16, offset: 25162}, + pos: position{line: 781, col: 16, offset: 25432}, val: "----", ignoreCase: false, want: "\"----\"", }, &zeroOrMoreExpr{ - pos: position{line: 774, col: 23, offset: 25169}, + pos: position{line: 781, col: 23, offset: 25439}, expr: &litMatcher{ - pos: position{line: 774, col: 23, offset: 25169}, + pos: position{line: 781, col: 23, offset: 25439}, val: "-", ignoreCase: false, want: "\"-\"", @@ -40580,12 +40807,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 776, col: 8, offset: 25253}, + pos: position{line: 783, col: 8, offset: 25523}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonListElementContinuationElement460, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -40594,28 +40821,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonListElementContinuationElement463, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -40624,9 +40851,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -40635,30 +40862,30 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 781, col: 5, offset: 25399}, + pos: position{line: 788, col: 5, offset: 25669}, run: (*parser).callonListElementContinuationElement470, expr: &seqExpr{ - pos: position{line: 781, col: 5, offset: 25399}, + pos: position{line: 788, col: 5, offset: 25669}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 781, col: 5, offset: 25399}, + pos: position{line: 788, col: 5, offset: 25669}, label: "delimiter", expr: &actionExpr{ - pos: position{line: 781, col: 16, offset: 25410}, + pos: position{line: 788, col: 16, offset: 25680}, run: (*parser).callonListElementContinuationElement473, expr: &seqExpr{ - pos: position{line: 781, col: 16, offset: 25410}, + pos: position{line: 788, col: 16, offset: 25680}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 781, col: 16, offset: 25410}, + pos: position{line: 788, col: 16, offset: 25680}, val: "....", ignoreCase: false, want: "\"....\"", }, &zeroOrMoreExpr{ - pos: position{line: 781, col: 23, offset: 25417}, + pos: position{line: 788, col: 23, offset: 25687}, expr: &litMatcher{ - pos: position{line: 781, col: 23, offset: 25417}, + pos: position{line: 788, col: 23, offset: 25687}, val: ".", ignoreCase: false, want: "\".\"", @@ -40669,12 +40896,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 783, col: 8, offset: 25501}, + pos: position{line: 790, col: 8, offset: 25771}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonListElementContinuationElement479, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -40683,28 +40910,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonListElementContinuationElement482, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -40713,9 +40940,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -40724,30 +40951,30 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 788, col: 5, offset: 25651}, + pos: position{line: 795, col: 5, offset: 25921}, run: (*parser).callonListElementContinuationElement489, expr: &seqExpr{ - pos: position{line: 788, col: 5, offset: 25651}, + pos: position{line: 795, col: 5, offset: 25921}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 788, col: 5, offset: 25651}, + pos: position{line: 795, col: 5, offset: 25921}, label: "delimiter", expr: &actionExpr{ - pos: position{line: 788, col: 16, offset: 25662}, + pos: position{line: 795, col: 16, offset: 25932}, run: (*parser).callonListElementContinuationElement492, expr: &seqExpr{ - pos: position{line: 788, col: 16, offset: 25662}, + pos: position{line: 795, col: 16, offset: 25932}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 788, col: 16, offset: 25662}, + pos: position{line: 795, col: 16, offset: 25932}, val: "++++", ignoreCase: false, want: "\"++++\"", }, &zeroOrMoreExpr{ - pos: position{line: 788, col: 23, offset: 25669}, + pos: position{line: 795, col: 23, offset: 25939}, expr: &litMatcher{ - pos: position{line: 788, col: 23, offset: 25669}, + pos: position{line: 795, col: 23, offset: 25939}, val: "+", ignoreCase: false, want: "\"+\"", @@ -40758,12 +40985,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 790, col: 8, offset: 25753}, + pos: position{line: 797, col: 8, offset: 26023}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonListElementContinuationElement498, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -40772,28 +40999,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonListElementContinuationElement501, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -40802,9 +41029,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -40813,30 +41040,30 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 795, col: 5, offset: 25901}, + pos: position{line: 802, col: 5, offset: 26171}, run: (*parser).callonListElementContinuationElement508, expr: &seqExpr{ - pos: position{line: 795, col: 5, offset: 25901}, + pos: position{line: 802, col: 5, offset: 26171}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 795, col: 5, offset: 25901}, + pos: position{line: 802, col: 5, offset: 26171}, label: "delimiter", expr: &actionExpr{ - pos: position{line: 795, col: 16, offset: 25912}, + pos: position{line: 802, col: 16, offset: 26182}, run: (*parser).callonListElementContinuationElement511, expr: &seqExpr{ - pos: position{line: 795, col: 16, offset: 25912}, + pos: position{line: 802, col: 16, offset: 26182}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 795, col: 16, offset: 25912}, + pos: position{line: 802, col: 16, offset: 26182}, val: "____", ignoreCase: false, want: "\"____\"", }, &zeroOrMoreExpr{ - pos: position{line: 795, col: 23, offset: 25919}, + pos: position{line: 802, col: 23, offset: 26189}, expr: &litMatcher{ - pos: position{line: 795, col: 23, offset: 25919}, + pos: position{line: 802, col: 23, offset: 26189}, val: "_", ignoreCase: false, want: "\"_\"", @@ -40847,12 +41074,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 797, col: 8, offset: 26003}, + pos: position{line: 804, col: 8, offset: 26273}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonListElementContinuationElement517, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -40861,28 +41088,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonListElementContinuationElement520, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -40891,9 +41118,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -40902,30 +41129,30 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 802, col: 5, offset: 26147}, + pos: position{line: 809, col: 5, offset: 26417}, run: (*parser).callonListElementContinuationElement527, expr: &seqExpr{ - pos: position{line: 802, col: 5, offset: 26147}, + pos: position{line: 809, col: 5, offset: 26417}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 802, col: 5, offset: 26147}, + pos: position{line: 809, col: 5, offset: 26417}, label: "delimiter", expr: &actionExpr{ - pos: position{line: 802, col: 16, offset: 26158}, + pos: position{line: 809, col: 16, offset: 26428}, run: (*parser).callonListElementContinuationElement530, expr: &seqExpr{ - pos: position{line: 802, col: 16, offset: 26158}, + pos: position{line: 809, col: 16, offset: 26428}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 802, col: 16, offset: 26158}, + pos: position{line: 809, col: 16, offset: 26428}, val: "****", ignoreCase: false, want: "\"****\"", }, &zeroOrMoreExpr{ - pos: position{line: 802, col: 23, offset: 26165}, + pos: position{line: 809, col: 23, offset: 26435}, expr: &litMatcher{ - pos: position{line: 802, col: 23, offset: 26165}, + pos: position{line: 809, col: 23, offset: 26435}, val: "*", ignoreCase: false, want: "\"*\"", @@ -40936,12 +41163,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 804, col: 8, offset: 26249}, + pos: position{line: 811, col: 8, offset: 26519}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonListElementContinuationElement536, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -40950,28 +41177,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonListElementContinuationElement539, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -40980,9 +41207,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -40998,15 +41225,15 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1551, col: 9, offset: 51038}, + pos: position{line: 1558, col: 9, offset: 51293}, label: "content", expr: &actionExpr{ - pos: position{line: 1551, col: 18, offset: 51047}, + pos: position{line: 1558, col: 18, offset: 51302}, run: (*parser).callonListElementContinuationElement547, expr: &oneOrMoreExpr{ - pos: position{line: 1551, col: 18, offset: 51047}, + pos: position{line: 1558, col: 18, offset: 51302}, expr: &charClassMatcher{ - pos: position{line: 1551, col: 18, offset: 51047}, + pos: position{line: 1558, col: 18, offset: 51302}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -41016,28 +41243,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonListElementContinuationElement551, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -41046,9 +41273,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -41064,18 +41291,18 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1754, col: 9, offset: 57638}, + pos: position{line: 1761, col: 9, offset: 57893}, run: (*parser).callonListElementContinuationElement558, expr: &seqExpr{ - pos: position{line: 1754, col: 9, offset: 57638}, + pos: position{line: 1761, col: 9, offset: 57893}, exprs: []interface{}{ &actionExpr{ - pos: position{line: 3180, col: 11, offset: 103464}, + pos: position{line: 3076, col: 11, offset: 100101}, run: (*parser).callonListElementContinuationElement560, expr: &oneOrMoreExpr{ - pos: position{line: 3180, col: 11, offset: 103464}, + pos: position{line: 3076, col: 11, offset: 100101}, expr: &charClassMatcher{ - pos: position{line: 3180, col: 12, offset: 103465}, + pos: position{line: 3076, col: 12, offset: 100102}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -41084,15 +41311,15 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1755, col: 9, offset: 57690}, + pos: position{line: 1762, col: 9, offset: 57945}, label: "content", expr: &actionExpr{ - pos: position{line: 1755, col: 18, offset: 57699}, + pos: position{line: 1762, col: 18, offset: 57954}, run: (*parser).callonListElementContinuationElement564, expr: &oneOrMoreExpr{ - pos: position{line: 1755, col: 18, offset: 57699}, + pos: position{line: 1762, col: 18, offset: 57954}, expr: &charClassMatcher{ - pos: position{line: 1755, col: 18, offset: 57699}, + pos: position{line: 1762, col: 18, offset: 57954}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -41102,28 +41329,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonListElementContinuationElement568, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -41132,9 +41359,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -41152,44 +41379,44 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1583, col: 5, offset: 51910}, + pos: position{line: 1590, col: 5, offset: 52165}, label: "attributes", expr: &zeroOrOneExpr{ - pos: position{line: 1583, col: 16, offset: 51921}, + pos: position{line: 1590, col: 16, offset: 52176}, expr: &ruleRefExpr{ - pos: position{line: 1583, col: 17, offset: 51922}, + pos: position{line: 1590, col: 17, offset: 52177}, name: "BlockAttributes", }, }, }, &labeledExpr{ - pos: position{line: 1584, col: 5, offset: 51944}, + pos: position{line: 1591, col: 5, offset: 52199}, label: "element", expr: &choiceExpr{ - pos: position{line: 1585, col: 9, offset: 51962}, + pos: position{line: 1592, col: 9, offset: 52217}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 683, col: 14, offset: 22042}, + pos: position{line: 690, col: 14, offset: 22312}, run: (*parser).callonListElementContinuationElement580, expr: &seqExpr{ - pos: position{line: 683, col: 14, offset: 22042}, + pos: position{line: 690, col: 14, offset: 22312}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 683, col: 14, offset: 22042}, + pos: position{line: 690, col: 14, offset: 22312}, expr: ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, &zeroOrMoreExpr{ - pos: position{line: 683, col: 19, offset: 22047}, + pos: position{line: 690, col: 19, offset: 22317}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonListElementContinuationElement586, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -41198,28 +41425,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonListElementContinuationElement589, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -41228,9 +41455,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -41239,7 +41466,7 @@ var g = &grammar{ }, }, &ruleRefExpr{ - pos: position{line: 1586, col: 11, offset: 51982}, + pos: position{line: 1593, col: 11, offset: 52237}, name: "AttributeDeclaration", }, &actionExpr{ @@ -41297,10 +41524,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 364, col: 49, offset: 11201}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonListElementContinuationElement608, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -41309,28 +41536,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonListElementContinuationElement611, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -41339,9 +41566,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -41404,10 +41631,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 366, col: 39, offset: 11322}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonListElementContinuationElement629, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -41416,28 +41643,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonListElementContinuationElement632, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -41446,9 +41673,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -41457,36 +41684,36 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 820, col: 5, offset: 26700}, + pos: position{line: 827, col: 5, offset: 26970}, run: (*parser).callonListElementContinuationElement639, expr: &seqExpr{ - pos: position{line: 820, col: 5, offset: 26700}, + pos: position{line: 827, col: 5, offset: 26970}, exprs: []interface{}{ &actionExpr{ - pos: position{line: 745, col: 5, offset: 24119}, + pos: position{line: 752, col: 5, offset: 24389}, run: (*parser).callonListElementContinuationElement641, expr: &seqExpr{ - pos: position{line: 745, col: 5, offset: 24119}, + pos: position{line: 752, col: 5, offset: 24389}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 745, col: 5, offset: 24119}, + pos: position{line: 752, col: 5, offset: 24389}, label: "delimiter", expr: &actionExpr{ - pos: position{line: 745, col: 16, offset: 24130}, + pos: position{line: 752, col: 16, offset: 24400}, run: (*parser).callonListElementContinuationElement644, expr: &seqExpr{ - pos: position{line: 745, col: 16, offset: 24130}, + pos: position{line: 752, col: 16, offset: 24400}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 745, col: 16, offset: 24130}, + pos: position{line: 752, col: 16, offset: 24400}, val: "////", ignoreCase: false, want: "\"////\"", }, &zeroOrMoreExpr{ - pos: position{line: 745, col: 23, offset: 24137}, + pos: position{line: 752, col: 23, offset: 24407}, expr: &litMatcher{ - pos: position{line: 745, col: 23, offset: 24137}, + pos: position{line: 752, col: 23, offset: 24407}, val: "/", ignoreCase: false, want: "\"/\"", @@ -41497,12 +41724,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 747, col: 8, offset: 24221}, + pos: position{line: 754, col: 8, offset: 24491}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonListElementContinuationElement650, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -41511,28 +41738,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonListElementContinuationElement653, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -41541,9 +41768,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -41552,46 +41779,46 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 821, col: 5, offset: 26731}, + pos: position{line: 828, col: 5, offset: 27001}, label: "content", expr: &zeroOrMoreExpr{ - pos: position{line: 831, col: 5, offset: 27017}, + pos: position{line: 838, col: 5, offset: 27287}, expr: &actionExpr{ - pos: position{line: 831, col: 6, offset: 27018}, + pos: position{line: 838, col: 6, offset: 27288}, run: (*parser).callonListElementContinuationElement662, expr: &seqExpr{ - pos: position{line: 831, col: 6, offset: 27018}, + pos: position{line: 838, col: 6, offset: 27288}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 831, col: 6, offset: 27018}, + pos: position{line: 838, col: 6, offset: 27288}, expr: &choiceExpr{ - pos: position{line: 828, col: 29, offset: 26960}, + pos: position{line: 835, col: 29, offset: 27230}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 745, col: 5, offset: 24119}, + pos: position{line: 752, col: 5, offset: 24389}, run: (*parser).callonListElementContinuationElement666, expr: &seqExpr{ - pos: position{line: 745, col: 5, offset: 24119}, + pos: position{line: 752, col: 5, offset: 24389}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 745, col: 5, offset: 24119}, + pos: position{line: 752, col: 5, offset: 24389}, label: "delimiter", expr: &actionExpr{ - pos: position{line: 745, col: 16, offset: 24130}, + pos: position{line: 752, col: 16, offset: 24400}, run: (*parser).callonListElementContinuationElement669, expr: &seqExpr{ - pos: position{line: 745, col: 16, offset: 24130}, + pos: position{line: 752, col: 16, offset: 24400}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 745, col: 16, offset: 24130}, + pos: position{line: 752, col: 16, offset: 24400}, val: "////", ignoreCase: false, want: "\"////\"", }, &zeroOrMoreExpr{ - pos: position{line: 745, col: 23, offset: 24137}, + pos: position{line: 752, col: 23, offset: 24407}, expr: &litMatcher{ - pos: position{line: 745, col: 23, offset: 24137}, + pos: position{line: 752, col: 23, offset: 24407}, val: "/", ignoreCase: false, want: "\"/\"", @@ -41602,12 +41829,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 747, col: 8, offset: 24221}, + pos: position{line: 754, col: 8, offset: 24491}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonListElementContinuationElement675, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -41616,28 +41843,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonListElementContinuationElement678, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -41646,9 +41873,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -41657,42 +41884,42 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, }, }, &labeledExpr{ - pos: position{line: 832, col: 5, offset: 27048}, + pos: position{line: 839, col: 5, offset: 27318}, label: "line", expr: &actionExpr{ - pos: position{line: 809, col: 5, offset: 26395}, + pos: position{line: 816, col: 5, offset: 26665}, run: (*parser).callonListElementContinuationElement688, expr: &seqExpr{ - pos: position{line: 809, col: 5, offset: 26395}, + pos: position{line: 816, col: 5, offset: 26665}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 809, col: 5, offset: 26395}, + pos: position{line: 816, col: 5, offset: 26665}, expr: ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, &labeledExpr{ - pos: position{line: 810, col: 5, offset: 26468}, + pos: position{line: 817, col: 5, offset: 26738}, label: "content", expr: &actionExpr{ - pos: position{line: 810, col: 14, offset: 26477}, + pos: position{line: 817, col: 14, offset: 26747}, run: (*parser).callonListElementContinuationElement694, expr: &zeroOrMoreExpr{ - pos: position{line: 810, col: 14, offset: 26477}, + pos: position{line: 817, col: 14, offset: 26747}, expr: &charClassMatcher{ - pos: position{line: 810, col: 14, offset: 26477}, + pos: position{line: 817, col: 14, offset: 26747}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -41702,28 +41929,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonListElementContinuationElement698, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -41732,9 +41959,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -41749,35 +41976,35 @@ var g = &grammar{ }, }, &zeroOrOneExpr{ - pos: position{line: 822, col: 5, offset: 26765}, + pos: position{line: 829, col: 5, offset: 27035}, expr: &choiceExpr{ - pos: position{line: 828, col: 29, offset: 26960}, + pos: position{line: 835, col: 29, offset: 27230}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 745, col: 5, offset: 24119}, + pos: position{line: 752, col: 5, offset: 24389}, run: (*parser).callonListElementContinuationElement707, expr: &seqExpr{ - pos: position{line: 745, col: 5, offset: 24119}, + pos: position{line: 752, col: 5, offset: 24389}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 745, col: 5, offset: 24119}, + pos: position{line: 752, col: 5, offset: 24389}, label: "delimiter", expr: &actionExpr{ - pos: position{line: 745, col: 16, offset: 24130}, + pos: position{line: 752, col: 16, offset: 24400}, run: (*parser).callonListElementContinuationElement710, expr: &seqExpr{ - pos: position{line: 745, col: 16, offset: 24130}, + pos: position{line: 752, col: 16, offset: 24400}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 745, col: 16, offset: 24130}, + pos: position{line: 752, col: 16, offset: 24400}, val: "////", ignoreCase: false, want: "\"////\"", }, &zeroOrMoreExpr{ - pos: position{line: 745, col: 23, offset: 24137}, + pos: position{line: 752, col: 23, offset: 24407}, expr: &litMatcher{ - pos: position{line: 745, col: 23, offset: 24137}, + pos: position{line: 752, col: 23, offset: 24407}, val: "/", ignoreCase: false, want: "\"/\"", @@ -41788,12 +42015,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 747, col: 8, offset: 24221}, + pos: position{line: 754, col: 8, offset: 24491}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonListElementContinuationElement716, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -41802,28 +42029,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonListElementContinuationElement719, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -41832,9 +42059,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -41843,9 +42070,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -41855,39 +42082,39 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 840, col: 5, offset: 27201}, + pos: position{line: 847, col: 5, offset: 27471}, run: (*parser).callonListElementContinuationElement728, expr: &seqExpr{ - pos: position{line: 840, col: 5, offset: 27201}, + pos: position{line: 847, col: 5, offset: 27471}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 840, col: 5, offset: 27201}, + pos: position{line: 847, col: 5, offset: 27471}, label: "start", expr: &actionExpr{ - pos: position{line: 752, col: 5, offset: 24367}, + pos: position{line: 759, col: 5, offset: 24637}, run: (*parser).callonListElementContinuationElement731, expr: &seqExpr{ - pos: position{line: 752, col: 5, offset: 24367}, + pos: position{line: 759, col: 5, offset: 24637}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 752, col: 5, offset: 24367}, + pos: position{line: 759, col: 5, offset: 24637}, label: "delimiter", expr: &actionExpr{ - pos: position{line: 752, col: 16, offset: 24378}, + pos: position{line: 759, col: 16, offset: 24648}, run: (*parser).callonListElementContinuationElement734, expr: &seqExpr{ - pos: position{line: 752, col: 16, offset: 24378}, + pos: position{line: 759, col: 16, offset: 24648}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 752, col: 16, offset: 24378}, + pos: position{line: 759, col: 16, offset: 24648}, val: "====", ignoreCase: false, want: "\"====\"", }, &zeroOrMoreExpr{ - pos: position{line: 752, col: 23, offset: 24385}, + pos: position{line: 759, col: 23, offset: 24655}, expr: &litMatcher{ - pos: position{line: 752, col: 23, offset: 24385}, + pos: position{line: 759, col: 23, offset: 24655}, val: "=", ignoreCase: false, want: "\"=\"", @@ -41898,12 +42125,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 754, col: 8, offset: 24469}, + pos: position{line: 761, col: 8, offset: 24739}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonListElementContinuationElement740, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -41912,28 +42139,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonListElementContinuationElement743, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -41942,9 +42169,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -41954,56 +42181,56 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 841, col: 5, offset: 27240}, + pos: position{line: 848, col: 5, offset: 27510}, run: (*parser).callonListElementContinuationElement750, }, &labeledExpr{ - pos: position{line: 844, col: 5, offset: 27332}, + pos: position{line: 851, col: 5, offset: 27602}, label: "content", expr: &zeroOrMoreExpr{ - pos: position{line: 859, col: 4, offset: 27729}, + pos: position{line: 866, col: 4, offset: 27999}, expr: &actionExpr{ - pos: position{line: 859, col: 5, offset: 27730}, + pos: position{line: 866, col: 5, offset: 28000}, run: (*parser).callonListElementContinuationElement753, expr: &seqExpr{ - pos: position{line: 859, col: 5, offset: 27730}, + pos: position{line: 866, col: 5, offset: 28000}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 859, col: 5, offset: 27730}, + pos: position{line: 866, col: 5, offset: 28000}, expr: &choiceExpr{ - pos: position{line: 852, col: 5, offset: 27572}, + pos: position{line: 859, col: 5, offset: 27842}, alternatives: []interface{}{ &seqExpr{ - pos: position{line: 852, col: 5, offset: 27572}, + pos: position{line: 859, col: 5, offset: 27842}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 852, col: 5, offset: 27572}, + pos: position{line: 859, col: 5, offset: 27842}, label: "end", expr: &actionExpr{ - pos: position{line: 752, col: 5, offset: 24367}, + pos: position{line: 759, col: 5, offset: 24637}, run: (*parser).callonListElementContinuationElement759, expr: &seqExpr{ - pos: position{line: 752, col: 5, offset: 24367}, + pos: position{line: 759, col: 5, offset: 24637}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 752, col: 5, offset: 24367}, + pos: position{line: 759, col: 5, offset: 24637}, label: "delimiter", expr: &actionExpr{ - pos: position{line: 752, col: 16, offset: 24378}, + pos: position{line: 759, col: 16, offset: 24648}, run: (*parser).callonListElementContinuationElement762, expr: &seqExpr{ - pos: position{line: 752, col: 16, offset: 24378}, + pos: position{line: 759, col: 16, offset: 24648}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 752, col: 16, offset: 24378}, + pos: position{line: 759, col: 16, offset: 24648}, val: "====", ignoreCase: false, want: "\"====\"", }, &zeroOrMoreExpr{ - pos: position{line: 752, col: 23, offset: 24385}, + pos: position{line: 759, col: 23, offset: 24655}, expr: &litMatcher{ - pos: position{line: 752, col: 23, offset: 24385}, + pos: position{line: 759, col: 23, offset: 24655}, val: "=", ignoreCase: false, want: "\"=\"", @@ -42014,12 +42241,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 754, col: 8, offset: 24469}, + pos: position{line: 761, col: 8, offset: 24739}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonListElementContinuationElement768, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -42028,28 +42255,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonListElementContinuationElement771, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -42058,9 +42285,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -42070,48 +42297,48 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 853, col: 5, offset: 27603}, + pos: position{line: 860, col: 5, offset: 27873}, run: (*parser).callonListElementContinuationElement778, }, }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, }, }, &labeledExpr{ - pos: position{line: 860, col: 5, offset: 27760}, + pos: position{line: 867, col: 5, offset: 28030}, label: "line", expr: &actionExpr{ - pos: position{line: 809, col: 5, offset: 26395}, + pos: position{line: 816, col: 5, offset: 26665}, run: (*parser).callonListElementContinuationElement782, expr: &seqExpr{ - pos: position{line: 809, col: 5, offset: 26395}, + pos: position{line: 816, col: 5, offset: 26665}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 809, col: 5, offset: 26395}, + pos: position{line: 816, col: 5, offset: 26665}, expr: ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, &labeledExpr{ - pos: position{line: 810, col: 5, offset: 26468}, + pos: position{line: 817, col: 5, offset: 26738}, label: "content", expr: &actionExpr{ - pos: position{line: 810, col: 14, offset: 26477}, + pos: position{line: 817, col: 14, offset: 26747}, run: (*parser).callonListElementContinuationElement788, expr: &zeroOrMoreExpr{ - pos: position{line: 810, col: 14, offset: 26477}, + pos: position{line: 817, col: 14, offset: 26747}, expr: &charClassMatcher{ - pos: position{line: 810, col: 14, offset: 26477}, + pos: position{line: 817, col: 14, offset: 26747}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -42121,28 +42348,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonListElementContinuationElement792, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -42151,9 +42378,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -42168,44 +42395,44 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 845, col: 5, offset: 27366}, + pos: position{line: 852, col: 5, offset: 27636}, label: "end", expr: &zeroOrOneExpr{ - pos: position{line: 845, col: 9, offset: 27370}, + pos: position{line: 852, col: 9, offset: 27640}, expr: &choiceExpr{ - pos: position{line: 852, col: 5, offset: 27572}, + pos: position{line: 859, col: 5, offset: 27842}, alternatives: []interface{}{ &seqExpr{ - pos: position{line: 852, col: 5, offset: 27572}, + pos: position{line: 859, col: 5, offset: 27842}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 852, col: 5, offset: 27572}, + pos: position{line: 859, col: 5, offset: 27842}, label: "end", expr: &actionExpr{ - pos: position{line: 752, col: 5, offset: 24367}, + pos: position{line: 759, col: 5, offset: 24637}, run: (*parser).callonListElementContinuationElement804, expr: &seqExpr{ - pos: position{line: 752, col: 5, offset: 24367}, + pos: position{line: 759, col: 5, offset: 24637}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 752, col: 5, offset: 24367}, + pos: position{line: 759, col: 5, offset: 24637}, label: "delimiter", expr: &actionExpr{ - pos: position{line: 752, col: 16, offset: 24378}, + pos: position{line: 759, col: 16, offset: 24648}, run: (*parser).callonListElementContinuationElement807, expr: &seqExpr{ - pos: position{line: 752, col: 16, offset: 24378}, + pos: position{line: 759, col: 16, offset: 24648}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 752, col: 16, offset: 24378}, + pos: position{line: 759, col: 16, offset: 24648}, val: "====", ignoreCase: false, want: "\"====\"", }, &zeroOrMoreExpr{ - pos: position{line: 752, col: 23, offset: 24385}, + pos: position{line: 759, col: 23, offset: 24655}, expr: &litMatcher{ - pos: position{line: 752, col: 23, offset: 24385}, + pos: position{line: 759, col: 23, offset: 24655}, val: "=", ignoreCase: false, want: "\"=\"", @@ -42216,12 +42443,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 754, col: 8, offset: 24469}, + pos: position{line: 761, col: 8, offset: 24739}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonListElementContinuationElement813, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -42230,28 +42457,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonListElementContinuationElement816, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -42260,9 +42487,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -42272,15 +42499,15 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 853, col: 5, offset: 27603}, + pos: position{line: 860, col: 5, offset: 27873}, run: (*parser).callonListElementContinuationElement823, }, }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -42291,36 +42518,36 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 952, col: 5, offset: 30052}, + pos: position{line: 959, col: 5, offset: 30322}, run: (*parser).callonListElementContinuationElement826, expr: &seqExpr{ - pos: position{line: 952, col: 5, offset: 30052}, + pos: position{line: 959, col: 5, offset: 30322}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 952, col: 5, offset: 30052}, + pos: position{line: 959, col: 5, offset: 30322}, label: "delimiter", expr: &actionExpr{ - pos: position{line: 765, col: 26, offset: 24855}, + pos: position{line: 772, col: 26, offset: 25125}, run: (*parser).callonListElementContinuationElement829, expr: &seqExpr{ - pos: position{line: 765, col: 26, offset: 24855}, + pos: position{line: 772, col: 26, offset: 25125}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 765, col: 26, offset: 24855}, + pos: position{line: 772, col: 26, offset: 25125}, val: "```", ignoreCase: false, want: "\"```\"", }, &labeledExpr{ - pos: position{line: 765, col: 32, offset: 24861}, + pos: position{line: 772, col: 32, offset: 25131}, label: "language", expr: &actionExpr{ - pos: position{line: 769, col: 13, offset: 24991}, + pos: position{line: 776, col: 13, offset: 25261}, run: (*parser).callonListElementContinuationElement833, expr: &oneOrMoreExpr{ - pos: position{line: 769, col: 14, offset: 24992}, + pos: position{line: 776, col: 14, offset: 25262}, expr: &charClassMatcher{ - pos: position{line: 769, col: 14, offset: 24992}, + pos: position{line: 776, col: 14, offset: 25262}, val: "[^\\r\\n` ]", chars: []rune{'\r', '\n', '`', ' '}, ignoreCase: false, @@ -42330,12 +42557,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 765, col: 52, offset: 24881}, + pos: position{line: 772, col: 52, offset: 25151}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonListElementContinuationElement837, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -42344,28 +42571,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonListElementContinuationElement840, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -42374,9 +42601,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -42386,34 +42613,34 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 953, col: 5, offset: 30098}, + pos: position{line: 960, col: 5, offset: 30368}, label: "content", expr: &zeroOrMoreExpr{ - pos: position{line: 966, col: 5, offset: 30571}, + pos: position{line: 973, col: 5, offset: 30841}, expr: &actionExpr{ - pos: position{line: 966, col: 6, offset: 30572}, + pos: position{line: 973, col: 6, offset: 30842}, run: (*parser).callonListElementContinuationElement849, expr: &seqExpr{ - pos: position{line: 966, col: 6, offset: 30572}, + pos: position{line: 973, col: 6, offset: 30842}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 966, col: 6, offset: 30572}, + pos: position{line: 973, col: 6, offset: 30842}, expr: &seqExpr{ - pos: position{line: 963, col: 34, offset: 30519}, + pos: position{line: 970, col: 34, offset: 30789}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 963, col: 34, offset: 30519}, + pos: position{line: 970, col: 34, offset: 30789}, val: "```", ignoreCase: false, want: "\"```\"", }, &zeroOrMoreExpr{ - pos: position{line: 963, col: 40, offset: 30525}, + pos: position{line: 970, col: 40, offset: 30795}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonListElementContinuationElement855, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -42422,28 +42649,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonListElementContinuationElement858, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -42452,9 +42679,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -42463,33 +42690,33 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 967, col: 5, offset: 30607}, + pos: position{line: 974, col: 5, offset: 30877}, label: "line", expr: &actionExpr{ - pos: position{line: 809, col: 5, offset: 26395}, + pos: position{line: 816, col: 5, offset: 26665}, run: (*parser).callonListElementContinuationElement866, expr: &seqExpr{ - pos: position{line: 809, col: 5, offset: 26395}, + pos: position{line: 816, col: 5, offset: 26665}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 809, col: 5, offset: 26395}, + pos: position{line: 816, col: 5, offset: 26665}, expr: ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, &labeledExpr{ - pos: position{line: 810, col: 5, offset: 26468}, + pos: position{line: 817, col: 5, offset: 26738}, label: "content", expr: &actionExpr{ - pos: position{line: 810, col: 14, offset: 26477}, + pos: position{line: 817, col: 14, offset: 26747}, run: (*parser).callonListElementContinuationElement872, expr: &zeroOrMoreExpr{ - pos: position{line: 810, col: 14, offset: 26477}, + pos: position{line: 817, col: 14, offset: 26747}, expr: &charClassMatcher{ - pos: position{line: 810, col: 14, offset: 26477}, + pos: position{line: 817, col: 14, offset: 26747}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -42499,28 +42726,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonListElementContinuationElement876, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -42529,9 +42756,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -42546,23 +42773,23 @@ var g = &grammar{ }, }, &zeroOrOneExpr{ - pos: position{line: 954, col: 5, offset: 30137}, + pos: position{line: 961, col: 5, offset: 30407}, expr: &seqExpr{ - pos: position{line: 963, col: 34, offset: 30519}, + pos: position{line: 970, col: 34, offset: 30789}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 963, col: 34, offset: 30519}, + pos: position{line: 970, col: 34, offset: 30789}, val: "```", ignoreCase: false, want: "\"```\"", }, &zeroOrMoreExpr{ - pos: position{line: 963, col: 40, offset: 30525}, + pos: position{line: 970, col: 40, offset: 30795}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonListElementContinuationElement887, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -42571,28 +42798,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonListElementContinuationElement890, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -42601,9 +42828,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -42615,39 +42842,39 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 868, col: 5, offset: 27913}, + pos: position{line: 875, col: 5, offset: 28183}, run: (*parser).callonListElementContinuationElement897, expr: &seqExpr{ - pos: position{line: 868, col: 5, offset: 27913}, + pos: position{line: 875, col: 5, offset: 28183}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 868, col: 5, offset: 27913}, + pos: position{line: 875, col: 5, offset: 28183}, label: "start", expr: &actionExpr{ - pos: position{line: 759, col: 5, offset: 24614}, + pos: position{line: 766, col: 5, offset: 24884}, run: (*parser).callonListElementContinuationElement900, expr: &seqExpr{ - pos: position{line: 759, col: 5, offset: 24614}, + pos: position{line: 766, col: 5, offset: 24884}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 759, col: 5, offset: 24614}, + pos: position{line: 766, col: 5, offset: 24884}, label: "delimiter", expr: &actionExpr{ - pos: position{line: 759, col: 16, offset: 24625}, + pos: position{line: 766, col: 16, offset: 24895}, run: (*parser).callonListElementContinuationElement903, expr: &seqExpr{ - pos: position{line: 759, col: 16, offset: 24625}, + pos: position{line: 766, col: 16, offset: 24895}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 759, col: 16, offset: 24625}, + pos: position{line: 766, col: 16, offset: 24895}, val: "```", ignoreCase: false, want: "\"```\"", }, &zeroOrMoreExpr{ - pos: position{line: 759, col: 22, offset: 24631}, + pos: position{line: 766, col: 22, offset: 24901}, expr: &litMatcher{ - pos: position{line: 759, col: 22, offset: 24631}, + pos: position{line: 766, col: 22, offset: 24901}, val: "`", ignoreCase: false, want: "\"`\"", @@ -42658,12 +42885,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 761, col: 8, offset: 24715}, + pos: position{line: 768, col: 8, offset: 24985}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonListElementContinuationElement909, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -42672,28 +42899,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonListElementContinuationElement912, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -42702,9 +42929,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -42714,56 +42941,56 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 869, col: 5, offset: 27951}, + pos: position{line: 876, col: 5, offset: 28221}, run: (*parser).callonListElementContinuationElement919, }, &labeledExpr{ - pos: position{line: 872, col: 5, offset: 28043}, + pos: position{line: 879, col: 5, offset: 28313}, label: "content", expr: &zeroOrMoreExpr{ - pos: position{line: 887, col: 5, offset: 28433}, + pos: position{line: 894, col: 5, offset: 28703}, expr: &actionExpr{ - pos: position{line: 887, col: 6, offset: 28434}, + pos: position{line: 894, col: 6, offset: 28704}, run: (*parser).callonListElementContinuationElement922, expr: &seqExpr{ - pos: position{line: 887, col: 6, offset: 28434}, + pos: position{line: 894, col: 6, offset: 28704}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 887, col: 6, offset: 28434}, + pos: position{line: 894, col: 6, offset: 28704}, expr: &choiceExpr{ - pos: position{line: 880, col: 5, offset: 28277}, + pos: position{line: 887, col: 5, offset: 28547}, alternatives: []interface{}{ &seqExpr{ - pos: position{line: 880, col: 5, offset: 28277}, + pos: position{line: 887, col: 5, offset: 28547}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 880, col: 5, offset: 28277}, + pos: position{line: 887, col: 5, offset: 28547}, label: "end", expr: &actionExpr{ - pos: position{line: 759, col: 5, offset: 24614}, + pos: position{line: 766, col: 5, offset: 24884}, run: (*parser).callonListElementContinuationElement928, expr: &seqExpr{ - pos: position{line: 759, col: 5, offset: 24614}, + pos: position{line: 766, col: 5, offset: 24884}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 759, col: 5, offset: 24614}, + pos: position{line: 766, col: 5, offset: 24884}, label: "delimiter", expr: &actionExpr{ - pos: position{line: 759, col: 16, offset: 24625}, + pos: position{line: 766, col: 16, offset: 24895}, run: (*parser).callonListElementContinuationElement931, expr: &seqExpr{ - pos: position{line: 759, col: 16, offset: 24625}, + pos: position{line: 766, col: 16, offset: 24895}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 759, col: 16, offset: 24625}, + pos: position{line: 766, col: 16, offset: 24895}, val: "```", ignoreCase: false, want: "\"```\"", }, &zeroOrMoreExpr{ - pos: position{line: 759, col: 22, offset: 24631}, + pos: position{line: 766, col: 22, offset: 24901}, expr: &litMatcher{ - pos: position{line: 759, col: 22, offset: 24631}, + pos: position{line: 766, col: 22, offset: 24901}, val: "`", ignoreCase: false, want: "\"`\"", @@ -42774,12 +43001,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 761, col: 8, offset: 24715}, + pos: position{line: 768, col: 8, offset: 24985}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonListElementContinuationElement937, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -42788,28 +43015,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonListElementContinuationElement940, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -42818,9 +43045,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -42830,48 +43057,48 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 881, col: 5, offset: 28307}, + pos: position{line: 888, col: 5, offset: 28577}, run: (*parser).callonListElementContinuationElement947, }, }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, }, }, &labeledExpr{ - pos: position{line: 888, col: 5, offset: 28463}, + pos: position{line: 895, col: 5, offset: 28733}, label: "line", expr: &actionExpr{ - pos: position{line: 809, col: 5, offset: 26395}, + pos: position{line: 816, col: 5, offset: 26665}, run: (*parser).callonListElementContinuationElement951, expr: &seqExpr{ - pos: position{line: 809, col: 5, offset: 26395}, + pos: position{line: 816, col: 5, offset: 26665}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 809, col: 5, offset: 26395}, + pos: position{line: 816, col: 5, offset: 26665}, expr: ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, &labeledExpr{ - pos: position{line: 810, col: 5, offset: 26468}, + pos: position{line: 817, col: 5, offset: 26738}, label: "content", expr: &actionExpr{ - pos: position{line: 810, col: 14, offset: 26477}, + pos: position{line: 817, col: 14, offset: 26747}, run: (*parser).callonListElementContinuationElement957, expr: &zeroOrMoreExpr{ - pos: position{line: 810, col: 14, offset: 26477}, + pos: position{line: 817, col: 14, offset: 26747}, expr: &charClassMatcher{ - pos: position{line: 810, col: 14, offset: 26477}, + pos: position{line: 817, col: 14, offset: 26747}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -42881,28 +43108,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonListElementContinuationElement961, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -42911,9 +43138,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -42928,44 +43155,44 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 873, col: 5, offset: 28076}, + pos: position{line: 880, col: 5, offset: 28346}, label: "end", expr: &zeroOrOneExpr{ - pos: position{line: 873, col: 9, offset: 28080}, + pos: position{line: 880, col: 9, offset: 28350}, expr: &choiceExpr{ - pos: position{line: 880, col: 5, offset: 28277}, + pos: position{line: 887, col: 5, offset: 28547}, alternatives: []interface{}{ &seqExpr{ - pos: position{line: 880, col: 5, offset: 28277}, + pos: position{line: 887, col: 5, offset: 28547}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 880, col: 5, offset: 28277}, + pos: position{line: 887, col: 5, offset: 28547}, label: "end", expr: &actionExpr{ - pos: position{line: 759, col: 5, offset: 24614}, + pos: position{line: 766, col: 5, offset: 24884}, run: (*parser).callonListElementContinuationElement973, expr: &seqExpr{ - pos: position{line: 759, col: 5, offset: 24614}, + pos: position{line: 766, col: 5, offset: 24884}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 759, col: 5, offset: 24614}, + pos: position{line: 766, col: 5, offset: 24884}, label: "delimiter", expr: &actionExpr{ - pos: position{line: 759, col: 16, offset: 24625}, + pos: position{line: 766, col: 16, offset: 24895}, run: (*parser).callonListElementContinuationElement976, expr: &seqExpr{ - pos: position{line: 759, col: 16, offset: 24625}, + pos: position{line: 766, col: 16, offset: 24895}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 759, col: 16, offset: 24625}, + pos: position{line: 766, col: 16, offset: 24895}, val: "```", ignoreCase: false, want: "\"```\"", }, &zeroOrMoreExpr{ - pos: position{line: 759, col: 22, offset: 24631}, + pos: position{line: 766, col: 22, offset: 24901}, expr: &litMatcher{ - pos: position{line: 759, col: 22, offset: 24631}, + pos: position{line: 766, col: 22, offset: 24901}, val: "`", ignoreCase: false, want: "\"`\"", @@ -42976,12 +43203,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 761, col: 8, offset: 24715}, + pos: position{line: 768, col: 8, offset: 24985}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonListElementContinuationElement982, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -42990,28 +43217,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonListElementContinuationElement985, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -43020,9 +43247,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -43032,15 +43259,15 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 881, col: 5, offset: 28307}, + pos: position{line: 888, col: 5, offset: 28577}, run: (*parser).callonListElementContinuationElement992, }, }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -43051,39 +43278,39 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 896, col: 5, offset: 28618}, + pos: position{line: 903, col: 5, offset: 28888}, run: (*parser).callonListElementContinuationElement995, expr: &seqExpr{ - pos: position{line: 896, col: 5, offset: 28618}, + pos: position{line: 903, col: 5, offset: 28888}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 896, col: 5, offset: 28618}, + pos: position{line: 903, col: 5, offset: 28888}, label: "start", expr: &actionExpr{ - pos: position{line: 774, col: 5, offset: 25151}, + pos: position{line: 781, col: 5, offset: 25421}, run: (*parser).callonListElementContinuationElement998, expr: &seqExpr{ - pos: position{line: 774, col: 5, offset: 25151}, + pos: position{line: 781, col: 5, offset: 25421}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 774, col: 5, offset: 25151}, + pos: position{line: 781, col: 5, offset: 25421}, label: "delimiter", expr: &actionExpr{ - pos: position{line: 774, col: 16, offset: 25162}, + pos: position{line: 781, col: 16, offset: 25432}, run: (*parser).callonListElementContinuationElement1001, expr: &seqExpr{ - pos: position{line: 774, col: 16, offset: 25162}, + pos: position{line: 781, col: 16, offset: 25432}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 774, col: 16, offset: 25162}, + pos: position{line: 781, col: 16, offset: 25432}, val: "----", ignoreCase: false, want: "\"----\"", }, &zeroOrMoreExpr{ - pos: position{line: 774, col: 23, offset: 25169}, + pos: position{line: 781, col: 23, offset: 25439}, expr: &litMatcher{ - pos: position{line: 774, col: 23, offset: 25169}, + pos: position{line: 781, col: 23, offset: 25439}, val: "-", ignoreCase: false, want: "\"-\"", @@ -43094,12 +43321,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 776, col: 8, offset: 25253}, + pos: position{line: 783, col: 8, offset: 25523}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonListElementContinuationElement1007, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -43108,28 +43335,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonListElementContinuationElement1010, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -43138,9 +43365,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -43150,56 +43377,56 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 897, col: 5, offset: 28657}, + pos: position{line: 904, col: 5, offset: 28927}, run: (*parser).callonListElementContinuationElement1017, }, &labeledExpr{ - pos: position{line: 900, col: 5, offset: 28749}, + pos: position{line: 907, col: 5, offset: 29019}, label: "content", expr: &zeroOrMoreExpr{ - pos: position{line: 915, col: 5, offset: 29147}, + pos: position{line: 922, col: 5, offset: 29417}, expr: &actionExpr{ - pos: position{line: 915, col: 6, offset: 29148}, + pos: position{line: 922, col: 6, offset: 29418}, run: (*parser).callonListElementContinuationElement1020, expr: &seqExpr{ - pos: position{line: 915, col: 6, offset: 29148}, + pos: position{line: 922, col: 6, offset: 29418}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 915, col: 6, offset: 29148}, + pos: position{line: 922, col: 6, offset: 29418}, expr: &choiceExpr{ - pos: position{line: 908, col: 5, offset: 28989}, + pos: position{line: 915, col: 5, offset: 29259}, alternatives: []interface{}{ &seqExpr{ - pos: position{line: 908, col: 5, offset: 28989}, + pos: position{line: 915, col: 5, offset: 29259}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 908, col: 5, offset: 28989}, + pos: position{line: 915, col: 5, offset: 29259}, label: "end", expr: &actionExpr{ - pos: position{line: 774, col: 5, offset: 25151}, + pos: position{line: 781, col: 5, offset: 25421}, run: (*parser).callonListElementContinuationElement1026, expr: &seqExpr{ - pos: position{line: 774, col: 5, offset: 25151}, + pos: position{line: 781, col: 5, offset: 25421}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 774, col: 5, offset: 25151}, + pos: position{line: 781, col: 5, offset: 25421}, label: "delimiter", expr: &actionExpr{ - pos: position{line: 774, col: 16, offset: 25162}, + pos: position{line: 781, col: 16, offset: 25432}, run: (*parser).callonListElementContinuationElement1029, expr: &seqExpr{ - pos: position{line: 774, col: 16, offset: 25162}, + pos: position{line: 781, col: 16, offset: 25432}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 774, col: 16, offset: 25162}, + pos: position{line: 781, col: 16, offset: 25432}, val: "----", ignoreCase: false, want: "\"----\"", }, &zeroOrMoreExpr{ - pos: position{line: 774, col: 23, offset: 25169}, + pos: position{line: 781, col: 23, offset: 25439}, expr: &litMatcher{ - pos: position{line: 774, col: 23, offset: 25169}, + pos: position{line: 781, col: 23, offset: 25439}, val: "-", ignoreCase: false, want: "\"-\"", @@ -43210,12 +43437,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 776, col: 8, offset: 25253}, + pos: position{line: 783, col: 8, offset: 25523}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonListElementContinuationElement1035, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -43224,28 +43451,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonListElementContinuationElement1038, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -43254,9 +43481,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -43266,48 +43493,48 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 909, col: 5, offset: 29020}, + pos: position{line: 916, col: 5, offset: 29290}, run: (*parser).callonListElementContinuationElement1045, }, }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, }, }, &labeledExpr{ - pos: position{line: 916, col: 5, offset: 29178}, + pos: position{line: 923, col: 5, offset: 29448}, label: "line", expr: &actionExpr{ - pos: position{line: 809, col: 5, offset: 26395}, + pos: position{line: 816, col: 5, offset: 26665}, run: (*parser).callonListElementContinuationElement1049, expr: &seqExpr{ - pos: position{line: 809, col: 5, offset: 26395}, + pos: position{line: 816, col: 5, offset: 26665}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 809, col: 5, offset: 26395}, + pos: position{line: 816, col: 5, offset: 26665}, expr: ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, &labeledExpr{ - pos: position{line: 810, col: 5, offset: 26468}, + pos: position{line: 817, col: 5, offset: 26738}, label: "content", expr: &actionExpr{ - pos: position{line: 810, col: 14, offset: 26477}, + pos: position{line: 817, col: 14, offset: 26747}, run: (*parser).callonListElementContinuationElement1055, expr: &zeroOrMoreExpr{ - pos: position{line: 810, col: 14, offset: 26477}, + pos: position{line: 817, col: 14, offset: 26747}, expr: &charClassMatcher{ - pos: position{line: 810, col: 14, offset: 26477}, + pos: position{line: 817, col: 14, offset: 26747}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -43317,28 +43544,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonListElementContinuationElement1059, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -43347,9 +43574,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -43364,44 +43591,44 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 901, col: 5, offset: 28783}, + pos: position{line: 908, col: 5, offset: 29053}, label: "end", expr: &zeroOrOneExpr{ - pos: position{line: 901, col: 9, offset: 28787}, + pos: position{line: 908, col: 9, offset: 29057}, expr: &choiceExpr{ - pos: position{line: 908, col: 5, offset: 28989}, + pos: position{line: 915, col: 5, offset: 29259}, alternatives: []interface{}{ &seqExpr{ - pos: position{line: 908, col: 5, offset: 28989}, + pos: position{line: 915, col: 5, offset: 29259}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 908, col: 5, offset: 28989}, + pos: position{line: 915, col: 5, offset: 29259}, label: "end", expr: &actionExpr{ - pos: position{line: 774, col: 5, offset: 25151}, + pos: position{line: 781, col: 5, offset: 25421}, run: (*parser).callonListElementContinuationElement1071, expr: &seqExpr{ - pos: position{line: 774, col: 5, offset: 25151}, + pos: position{line: 781, col: 5, offset: 25421}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 774, col: 5, offset: 25151}, + pos: position{line: 781, col: 5, offset: 25421}, label: "delimiter", expr: &actionExpr{ - pos: position{line: 774, col: 16, offset: 25162}, + pos: position{line: 781, col: 16, offset: 25432}, run: (*parser).callonListElementContinuationElement1074, expr: &seqExpr{ - pos: position{line: 774, col: 16, offset: 25162}, + pos: position{line: 781, col: 16, offset: 25432}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 774, col: 16, offset: 25162}, + pos: position{line: 781, col: 16, offset: 25432}, val: "----", ignoreCase: false, want: "\"----\"", }, &zeroOrMoreExpr{ - pos: position{line: 774, col: 23, offset: 25169}, + pos: position{line: 781, col: 23, offset: 25439}, expr: &litMatcher{ - pos: position{line: 774, col: 23, offset: 25169}, + pos: position{line: 781, col: 23, offset: 25439}, val: "-", ignoreCase: false, want: "\"-\"", @@ -43412,12 +43639,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 776, col: 8, offset: 25253}, + pos: position{line: 783, col: 8, offset: 25523}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonListElementContinuationElement1080, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -43426,28 +43653,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonListElementContinuationElement1083, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -43456,9 +43683,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -43468,15 +43695,15 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 909, col: 5, offset: 29020}, + pos: position{line: 916, col: 5, offset: 29290}, run: (*parser).callonListElementContinuationElement1090, }, }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -43487,39 +43714,39 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 924, col: 5, offset: 29333}, + pos: position{line: 931, col: 5, offset: 29603}, run: (*parser).callonListElementContinuationElement1093, expr: &seqExpr{ - pos: position{line: 924, col: 5, offset: 29333}, + pos: position{line: 931, col: 5, offset: 29603}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 924, col: 5, offset: 29333}, + pos: position{line: 931, col: 5, offset: 29603}, label: "start", expr: &actionExpr{ - pos: position{line: 781, col: 5, offset: 25399}, + pos: position{line: 788, col: 5, offset: 25669}, run: (*parser).callonListElementContinuationElement1096, expr: &seqExpr{ - pos: position{line: 781, col: 5, offset: 25399}, + pos: position{line: 788, col: 5, offset: 25669}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 781, col: 5, offset: 25399}, + pos: position{line: 788, col: 5, offset: 25669}, label: "delimiter", expr: &actionExpr{ - pos: position{line: 781, col: 16, offset: 25410}, + pos: position{line: 788, col: 16, offset: 25680}, run: (*parser).callonListElementContinuationElement1099, expr: &seqExpr{ - pos: position{line: 781, col: 16, offset: 25410}, + pos: position{line: 788, col: 16, offset: 25680}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 781, col: 16, offset: 25410}, + pos: position{line: 788, col: 16, offset: 25680}, val: "....", ignoreCase: false, want: "\"....\"", }, &zeroOrMoreExpr{ - pos: position{line: 781, col: 23, offset: 25417}, + pos: position{line: 788, col: 23, offset: 25687}, expr: &litMatcher{ - pos: position{line: 781, col: 23, offset: 25417}, + pos: position{line: 788, col: 23, offset: 25687}, val: ".", ignoreCase: false, want: "\".\"", @@ -43530,12 +43757,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 783, col: 8, offset: 25501}, + pos: position{line: 790, col: 8, offset: 25771}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonListElementContinuationElement1105, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -43544,28 +43771,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonListElementContinuationElement1108, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -43574,9 +43801,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -43586,56 +43813,56 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 925, col: 5, offset: 29372}, + pos: position{line: 932, col: 5, offset: 29642}, run: (*parser).callonListElementContinuationElement1115, }, &labeledExpr{ - pos: position{line: 928, col: 5, offset: 29464}, + pos: position{line: 935, col: 5, offset: 29734}, label: "content", expr: &zeroOrMoreExpr{ - pos: position{line: 943, col: 5, offset: 29862}, + pos: position{line: 950, col: 5, offset: 30132}, expr: &actionExpr{ - pos: position{line: 943, col: 6, offset: 29863}, + pos: position{line: 950, col: 6, offset: 30133}, run: (*parser).callonListElementContinuationElement1118, expr: &seqExpr{ - pos: position{line: 943, col: 6, offset: 29863}, + pos: position{line: 950, col: 6, offset: 30133}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 943, col: 6, offset: 29863}, + pos: position{line: 950, col: 6, offset: 30133}, expr: &choiceExpr{ - pos: position{line: 936, col: 5, offset: 29704}, + pos: position{line: 943, col: 5, offset: 29974}, alternatives: []interface{}{ &seqExpr{ - pos: position{line: 936, col: 5, offset: 29704}, + pos: position{line: 943, col: 5, offset: 29974}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 936, col: 5, offset: 29704}, + pos: position{line: 943, col: 5, offset: 29974}, label: "end", expr: &actionExpr{ - pos: position{line: 781, col: 5, offset: 25399}, + pos: position{line: 788, col: 5, offset: 25669}, run: (*parser).callonListElementContinuationElement1124, expr: &seqExpr{ - pos: position{line: 781, col: 5, offset: 25399}, + pos: position{line: 788, col: 5, offset: 25669}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 781, col: 5, offset: 25399}, + pos: position{line: 788, col: 5, offset: 25669}, label: "delimiter", expr: &actionExpr{ - pos: position{line: 781, col: 16, offset: 25410}, + pos: position{line: 788, col: 16, offset: 25680}, run: (*parser).callonListElementContinuationElement1127, expr: &seqExpr{ - pos: position{line: 781, col: 16, offset: 25410}, + pos: position{line: 788, col: 16, offset: 25680}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 781, col: 16, offset: 25410}, + pos: position{line: 788, col: 16, offset: 25680}, val: "....", ignoreCase: false, want: "\"....\"", }, &zeroOrMoreExpr{ - pos: position{line: 781, col: 23, offset: 25417}, + pos: position{line: 788, col: 23, offset: 25687}, expr: &litMatcher{ - pos: position{line: 781, col: 23, offset: 25417}, + pos: position{line: 788, col: 23, offset: 25687}, val: ".", ignoreCase: false, want: "\".\"", @@ -43646,12 +43873,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 783, col: 8, offset: 25501}, + pos: position{line: 790, col: 8, offset: 25771}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonListElementContinuationElement1133, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -43660,28 +43887,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonListElementContinuationElement1136, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -43690,9 +43917,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -43702,48 +43929,48 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 937, col: 5, offset: 29735}, + pos: position{line: 944, col: 5, offset: 30005}, run: (*parser).callonListElementContinuationElement1143, }, }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, }, }, &labeledExpr{ - pos: position{line: 944, col: 5, offset: 29893}, + pos: position{line: 951, col: 5, offset: 30163}, label: "line", expr: &actionExpr{ - pos: position{line: 809, col: 5, offset: 26395}, + pos: position{line: 816, col: 5, offset: 26665}, run: (*parser).callonListElementContinuationElement1147, expr: &seqExpr{ - pos: position{line: 809, col: 5, offset: 26395}, + pos: position{line: 816, col: 5, offset: 26665}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 809, col: 5, offset: 26395}, + pos: position{line: 816, col: 5, offset: 26665}, expr: ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, &labeledExpr{ - pos: position{line: 810, col: 5, offset: 26468}, + pos: position{line: 817, col: 5, offset: 26738}, label: "content", expr: &actionExpr{ - pos: position{line: 810, col: 14, offset: 26477}, + pos: position{line: 817, col: 14, offset: 26747}, run: (*parser).callonListElementContinuationElement1153, expr: &zeroOrMoreExpr{ - pos: position{line: 810, col: 14, offset: 26477}, + pos: position{line: 817, col: 14, offset: 26747}, expr: &charClassMatcher{ - pos: position{line: 810, col: 14, offset: 26477}, + pos: position{line: 817, col: 14, offset: 26747}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -43753,28 +43980,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonListElementContinuationElement1157, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -43783,9 +44010,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -43800,44 +44027,44 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 929, col: 5, offset: 29498}, + pos: position{line: 936, col: 5, offset: 29768}, label: "end", expr: &zeroOrOneExpr{ - pos: position{line: 929, col: 9, offset: 29502}, + pos: position{line: 936, col: 9, offset: 29772}, expr: &choiceExpr{ - pos: position{line: 936, col: 5, offset: 29704}, + pos: position{line: 943, col: 5, offset: 29974}, alternatives: []interface{}{ &seqExpr{ - pos: position{line: 936, col: 5, offset: 29704}, + pos: position{line: 943, col: 5, offset: 29974}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 936, col: 5, offset: 29704}, + pos: position{line: 943, col: 5, offset: 29974}, label: "end", expr: &actionExpr{ - pos: position{line: 781, col: 5, offset: 25399}, + pos: position{line: 788, col: 5, offset: 25669}, run: (*parser).callonListElementContinuationElement1169, expr: &seqExpr{ - pos: position{line: 781, col: 5, offset: 25399}, + pos: position{line: 788, col: 5, offset: 25669}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 781, col: 5, offset: 25399}, + pos: position{line: 788, col: 5, offset: 25669}, label: "delimiter", expr: &actionExpr{ - pos: position{line: 781, col: 16, offset: 25410}, + pos: position{line: 788, col: 16, offset: 25680}, run: (*parser).callonListElementContinuationElement1172, expr: &seqExpr{ - pos: position{line: 781, col: 16, offset: 25410}, + pos: position{line: 788, col: 16, offset: 25680}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 781, col: 16, offset: 25410}, + pos: position{line: 788, col: 16, offset: 25680}, val: "....", ignoreCase: false, want: "\"....\"", }, &zeroOrMoreExpr{ - pos: position{line: 781, col: 23, offset: 25417}, + pos: position{line: 788, col: 23, offset: 25687}, expr: &litMatcher{ - pos: position{line: 781, col: 23, offset: 25417}, + pos: position{line: 788, col: 23, offset: 25687}, val: ".", ignoreCase: false, want: "\".\"", @@ -43848,12 +44075,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 783, col: 8, offset: 25501}, + pos: position{line: 790, col: 8, offset: 25771}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonListElementContinuationElement1178, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -43862,28 +44089,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonListElementContinuationElement1181, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -43892,9 +44119,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -43904,15 +44131,15 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 937, col: 5, offset: 29735}, + pos: position{line: 944, col: 5, offset: 30005}, run: (*parser).callonListElementContinuationElement1188, }, }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -43923,44 +44150,44 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 975, col: 5, offset: 30776}, + pos: position{line: 982, col: 5, offset: 31046}, run: (*parser).callonListElementContinuationElement1191, expr: &seqExpr{ - pos: position{line: 975, col: 5, offset: 30776}, + pos: position{line: 982, col: 5, offset: 31046}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 975, col: 5, offset: 30776}, + pos: position{line: 982, col: 5, offset: 31046}, label: "firstLine", expr: &actionExpr{ - pos: position{line: 982, col: 5, offset: 31035}, + pos: position{line: 989, col: 5, offset: 31305}, run: (*parser).callonListElementContinuationElement1194, expr: &seqExpr{ - pos: position{line: 982, col: 5, offset: 31035}, + pos: position{line: 989, col: 5, offset: 31305}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 982, col: 5, offset: 31035}, + pos: position{line: 989, col: 5, offset: 31305}, expr: &actionExpr{ - pos: position{line: 683, col: 14, offset: 22042}, + pos: position{line: 690, col: 14, offset: 22312}, run: (*parser).callonListElementContinuationElement1197, expr: &seqExpr{ - pos: position{line: 683, col: 14, offset: 22042}, + pos: position{line: 690, col: 14, offset: 22312}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 683, col: 14, offset: 22042}, + pos: position{line: 690, col: 14, offset: 22312}, expr: ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, &zeroOrMoreExpr{ - pos: position{line: 683, col: 19, offset: 22047}, + pos: position{line: 690, col: 19, offset: 22317}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonListElementContinuationElement1203, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -43969,28 +44196,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonListElementContinuationElement1206, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -43999,9 +44226,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -44011,21 +44238,21 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 983, col: 5, offset: 31050}, + pos: position{line: 990, col: 5, offset: 31320}, val: "> ", ignoreCase: false, want: "\"> \"", }, &labeledExpr{ - pos: position{line: 984, col: 5, offset: 31060}, + pos: position{line: 991, col: 5, offset: 31330}, label: "content", expr: &actionExpr{ - pos: position{line: 984, col: 14, offset: 31069}, + pos: position{line: 991, col: 14, offset: 31339}, run: (*parser).callonListElementContinuationElement1215, expr: &oneOrMoreExpr{ - pos: position{line: 984, col: 15, offset: 31070}, + pos: position{line: 991, col: 15, offset: 31340}, expr: &charClassMatcher{ - pos: position{line: 984, col: 15, offset: 31070}, + pos: position{line: 991, col: 15, offset: 31340}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -44035,28 +44262,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonListElementContinuationElement1219, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -44065,9 +44292,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -44077,43 +44304,43 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 976, col: 5, offset: 30813}, + pos: position{line: 983, col: 5, offset: 31083}, label: "otherLines", expr: &zeroOrMoreExpr{ - pos: position{line: 976, col: 16, offset: 30824}, + pos: position{line: 983, col: 16, offset: 31094}, expr: &choiceExpr{ - pos: position{line: 976, col: 17, offset: 30825}, + pos: position{line: 983, col: 17, offset: 31095}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 982, col: 5, offset: 31035}, + pos: position{line: 989, col: 5, offset: 31305}, run: (*parser).callonListElementContinuationElement1229, expr: &seqExpr{ - pos: position{line: 982, col: 5, offset: 31035}, + pos: position{line: 989, col: 5, offset: 31305}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 982, col: 5, offset: 31035}, + pos: position{line: 989, col: 5, offset: 31305}, expr: &actionExpr{ - pos: position{line: 683, col: 14, offset: 22042}, + pos: position{line: 690, col: 14, offset: 22312}, run: (*parser).callonListElementContinuationElement1232, expr: &seqExpr{ - pos: position{line: 683, col: 14, offset: 22042}, + pos: position{line: 690, col: 14, offset: 22312}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 683, col: 14, offset: 22042}, + pos: position{line: 690, col: 14, offset: 22312}, expr: ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, &zeroOrMoreExpr{ - pos: position{line: 683, col: 19, offset: 22047}, + pos: position{line: 690, col: 19, offset: 22317}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonListElementContinuationElement1238, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -44122,28 +44349,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonListElementContinuationElement1241, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -44152,9 +44379,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -44164,21 +44391,21 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 983, col: 5, offset: 31050}, + pos: position{line: 990, col: 5, offset: 31320}, val: "> ", ignoreCase: false, want: "\"> \"", }, &labeledExpr{ - pos: position{line: 984, col: 5, offset: 31060}, + pos: position{line: 991, col: 5, offset: 31330}, label: "content", expr: &actionExpr{ - pos: position{line: 984, col: 14, offset: 31069}, + pos: position{line: 991, col: 14, offset: 31339}, run: (*parser).callonListElementContinuationElement1250, expr: &oneOrMoreExpr{ - pos: position{line: 984, col: 15, offset: 31070}, + pos: position{line: 991, col: 15, offset: 31340}, expr: &charClassMatcher{ - pos: position{line: 984, col: 15, offset: 31070}, + pos: position{line: 991, col: 15, offset: 31340}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -44188,28 +44415,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonListElementContinuationElement1254, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -44218,9 +44445,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -44229,21 +44456,21 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1850, col: 5, offset: 60767}, + pos: position{line: 1857, col: 5, offset: 61022}, run: (*parser).callonListElementContinuationElement1261, expr: &seqExpr{ - pos: position{line: 1850, col: 5, offset: 60767}, + pos: position{line: 1857, col: 5, offset: 61022}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1850, col: 5, offset: 60767}, + pos: position{line: 1857, col: 5, offset: 61022}, label: "content", expr: &actionExpr{ - pos: position{line: 1850, col: 14, offset: 60776}, + pos: position{line: 1857, col: 14, offset: 61031}, run: (*parser).callonListElementContinuationElement1264, expr: &oneOrMoreExpr{ - pos: position{line: 1850, col: 14, offset: 60776}, + pos: position{line: 1857, col: 14, offset: 61031}, expr: &charClassMatcher{ - pos: position{line: 1850, col: 14, offset: 60776}, + pos: position{line: 1857, col: 14, offset: 61031}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -44253,32 +44480,32 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1853, col: 5, offset: 60883}, + pos: position{line: 1860, col: 5, offset: 61138}, run: (*parser).callonListElementContinuationElement1267, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonListElementContinuationElement1269, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -44287,9 +44514,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -44305,39 +44532,39 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1001, col: 5, offset: 31428}, + pos: position{line: 1008, col: 5, offset: 31698}, run: (*parser).callonListElementContinuationElement1276, expr: &seqExpr{ - pos: position{line: 1001, col: 5, offset: 31428}, + pos: position{line: 1008, col: 5, offset: 31698}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1001, col: 5, offset: 31428}, + pos: position{line: 1008, col: 5, offset: 31698}, label: "start", expr: &actionExpr{ - pos: position{line: 788, col: 5, offset: 25651}, + pos: position{line: 795, col: 5, offset: 25921}, run: (*parser).callonListElementContinuationElement1279, expr: &seqExpr{ - pos: position{line: 788, col: 5, offset: 25651}, + pos: position{line: 795, col: 5, offset: 25921}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 788, col: 5, offset: 25651}, + pos: position{line: 795, col: 5, offset: 25921}, label: "delimiter", expr: &actionExpr{ - pos: position{line: 788, col: 16, offset: 25662}, + pos: position{line: 795, col: 16, offset: 25932}, run: (*parser).callonListElementContinuationElement1282, expr: &seqExpr{ - pos: position{line: 788, col: 16, offset: 25662}, + pos: position{line: 795, col: 16, offset: 25932}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 788, col: 16, offset: 25662}, + pos: position{line: 795, col: 16, offset: 25932}, val: "++++", ignoreCase: false, want: "\"++++\"", }, &zeroOrMoreExpr{ - pos: position{line: 788, col: 23, offset: 25669}, + pos: position{line: 795, col: 23, offset: 25939}, expr: &litMatcher{ - pos: position{line: 788, col: 23, offset: 25669}, + pos: position{line: 795, col: 23, offset: 25939}, val: "+", ignoreCase: false, want: "\"+\"", @@ -44348,12 +44575,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 790, col: 8, offset: 25753}, + pos: position{line: 797, col: 8, offset: 26023}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonListElementContinuationElement1288, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -44362,28 +44589,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonListElementContinuationElement1291, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -44392,9 +44619,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -44404,56 +44631,56 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1002, col: 5, offset: 31471}, + pos: position{line: 1009, col: 5, offset: 31741}, run: (*parser).callonListElementContinuationElement1298, }, &labeledExpr{ - pos: position{line: 1005, col: 5, offset: 31563}, + pos: position{line: 1012, col: 5, offset: 31833}, label: "content", expr: &zeroOrMoreExpr{ - pos: position{line: 1020, col: 5, offset: 31993}, + pos: position{line: 1027, col: 5, offset: 32263}, expr: &actionExpr{ - pos: position{line: 1020, col: 6, offset: 31994}, + pos: position{line: 1027, col: 6, offset: 32264}, run: (*parser).callonListElementContinuationElement1301, expr: &seqExpr{ - pos: position{line: 1020, col: 6, offset: 31994}, + pos: position{line: 1027, col: 6, offset: 32264}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 1020, col: 6, offset: 31994}, + pos: position{line: 1027, col: 6, offset: 32264}, expr: &choiceExpr{ - pos: position{line: 1013, col: 5, offset: 31827}, + pos: position{line: 1020, col: 5, offset: 32097}, alternatives: []interface{}{ &seqExpr{ - pos: position{line: 1013, col: 5, offset: 31827}, + pos: position{line: 1020, col: 5, offset: 32097}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1013, col: 5, offset: 31827}, + pos: position{line: 1020, col: 5, offset: 32097}, label: "end", expr: &actionExpr{ - pos: position{line: 788, col: 5, offset: 25651}, + pos: position{line: 795, col: 5, offset: 25921}, run: (*parser).callonListElementContinuationElement1307, expr: &seqExpr{ - pos: position{line: 788, col: 5, offset: 25651}, + pos: position{line: 795, col: 5, offset: 25921}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 788, col: 5, offset: 25651}, + pos: position{line: 795, col: 5, offset: 25921}, label: "delimiter", expr: &actionExpr{ - pos: position{line: 788, col: 16, offset: 25662}, + pos: position{line: 795, col: 16, offset: 25932}, run: (*parser).callonListElementContinuationElement1310, expr: &seqExpr{ - pos: position{line: 788, col: 16, offset: 25662}, + pos: position{line: 795, col: 16, offset: 25932}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 788, col: 16, offset: 25662}, + pos: position{line: 795, col: 16, offset: 25932}, val: "++++", ignoreCase: false, want: "\"++++\"", }, &zeroOrMoreExpr{ - pos: position{line: 788, col: 23, offset: 25669}, + pos: position{line: 795, col: 23, offset: 25939}, expr: &litMatcher{ - pos: position{line: 788, col: 23, offset: 25669}, + pos: position{line: 795, col: 23, offset: 25939}, val: "+", ignoreCase: false, want: "\"+\"", @@ -44464,12 +44691,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 790, col: 8, offset: 25753}, + pos: position{line: 797, col: 8, offset: 26023}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonListElementContinuationElement1316, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -44478,28 +44705,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonListElementContinuationElement1319, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -44508,9 +44735,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -44520,48 +44747,48 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1014, col: 5, offset: 31862}, + pos: position{line: 1021, col: 5, offset: 32132}, run: (*parser).callonListElementContinuationElement1326, }, }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, }, }, &labeledExpr{ - pos: position{line: 1021, col: 5, offset: 32028}, + pos: position{line: 1028, col: 5, offset: 32298}, label: "line", expr: &actionExpr{ - pos: position{line: 809, col: 5, offset: 26395}, + pos: position{line: 816, col: 5, offset: 26665}, run: (*parser).callonListElementContinuationElement1330, expr: &seqExpr{ - pos: position{line: 809, col: 5, offset: 26395}, + pos: position{line: 816, col: 5, offset: 26665}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 809, col: 5, offset: 26395}, + pos: position{line: 816, col: 5, offset: 26665}, expr: ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, &labeledExpr{ - pos: position{line: 810, col: 5, offset: 26468}, + pos: position{line: 817, col: 5, offset: 26738}, label: "content", expr: &actionExpr{ - pos: position{line: 810, col: 14, offset: 26477}, + pos: position{line: 817, col: 14, offset: 26747}, run: (*parser).callonListElementContinuationElement1336, expr: &zeroOrMoreExpr{ - pos: position{line: 810, col: 14, offset: 26477}, + pos: position{line: 817, col: 14, offset: 26747}, expr: &charClassMatcher{ - pos: position{line: 810, col: 14, offset: 26477}, + pos: position{line: 817, col: 14, offset: 26747}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -44571,28 +44798,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonListElementContinuationElement1340, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -44601,9 +44828,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -44618,44 +44845,44 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1006, col: 5, offset: 31601}, + pos: position{line: 1013, col: 5, offset: 31871}, label: "end", expr: &zeroOrOneExpr{ - pos: position{line: 1006, col: 9, offset: 31605}, + pos: position{line: 1013, col: 9, offset: 31875}, expr: &choiceExpr{ - pos: position{line: 1013, col: 5, offset: 31827}, + pos: position{line: 1020, col: 5, offset: 32097}, alternatives: []interface{}{ &seqExpr{ - pos: position{line: 1013, col: 5, offset: 31827}, + pos: position{line: 1020, col: 5, offset: 32097}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1013, col: 5, offset: 31827}, + pos: position{line: 1020, col: 5, offset: 32097}, label: "end", expr: &actionExpr{ - pos: position{line: 788, col: 5, offset: 25651}, + pos: position{line: 795, col: 5, offset: 25921}, run: (*parser).callonListElementContinuationElement1352, expr: &seqExpr{ - pos: position{line: 788, col: 5, offset: 25651}, + pos: position{line: 795, col: 5, offset: 25921}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 788, col: 5, offset: 25651}, + pos: position{line: 795, col: 5, offset: 25921}, label: "delimiter", expr: &actionExpr{ - pos: position{line: 788, col: 16, offset: 25662}, + pos: position{line: 795, col: 16, offset: 25932}, run: (*parser).callonListElementContinuationElement1355, expr: &seqExpr{ - pos: position{line: 788, col: 16, offset: 25662}, + pos: position{line: 795, col: 16, offset: 25932}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 788, col: 16, offset: 25662}, + pos: position{line: 795, col: 16, offset: 25932}, val: "++++", ignoreCase: false, want: "\"++++\"", }, &zeroOrMoreExpr{ - pos: position{line: 788, col: 23, offset: 25669}, + pos: position{line: 795, col: 23, offset: 25939}, expr: &litMatcher{ - pos: position{line: 788, col: 23, offset: 25669}, + pos: position{line: 795, col: 23, offset: 25939}, val: "+", ignoreCase: false, want: "\"+\"", @@ -44666,12 +44893,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 790, col: 8, offset: 25753}, + pos: position{line: 797, col: 8, offset: 26023}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonListElementContinuationElement1361, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -44680,28 +44907,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonListElementContinuationElement1364, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -44710,9 +44937,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -44722,15 +44949,15 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1014, col: 5, offset: 31862}, + pos: position{line: 1021, col: 5, offset: 32132}, run: (*parser).callonListElementContinuationElement1371, }, }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -44741,39 +44968,39 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1029, col: 5, offset: 32179}, + pos: position{line: 1036, col: 5, offset: 32449}, run: (*parser).callonListElementContinuationElement1374, expr: &seqExpr{ - pos: position{line: 1029, col: 5, offset: 32179}, + pos: position{line: 1036, col: 5, offset: 32449}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1029, col: 5, offset: 32179}, + pos: position{line: 1036, col: 5, offset: 32449}, label: "start", expr: &actionExpr{ - pos: position{line: 795, col: 5, offset: 25901}, + pos: position{line: 802, col: 5, offset: 26171}, run: (*parser).callonListElementContinuationElement1377, expr: &seqExpr{ - pos: position{line: 795, col: 5, offset: 25901}, + pos: position{line: 802, col: 5, offset: 26171}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 795, col: 5, offset: 25901}, + pos: position{line: 802, col: 5, offset: 26171}, label: "delimiter", expr: &actionExpr{ - pos: position{line: 795, col: 16, offset: 25912}, + pos: position{line: 802, col: 16, offset: 26182}, run: (*parser).callonListElementContinuationElement1380, expr: &seqExpr{ - pos: position{line: 795, col: 16, offset: 25912}, + pos: position{line: 802, col: 16, offset: 26182}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 795, col: 16, offset: 25912}, + pos: position{line: 802, col: 16, offset: 26182}, val: "____", ignoreCase: false, want: "\"____\"", }, &zeroOrMoreExpr{ - pos: position{line: 795, col: 23, offset: 25919}, + pos: position{line: 802, col: 23, offset: 26189}, expr: &litMatcher{ - pos: position{line: 795, col: 23, offset: 25919}, + pos: position{line: 802, col: 23, offset: 26189}, val: "_", ignoreCase: false, want: "\"_\"", @@ -44784,12 +45011,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 797, col: 8, offset: 26003}, + pos: position{line: 804, col: 8, offset: 26273}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonListElementContinuationElement1386, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -44798,28 +45025,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonListElementContinuationElement1389, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -44828,9 +45055,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -44840,56 +45067,56 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1030, col: 5, offset: 32216}, + pos: position{line: 1037, col: 5, offset: 32486}, run: (*parser).callonListElementContinuationElement1396, }, &labeledExpr{ - pos: position{line: 1033, col: 5, offset: 32308}, + pos: position{line: 1040, col: 5, offset: 32578}, label: "content", expr: &zeroOrMoreExpr{ - pos: position{line: 1048, col: 4, offset: 32689}, + pos: position{line: 1055, col: 4, offset: 32959}, expr: &actionExpr{ - pos: position{line: 1048, col: 5, offset: 32690}, + pos: position{line: 1055, col: 5, offset: 32960}, run: (*parser).callonListElementContinuationElement1399, expr: &seqExpr{ - pos: position{line: 1048, col: 5, offset: 32690}, + pos: position{line: 1055, col: 5, offset: 32960}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 1048, col: 5, offset: 32690}, + pos: position{line: 1055, col: 5, offset: 32960}, expr: &choiceExpr{ - pos: position{line: 1041, col: 5, offset: 32536}, + pos: position{line: 1048, col: 5, offset: 32806}, alternatives: []interface{}{ &seqExpr{ - pos: position{line: 1041, col: 5, offset: 32536}, + pos: position{line: 1048, col: 5, offset: 32806}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1041, col: 5, offset: 32536}, + pos: position{line: 1048, col: 5, offset: 32806}, label: "end", expr: &actionExpr{ - pos: position{line: 795, col: 5, offset: 25901}, + pos: position{line: 802, col: 5, offset: 26171}, run: (*parser).callonListElementContinuationElement1405, expr: &seqExpr{ - pos: position{line: 795, col: 5, offset: 25901}, + pos: position{line: 802, col: 5, offset: 26171}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 795, col: 5, offset: 25901}, + pos: position{line: 802, col: 5, offset: 26171}, label: "delimiter", expr: &actionExpr{ - pos: position{line: 795, col: 16, offset: 25912}, + pos: position{line: 802, col: 16, offset: 26182}, run: (*parser).callonListElementContinuationElement1408, expr: &seqExpr{ - pos: position{line: 795, col: 16, offset: 25912}, + pos: position{line: 802, col: 16, offset: 26182}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 795, col: 16, offset: 25912}, + pos: position{line: 802, col: 16, offset: 26182}, val: "____", ignoreCase: false, want: "\"____\"", }, &zeroOrMoreExpr{ - pos: position{line: 795, col: 23, offset: 25919}, + pos: position{line: 802, col: 23, offset: 26189}, expr: &litMatcher{ - pos: position{line: 795, col: 23, offset: 25919}, + pos: position{line: 802, col: 23, offset: 26189}, val: "_", ignoreCase: false, want: "\"_\"", @@ -44900,12 +45127,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 797, col: 8, offset: 26003}, + pos: position{line: 804, col: 8, offset: 26273}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonListElementContinuationElement1414, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -44914,28 +45141,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonListElementContinuationElement1417, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -44944,9 +45171,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -44956,48 +45183,48 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1042, col: 5, offset: 32565}, + pos: position{line: 1049, col: 5, offset: 32835}, run: (*parser).callonListElementContinuationElement1424, }, }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, }, }, &labeledExpr{ - pos: position{line: 1049, col: 5, offset: 32718}, + pos: position{line: 1056, col: 5, offset: 32988}, label: "line", expr: &actionExpr{ - pos: position{line: 809, col: 5, offset: 26395}, + pos: position{line: 816, col: 5, offset: 26665}, run: (*parser).callonListElementContinuationElement1428, expr: &seqExpr{ - pos: position{line: 809, col: 5, offset: 26395}, + pos: position{line: 816, col: 5, offset: 26665}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 809, col: 5, offset: 26395}, + pos: position{line: 816, col: 5, offset: 26665}, expr: ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, &labeledExpr{ - pos: position{line: 810, col: 5, offset: 26468}, + pos: position{line: 817, col: 5, offset: 26738}, label: "content", expr: &actionExpr{ - pos: position{line: 810, col: 14, offset: 26477}, + pos: position{line: 817, col: 14, offset: 26747}, run: (*parser).callonListElementContinuationElement1434, expr: &zeroOrMoreExpr{ - pos: position{line: 810, col: 14, offset: 26477}, + pos: position{line: 817, col: 14, offset: 26747}, expr: &charClassMatcher{ - pos: position{line: 810, col: 14, offset: 26477}, + pos: position{line: 817, col: 14, offset: 26747}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -45007,28 +45234,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonListElementContinuationElement1438, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -45037,9 +45264,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -45054,44 +45281,44 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1034, col: 5, offset: 32340}, + pos: position{line: 1041, col: 5, offset: 32610}, label: "end", expr: &zeroOrOneExpr{ - pos: position{line: 1034, col: 9, offset: 32344}, + pos: position{line: 1041, col: 9, offset: 32614}, expr: &choiceExpr{ - pos: position{line: 1041, col: 5, offset: 32536}, + pos: position{line: 1048, col: 5, offset: 32806}, alternatives: []interface{}{ &seqExpr{ - pos: position{line: 1041, col: 5, offset: 32536}, + pos: position{line: 1048, col: 5, offset: 32806}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1041, col: 5, offset: 32536}, + pos: position{line: 1048, col: 5, offset: 32806}, label: "end", expr: &actionExpr{ - pos: position{line: 795, col: 5, offset: 25901}, + pos: position{line: 802, col: 5, offset: 26171}, run: (*parser).callonListElementContinuationElement1450, expr: &seqExpr{ - pos: position{line: 795, col: 5, offset: 25901}, + pos: position{line: 802, col: 5, offset: 26171}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 795, col: 5, offset: 25901}, + pos: position{line: 802, col: 5, offset: 26171}, label: "delimiter", expr: &actionExpr{ - pos: position{line: 795, col: 16, offset: 25912}, + pos: position{line: 802, col: 16, offset: 26182}, run: (*parser).callonListElementContinuationElement1453, expr: &seqExpr{ - pos: position{line: 795, col: 16, offset: 25912}, + pos: position{line: 802, col: 16, offset: 26182}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 795, col: 16, offset: 25912}, + pos: position{line: 802, col: 16, offset: 26182}, val: "____", ignoreCase: false, want: "\"____\"", }, &zeroOrMoreExpr{ - pos: position{line: 795, col: 23, offset: 25919}, + pos: position{line: 802, col: 23, offset: 26189}, expr: &litMatcher{ - pos: position{line: 795, col: 23, offset: 25919}, + pos: position{line: 802, col: 23, offset: 26189}, val: "_", ignoreCase: false, want: "\"_\"", @@ -45102,12 +45329,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 797, col: 8, offset: 26003}, + pos: position{line: 804, col: 8, offset: 26273}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonListElementContinuationElement1459, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -45116,28 +45343,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonListElementContinuationElement1462, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -45146,9 +45373,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -45158,15 +45385,15 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1042, col: 5, offset: 32565}, + pos: position{line: 1049, col: 5, offset: 32835}, run: (*parser).callonListElementContinuationElement1469, }, }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -45177,39 +45404,39 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1057, col: 5, offset: 32873}, + pos: position{line: 1064, col: 5, offset: 33143}, run: (*parser).callonListElementContinuationElement1472, expr: &seqExpr{ - pos: position{line: 1057, col: 5, offset: 32873}, + pos: position{line: 1064, col: 5, offset: 33143}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1057, col: 5, offset: 32873}, + pos: position{line: 1064, col: 5, offset: 33143}, label: "start", expr: &actionExpr{ - pos: position{line: 802, col: 5, offset: 26147}, + pos: position{line: 809, col: 5, offset: 26417}, run: (*parser).callonListElementContinuationElement1475, expr: &seqExpr{ - pos: position{line: 802, col: 5, offset: 26147}, + pos: position{line: 809, col: 5, offset: 26417}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 802, col: 5, offset: 26147}, + pos: position{line: 809, col: 5, offset: 26417}, label: "delimiter", expr: &actionExpr{ - pos: position{line: 802, col: 16, offset: 26158}, + pos: position{line: 809, col: 16, offset: 26428}, run: (*parser).callonListElementContinuationElement1478, expr: &seqExpr{ - pos: position{line: 802, col: 16, offset: 26158}, + pos: position{line: 809, col: 16, offset: 26428}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 802, col: 16, offset: 26158}, + pos: position{line: 809, col: 16, offset: 26428}, val: "****", ignoreCase: false, want: "\"****\"", }, &zeroOrMoreExpr{ - pos: position{line: 802, col: 23, offset: 26165}, + pos: position{line: 809, col: 23, offset: 26435}, expr: &litMatcher{ - pos: position{line: 802, col: 23, offset: 26165}, + pos: position{line: 809, col: 23, offset: 26435}, val: "*", ignoreCase: false, want: "\"*\"", @@ -45220,12 +45447,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 804, col: 8, offset: 26249}, + pos: position{line: 811, col: 8, offset: 26519}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonListElementContinuationElement1484, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -45234,28 +45461,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonListElementContinuationElement1487, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -45264,9 +45491,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -45276,56 +45503,56 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1058, col: 5, offset: 32912}, + pos: position{line: 1065, col: 5, offset: 33182}, run: (*parser).callonListElementContinuationElement1494, }, &labeledExpr{ - pos: position{line: 1061, col: 5, offset: 33004}, + pos: position{line: 1068, col: 5, offset: 33274}, label: "content", expr: &zeroOrMoreExpr{ - pos: position{line: 1076, col: 4, offset: 33401}, + pos: position{line: 1083, col: 4, offset: 33671}, expr: &actionExpr{ - pos: position{line: 1076, col: 5, offset: 33402}, + pos: position{line: 1083, col: 5, offset: 33672}, run: (*parser).callonListElementContinuationElement1497, expr: &seqExpr{ - pos: position{line: 1076, col: 5, offset: 33402}, + pos: position{line: 1083, col: 5, offset: 33672}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 1076, col: 5, offset: 33402}, + pos: position{line: 1083, col: 5, offset: 33672}, expr: &choiceExpr{ - pos: position{line: 1069, col: 5, offset: 33244}, + pos: position{line: 1076, col: 5, offset: 33514}, alternatives: []interface{}{ &seqExpr{ - pos: position{line: 1069, col: 5, offset: 33244}, + pos: position{line: 1076, col: 5, offset: 33514}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1069, col: 5, offset: 33244}, + pos: position{line: 1076, col: 5, offset: 33514}, label: "end", expr: &actionExpr{ - pos: position{line: 802, col: 5, offset: 26147}, + pos: position{line: 809, col: 5, offset: 26417}, run: (*parser).callonListElementContinuationElement1503, expr: &seqExpr{ - pos: position{line: 802, col: 5, offset: 26147}, + pos: position{line: 809, col: 5, offset: 26417}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 802, col: 5, offset: 26147}, + pos: position{line: 809, col: 5, offset: 26417}, label: "delimiter", expr: &actionExpr{ - pos: position{line: 802, col: 16, offset: 26158}, + pos: position{line: 809, col: 16, offset: 26428}, run: (*parser).callonListElementContinuationElement1506, expr: &seqExpr{ - pos: position{line: 802, col: 16, offset: 26158}, + pos: position{line: 809, col: 16, offset: 26428}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 802, col: 16, offset: 26158}, + pos: position{line: 809, col: 16, offset: 26428}, val: "****", ignoreCase: false, want: "\"****\"", }, &zeroOrMoreExpr{ - pos: position{line: 802, col: 23, offset: 26165}, + pos: position{line: 809, col: 23, offset: 26435}, expr: &litMatcher{ - pos: position{line: 802, col: 23, offset: 26165}, + pos: position{line: 809, col: 23, offset: 26435}, val: "*", ignoreCase: false, want: "\"*\"", @@ -45336,12 +45563,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 804, col: 8, offset: 26249}, + pos: position{line: 811, col: 8, offset: 26519}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonListElementContinuationElement1512, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -45350,28 +45577,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonListElementContinuationElement1515, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -45380,9 +45607,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -45392,48 +45619,48 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1070, col: 5, offset: 33275}, + pos: position{line: 1077, col: 5, offset: 33545}, run: (*parser).callonListElementContinuationElement1522, }, }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, }, }, &labeledExpr{ - pos: position{line: 1077, col: 5, offset: 33432}, + pos: position{line: 1084, col: 5, offset: 33702}, label: "line", expr: &actionExpr{ - pos: position{line: 809, col: 5, offset: 26395}, + pos: position{line: 816, col: 5, offset: 26665}, run: (*parser).callonListElementContinuationElement1526, expr: &seqExpr{ - pos: position{line: 809, col: 5, offset: 26395}, + pos: position{line: 816, col: 5, offset: 26665}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 809, col: 5, offset: 26395}, + pos: position{line: 816, col: 5, offset: 26665}, expr: ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, &labeledExpr{ - pos: position{line: 810, col: 5, offset: 26468}, + pos: position{line: 817, col: 5, offset: 26738}, label: "content", expr: &actionExpr{ - pos: position{line: 810, col: 14, offset: 26477}, + pos: position{line: 817, col: 14, offset: 26747}, run: (*parser).callonListElementContinuationElement1532, expr: &zeroOrMoreExpr{ - pos: position{line: 810, col: 14, offset: 26477}, + pos: position{line: 817, col: 14, offset: 26747}, expr: &charClassMatcher{ - pos: position{line: 810, col: 14, offset: 26477}, + pos: position{line: 817, col: 14, offset: 26747}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -45443,28 +45670,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonListElementContinuationElement1536, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -45473,9 +45700,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -45490,44 +45717,44 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1062, col: 5, offset: 33038}, + pos: position{line: 1069, col: 5, offset: 33308}, label: "end", expr: &zeroOrOneExpr{ - pos: position{line: 1062, col: 9, offset: 33042}, + pos: position{line: 1069, col: 9, offset: 33312}, expr: &choiceExpr{ - pos: position{line: 1069, col: 5, offset: 33244}, + pos: position{line: 1076, col: 5, offset: 33514}, alternatives: []interface{}{ &seqExpr{ - pos: position{line: 1069, col: 5, offset: 33244}, + pos: position{line: 1076, col: 5, offset: 33514}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1069, col: 5, offset: 33244}, + pos: position{line: 1076, col: 5, offset: 33514}, label: "end", expr: &actionExpr{ - pos: position{line: 802, col: 5, offset: 26147}, + pos: position{line: 809, col: 5, offset: 26417}, run: (*parser).callonListElementContinuationElement1548, expr: &seqExpr{ - pos: position{line: 802, col: 5, offset: 26147}, + pos: position{line: 809, col: 5, offset: 26417}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 802, col: 5, offset: 26147}, + pos: position{line: 809, col: 5, offset: 26417}, label: "delimiter", expr: &actionExpr{ - pos: position{line: 802, col: 16, offset: 26158}, + pos: position{line: 809, col: 16, offset: 26428}, run: (*parser).callonListElementContinuationElement1551, expr: &seqExpr{ - pos: position{line: 802, col: 16, offset: 26158}, + pos: position{line: 809, col: 16, offset: 26428}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 802, col: 16, offset: 26158}, + pos: position{line: 809, col: 16, offset: 26428}, val: "****", ignoreCase: false, want: "\"****\"", }, &zeroOrMoreExpr{ - pos: position{line: 802, col: 23, offset: 26165}, + pos: position{line: 809, col: 23, offset: 26435}, expr: &litMatcher{ - pos: position{line: 802, col: 23, offset: 26165}, + pos: position{line: 809, col: 23, offset: 26435}, val: "*", ignoreCase: false, want: "\"*\"", @@ -45538,12 +45765,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 804, col: 8, offset: 26249}, + pos: position{line: 811, col: 8, offset: 26519}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonListElementContinuationElement1557, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -45552,28 +45779,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonListElementContinuationElement1560, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -45582,9 +45809,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -45594,15 +45821,15 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1070, col: 5, offset: 33275}, + pos: position{line: 1077, col: 5, offset: 33545}, run: (*parser).callonListElementContinuationElement1567, }, }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -45613,52 +45840,52 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 3045, col: 18, offset: 99184}, + pos: position{line: 2941, col: 18, offset: 95821}, run: (*parser).callonListElementContinuationElement1570, expr: &seqExpr{ - pos: position{line: 3045, col: 18, offset: 99184}, + pos: position{line: 2941, col: 18, offset: 95821}, exprs: []interface{}{ &choiceExpr{ - pos: position{line: 3046, col: 9, offset: 99194}, + pos: position{line: 2942, col: 9, offset: 95831}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3046, col: 9, offset: 99194}, + pos: position{line: 2942, col: 9, offset: 95831}, val: "'''", ignoreCase: false, want: "\"'''\"", }, &litMatcher{ - pos: position{line: 3047, col: 11, offset: 99230}, + pos: position{line: 2943, col: 11, offset: 95867}, val: "***", ignoreCase: false, want: "\"***\"", }, &litMatcher{ - pos: position{line: 3047, col: 19, offset: 99238}, + pos: position{line: 2943, col: 19, offset: 95875}, val: "* * *", ignoreCase: false, want: "\"* * *\"", }, &litMatcher{ - pos: position{line: 3047, col: 29, offset: 99248}, + pos: position{line: 2943, col: 29, offset: 95885}, val: "---", ignoreCase: false, want: "\"---\"", }, &litMatcher{ - pos: position{line: 3047, col: 37, offset: 99256}, + pos: position{line: 2943, col: 37, offset: 95893}, val: "- - -", ignoreCase: false, want: "\"- - -\"", }, &litMatcher{ - pos: position{line: 3047, col: 47, offset: 99266}, + pos: position{line: 2943, col: 47, offset: 95903}, val: "___", ignoreCase: false, want: "\"___\"", }, &litMatcher{ - pos: position{line: 3047, col: 55, offset: 99274}, + pos: position{line: 2943, col: 55, offset: 95911}, val: "_ _ _", ignoreCase: false, want: "\"_ _ _\"", @@ -45666,12 +45893,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 3048, col: 11, offset: 99332}, + pos: position{line: 2944, col: 11, offset: 95969}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonListElementContinuationElement1581, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -45680,28 +45907,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonListElementContinuationElement1584, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -45710,36 +45937,36 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonListElementContinuationElement1592, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -45748,9 +45975,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -45759,28 +45986,28 @@ var g = &grammar{ }, }, &ruleRefExpr{ - pos: position{line: 1590, col: 11, offset: 52124}, + pos: position{line: 1597, col: 11, offset: 52379}, name: "ImageBlock", }, &actionExpr{ - pos: position{line: 2943, col: 5, offset: 96313}, + pos: position{line: 2839, col: 5, offset: 92950}, run: (*parser).callonListElementContinuationElement1600, expr: &seqExpr{ - pos: position{line: 2943, col: 5, offset: 96313}, + pos: position{line: 2839, col: 5, offset: 92950}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2951, col: 19, offset: 96490}, + pos: position{line: 2847, col: 19, offset: 93127}, val: "|===", ignoreCase: false, want: "\"|===\"", }, &zeroOrMoreExpr{ - pos: position{line: 2951, col: 26, offset: 96497}, + pos: position{line: 2847, col: 26, offset: 93134}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonListElementContinuationElement1604, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -45789,28 +46016,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonListElementContinuationElement1607, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -45819,48 +46046,48 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, }, &labeledExpr{ - pos: position{line: 2944, col: 5, offset: 96337}, + pos: position{line: 2840, col: 5, offset: 92974}, label: "header", expr: &zeroOrOneExpr{ - pos: position{line: 2944, col: 12, offset: 96344}, + pos: position{line: 2840, col: 12, offset: 92981}, expr: &actionExpr{ - pos: position{line: 2959, col: 5, offset: 96657}, + pos: position{line: 2855, col: 5, offset: 93294}, run: (*parser).callonListElementContinuationElement1616, expr: &seqExpr{ - pos: position{line: 2959, col: 5, offset: 96657}, + pos: position{line: 2855, col: 5, offset: 93294}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 2959, col: 5, offset: 96657}, + pos: position{line: 2855, col: 5, offset: 93294}, label: "cells", expr: &oneOrMoreExpr{ - pos: position{line: 2959, col: 11, offset: 96663}, + pos: position{line: 2855, col: 11, offset: 93300}, expr: &actionExpr{ - pos: position{line: 2965, col: 5, offset: 96780}, + pos: position{line: 2861, col: 5, offset: 93417}, run: (*parser).callonListElementContinuationElement1620, expr: &seqExpr{ - pos: position{line: 2965, col: 5, offset: 96780}, + pos: position{line: 2861, col: 5, offset: 93417}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2965, col: 5, offset: 96780}, + pos: position{line: 2861, col: 5, offset: 93417}, val: "|", ignoreCase: false, want: "\"|\"", }, &zeroOrMoreExpr{ - pos: position{line: 2965, col: 9, offset: 96784}, + pos: position{line: 2861, col: 9, offset: 93421}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonListElementContinuationElement1624, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -45869,23 +46096,23 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 2966, col: 5, offset: 96796}, + pos: position{line: 2862, col: 5, offset: 93433}, label: "content", expr: &zeroOrOneExpr{ - pos: position{line: 2966, col: 14, offset: 96805}, + pos: position{line: 2862, col: 14, offset: 93442}, expr: &actionExpr{ - pos: position{line: 2998, col: 5, offset: 97593}, + pos: position{line: 2894, col: 5, offset: 94230}, run: (*parser).callonListElementContinuationElement1628, expr: &labeledExpr{ - pos: position{line: 2998, col: 5, offset: 97593}, + pos: position{line: 2894, col: 5, offset: 94230}, label: "content", expr: &actionExpr{ - pos: position{line: 2998, col: 14, offset: 97602}, + pos: position{line: 2894, col: 14, offset: 94239}, run: (*parser).callonListElementContinuationElement1630, expr: &oneOrMoreExpr{ - pos: position{line: 2998, col: 14, offset: 97602}, + pos: position{line: 2894, col: 14, offset: 94239}, expr: &charClassMatcher{ - pos: position{line: 2998, col: 14, offset: 97602}, + pos: position{line: 2894, col: 14, offset: 94239}, val: "[^\\r\\n|]", chars: []rune{'\r', '\n', '|'}, ignoreCase: false, @@ -45903,28 +46130,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonListElementContinuationElement1634, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -45933,37 +46160,37 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, }, &oneOrMoreExpr{ - pos: position{line: 2960, col: 5, offset: 96685}, + pos: position{line: 2856, col: 5, offset: 93322}, expr: &actionExpr{ - pos: position{line: 683, col: 14, offset: 22042}, + pos: position{line: 690, col: 14, offset: 22312}, run: (*parser).callonListElementContinuationElement1642, expr: &seqExpr{ - pos: position{line: 683, col: 14, offset: 22042}, + pos: position{line: 690, col: 14, offset: 22312}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 683, col: 14, offset: 22042}, + pos: position{line: 690, col: 14, offset: 22312}, expr: ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, &zeroOrMoreExpr{ - pos: position{line: 683, col: 19, offset: 22047}, + pos: position{line: 690, col: 19, offset: 22317}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonListElementContinuationElement1648, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -45972,28 +46199,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonListElementContinuationElement1651, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -46002,9 +46229,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -46019,40 +46246,40 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 2945, col: 5, offset: 96363}, + pos: position{line: 2841, col: 5, offset: 93000}, label: "rows", expr: &zeroOrMoreExpr{ - pos: position{line: 2945, col: 10, offset: 96368}, + pos: position{line: 2841, col: 10, offset: 93005}, expr: &choiceExpr{ - pos: position{line: 2970, col: 13, offset: 96902}, + pos: position{line: 2866, col: 13, offset: 93539}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2980, col: 5, offset: 97121}, + pos: position{line: 2876, col: 5, offset: 93758}, run: (*parser).callonListElementContinuationElement1661, expr: &seqExpr{ - pos: position{line: 2980, col: 5, offset: 97121}, + pos: position{line: 2876, col: 5, offset: 93758}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 2980, col: 5, offset: 97121}, + pos: position{line: 2876, col: 5, offset: 93758}, expr: &choiceExpr{ - pos: position{line: 2955, col: 22, offset: 96570}, + pos: position{line: 2851, col: 22, offset: 93207}, alternatives: []interface{}{ &seqExpr{ - pos: position{line: 2951, col: 19, offset: 96490}, + pos: position{line: 2847, col: 19, offset: 93127}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2951, col: 19, offset: 96490}, + pos: position{line: 2847, col: 19, offset: 93127}, val: "|===", ignoreCase: false, want: "\"|===\"", }, &zeroOrMoreExpr{ - pos: position{line: 2951, col: 26, offset: 96497}, + pos: position{line: 2847, col: 26, offset: 93134}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonListElementContinuationElement1668, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -46061,28 +46288,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonListElementContinuationElement1671, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -46091,9 +46318,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -46101,55 +46328,55 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, }, }, &labeledExpr{ - pos: position{line: 2981, col: 5, offset: 97144}, + pos: position{line: 2877, col: 5, offset: 93781}, label: "cells", expr: &oneOrMoreExpr{ - pos: position{line: 2981, col: 11, offset: 97150}, + pos: position{line: 2877, col: 11, offset: 93787}, expr: &actionExpr{ - pos: position{line: 2981, col: 12, offset: 97151}, + pos: position{line: 2877, col: 12, offset: 93788}, run: (*parser).callonListElementContinuationElement1682, expr: &seqExpr{ - pos: position{line: 2981, col: 12, offset: 97151}, + pos: position{line: 2877, col: 12, offset: 93788}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 2981, col: 12, offset: 97151}, + pos: position{line: 2877, col: 12, offset: 93788}, label: "cell", expr: &actionExpr{ - pos: position{line: 2990, col: 5, offset: 97392}, + pos: position{line: 2886, col: 5, offset: 94029}, run: (*parser).callonListElementContinuationElement1685, expr: &seqExpr{ - pos: position{line: 2990, col: 5, offset: 97392}, + pos: position{line: 2886, col: 5, offset: 94029}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 2990, col: 5, offset: 97392}, + pos: position{line: 2886, col: 5, offset: 94029}, expr: &choiceExpr{ - pos: position{line: 2955, col: 22, offset: 96570}, + pos: position{line: 2851, col: 22, offset: 93207}, alternatives: []interface{}{ &seqExpr{ - pos: position{line: 2951, col: 19, offset: 96490}, + pos: position{line: 2847, col: 19, offset: 93127}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2951, col: 19, offset: 96490}, + pos: position{line: 2847, col: 19, offset: 93127}, val: "|===", ignoreCase: false, want: "\"|===\"", }, &zeroOrMoreExpr{ - pos: position{line: 2951, col: 26, offset: 96497}, + pos: position{line: 2847, col: 26, offset: 93134}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonListElementContinuationElement1692, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -46158,28 +46385,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonListElementContinuationElement1695, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -46188,9 +46415,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -46198,38 +46425,38 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, }, }, ¬Expr{ - pos: position{line: 2991, col: 5, offset: 97415}, + pos: position{line: 2887, col: 5, offset: 94052}, expr: &actionExpr{ - pos: position{line: 683, col: 14, offset: 22042}, + pos: position{line: 690, col: 14, offset: 22312}, run: (*parser).callonListElementContinuationElement1705, expr: &seqExpr{ - pos: position{line: 683, col: 14, offset: 22042}, + pos: position{line: 690, col: 14, offset: 22312}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 683, col: 14, offset: 22042}, + pos: position{line: 690, col: 14, offset: 22312}, expr: ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, &zeroOrMoreExpr{ - pos: position{line: 683, col: 19, offset: 22047}, + pos: position{line: 690, col: 19, offset: 22317}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonListElementContinuationElement1711, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -46238,28 +46465,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonListElementContinuationElement1714, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -46268,9 +46495,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -46280,18 +46507,18 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 2992, col: 5, offset: 97430}, + pos: position{line: 2888, col: 5, offset: 94067}, val: "|", ignoreCase: false, want: "\"|\"", }, &zeroOrMoreExpr{ - pos: position{line: 2992, col: 9, offset: 97434}, + pos: position{line: 2888, col: 9, offset: 94071}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonListElementContinuationElement1723, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -46300,23 +46527,23 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 2992, col: 16, offset: 97441}, + pos: position{line: 2888, col: 16, offset: 94078}, label: "content", expr: &zeroOrOneExpr{ - pos: position{line: 2992, col: 25, offset: 97450}, + pos: position{line: 2888, col: 25, offset: 94087}, expr: &actionExpr{ - pos: position{line: 2998, col: 5, offset: 97593}, + pos: position{line: 2894, col: 5, offset: 94230}, run: (*parser).callonListElementContinuationElement1727, expr: &labeledExpr{ - pos: position{line: 2998, col: 5, offset: 97593}, + pos: position{line: 2894, col: 5, offset: 94230}, label: "content", expr: &actionExpr{ - pos: position{line: 2998, col: 14, offset: 97602}, + pos: position{line: 2894, col: 14, offset: 94239}, run: (*parser).callonListElementContinuationElement1729, expr: &oneOrMoreExpr{ - pos: position{line: 2998, col: 14, offset: 97602}, + pos: position{line: 2894, col: 14, offset: 94239}, expr: &charClassMatcher{ - pos: position{line: 2998, col: 14, offset: 97602}, + pos: position{line: 2894, col: 14, offset: 94239}, val: "[^\\r\\n|]", chars: []rune{'\r', '\n', '|'}, ignoreCase: false, @@ -46333,28 +46560,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonListElementContinuationElement1733, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -46363,9 +46590,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -46376,32 +46603,32 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2984, col: 6, offset: 97213}, + pos: position{line: 2880, col: 6, offset: 93850}, alternatives: []interface{}{ &oneOrMoreExpr{ - pos: position{line: 2984, col: 6, offset: 97213}, + pos: position{line: 2880, col: 6, offset: 93850}, expr: &actionExpr{ - pos: position{line: 683, col: 14, offset: 22042}, + pos: position{line: 690, col: 14, offset: 22312}, run: (*parser).callonListElementContinuationElement1742, expr: &seqExpr{ - pos: position{line: 683, col: 14, offset: 22042}, + pos: position{line: 690, col: 14, offset: 22312}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 683, col: 14, offset: 22042}, + pos: position{line: 690, col: 14, offset: 22312}, expr: ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, &zeroOrMoreExpr{ - pos: position{line: 683, col: 19, offset: 22047}, + pos: position{line: 690, col: 19, offset: 22317}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonListElementContinuationElement1748, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -46410,28 +46637,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonListElementContinuationElement1751, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -46440,9 +46667,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -46452,26 +46679,26 @@ var g = &grammar{ }, }, &andExpr{ - pos: position{line: 2984, col: 19, offset: 97226}, + pos: position{line: 2880, col: 19, offset: 93863}, expr: &choiceExpr{ - pos: position{line: 2955, col: 22, offset: 96570}, + pos: position{line: 2851, col: 22, offset: 93207}, alternatives: []interface{}{ &seqExpr{ - pos: position{line: 2951, col: 19, offset: 96490}, + pos: position{line: 2847, col: 19, offset: 93127}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2951, col: 19, offset: 96490}, + pos: position{line: 2847, col: 19, offset: 93127}, val: "|===", ignoreCase: false, want: "\"|===\"", }, &zeroOrMoreExpr{ - pos: position{line: 2951, col: 26, offset: 96497}, + pos: position{line: 2847, col: 26, offset: 93134}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonListElementContinuationElement1763, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -46480,28 +46707,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonListElementContinuationElement1766, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -46510,9 +46737,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -46520,9 +46747,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -46534,32 +46761,32 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2973, col: 5, offset: 96969}, + pos: position{line: 2869, col: 5, offset: 93606}, run: (*parser).callonListElementContinuationElement1775, expr: &seqExpr{ - pos: position{line: 2973, col: 5, offset: 96969}, + pos: position{line: 2869, col: 5, offset: 93606}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 2973, col: 5, offset: 96969}, + pos: position{line: 2869, col: 5, offset: 93606}, expr: &choiceExpr{ - pos: position{line: 2955, col: 22, offset: 96570}, + pos: position{line: 2851, col: 22, offset: 93207}, alternatives: []interface{}{ &seqExpr{ - pos: position{line: 2951, col: 19, offset: 96490}, + pos: position{line: 2847, col: 19, offset: 93127}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2951, col: 19, offset: 96490}, + pos: position{line: 2847, col: 19, offset: 93127}, val: "|===", ignoreCase: false, want: "\"|===\"", }, &zeroOrMoreExpr{ - pos: position{line: 2951, col: 26, offset: 96497}, + pos: position{line: 2847, col: 26, offset: 93134}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonListElementContinuationElement1782, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -46568,28 +46795,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonListElementContinuationElement1785, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -46598,9 +46825,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -46608,46 +46835,46 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, }, }, &labeledExpr{ - pos: position{line: 2974, col: 5, offset: 96992}, + pos: position{line: 2870, col: 5, offset: 93629}, label: "cells", expr: &oneOrMoreExpr{ - pos: position{line: 2974, col: 11, offset: 96998}, + pos: position{line: 2870, col: 11, offset: 93635}, expr: &actionExpr{ - pos: position{line: 2990, col: 5, offset: 97392}, + pos: position{line: 2886, col: 5, offset: 94029}, run: (*parser).callonListElementContinuationElement1796, expr: &seqExpr{ - pos: position{line: 2990, col: 5, offset: 97392}, + pos: position{line: 2886, col: 5, offset: 94029}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 2990, col: 5, offset: 97392}, + pos: position{line: 2886, col: 5, offset: 94029}, expr: &choiceExpr{ - pos: position{line: 2955, col: 22, offset: 96570}, + pos: position{line: 2851, col: 22, offset: 93207}, alternatives: []interface{}{ &seqExpr{ - pos: position{line: 2951, col: 19, offset: 96490}, + pos: position{line: 2847, col: 19, offset: 93127}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2951, col: 19, offset: 96490}, + pos: position{line: 2847, col: 19, offset: 93127}, val: "|===", ignoreCase: false, want: "\"|===\"", }, &zeroOrMoreExpr{ - pos: position{line: 2951, col: 26, offset: 96497}, + pos: position{line: 2847, col: 26, offset: 93134}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonListElementContinuationElement1803, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -46656,28 +46883,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonListElementContinuationElement1806, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -46686,9 +46913,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -46696,38 +46923,38 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, }, }, ¬Expr{ - pos: position{line: 2991, col: 5, offset: 97415}, + pos: position{line: 2887, col: 5, offset: 94052}, expr: &actionExpr{ - pos: position{line: 683, col: 14, offset: 22042}, + pos: position{line: 690, col: 14, offset: 22312}, run: (*parser).callonListElementContinuationElement1816, expr: &seqExpr{ - pos: position{line: 683, col: 14, offset: 22042}, + pos: position{line: 690, col: 14, offset: 22312}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 683, col: 14, offset: 22042}, + pos: position{line: 690, col: 14, offset: 22312}, expr: ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, &zeroOrMoreExpr{ - pos: position{line: 683, col: 19, offset: 22047}, + pos: position{line: 690, col: 19, offset: 22317}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonListElementContinuationElement1822, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -46736,28 +46963,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonListElementContinuationElement1825, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -46766,9 +46993,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -46778,18 +47005,18 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 2992, col: 5, offset: 97430}, + pos: position{line: 2888, col: 5, offset: 94067}, val: "|", ignoreCase: false, want: "\"|\"", }, &zeroOrMoreExpr{ - pos: position{line: 2992, col: 9, offset: 97434}, + pos: position{line: 2888, col: 9, offset: 94071}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonListElementContinuationElement1834, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -46798,23 +47025,23 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 2992, col: 16, offset: 97441}, + pos: position{line: 2888, col: 16, offset: 94078}, label: "content", expr: &zeroOrOneExpr{ - pos: position{line: 2992, col: 25, offset: 97450}, + pos: position{line: 2888, col: 25, offset: 94087}, expr: &actionExpr{ - pos: position{line: 2998, col: 5, offset: 97593}, + pos: position{line: 2894, col: 5, offset: 94230}, run: (*parser).callonListElementContinuationElement1838, expr: &labeledExpr{ - pos: position{line: 2998, col: 5, offset: 97593}, + pos: position{line: 2894, col: 5, offset: 94230}, label: "content", expr: &actionExpr{ - pos: position{line: 2998, col: 14, offset: 97602}, + pos: position{line: 2894, col: 14, offset: 94239}, run: (*parser).callonListElementContinuationElement1840, expr: &oneOrMoreExpr{ - pos: position{line: 2998, col: 14, offset: 97602}, + pos: position{line: 2894, col: 14, offset: 94239}, expr: &charClassMatcher{ - pos: position{line: 2998, col: 14, offset: 97602}, + pos: position{line: 2894, col: 14, offset: 94239}, val: "[^\\r\\n|]", chars: []rune{'\r', '\n', '|'}, ignoreCase: false, @@ -46832,28 +47059,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonListElementContinuationElement1844, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -46862,37 +47089,37 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, }, &zeroOrMoreExpr{ - pos: position{line: 2975, col: 5, offset: 97019}, + pos: position{line: 2871, col: 5, offset: 93656}, expr: &actionExpr{ - pos: position{line: 683, col: 14, offset: 22042}, + pos: position{line: 690, col: 14, offset: 22312}, run: (*parser).callonListElementContinuationElement1852, expr: &seqExpr{ - pos: position{line: 683, col: 14, offset: 22042}, + pos: position{line: 690, col: 14, offset: 22312}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 683, col: 14, offset: 22042}, + pos: position{line: 690, col: 14, offset: 22312}, expr: ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, &zeroOrMoreExpr{ - pos: position{line: 683, col: 19, offset: 22047}, + pos: position{line: 690, col: 19, offset: 22317}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonListElementContinuationElement1858, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -46901,28 +47128,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonListElementContinuationElement1861, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -46931,9 +47158,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -46950,24 +47177,24 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2955, col: 22, offset: 96570}, + pos: position{line: 2851, col: 22, offset: 93207}, alternatives: []interface{}{ &seqExpr{ - pos: position{line: 2951, col: 19, offset: 96490}, + pos: position{line: 2847, col: 19, offset: 93127}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2951, col: 19, offset: 96490}, + pos: position{line: 2847, col: 19, offset: 93127}, val: "|===", ignoreCase: false, want: "\"|===\"", }, &zeroOrMoreExpr{ - pos: position{line: 2951, col: 26, offset: 96497}, + pos: position{line: 2847, col: 26, offset: 93134}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonListElementContinuationElement1872, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -46976,28 +47203,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonListElementContinuationElement1875, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -47006,9 +47233,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -47016,9 +47243,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -47027,36 +47254,36 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2876, col: 22, offset: 94317}, + pos: position{line: 2762, col: 22, offset: 90750}, run: (*parser).callonListElementContinuationElement1884, expr: &seqExpr{ - pos: position{line: 2876, col: 22, offset: 94317}, + pos: position{line: 2762, col: 22, offset: 90750}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2881, col: 31, offset: 94538}, + pos: position{line: 2767, col: 31, offset: 90971}, val: "//", ignoreCase: false, want: "\"//\"", }, ¬Expr{ - pos: position{line: 2881, col: 36, offset: 94543}, + pos: position{line: 2767, col: 36, offset: 90976}, expr: &litMatcher{ - pos: position{line: 2881, col: 37, offset: 94544}, + pos: position{line: 2767, col: 37, offset: 90977}, val: "//", ignoreCase: false, want: "\"//\"", }, }, &labeledExpr{ - pos: position{line: 2876, col: 49, offset: 94344}, + pos: position{line: 2762, col: 49, offset: 90777}, label: "content", expr: &actionExpr{ - pos: position{line: 2883, col: 29, offset: 94579}, + pos: position{line: 2769, col: 29, offset: 91012}, run: (*parser).callonListElementContinuationElement1890, expr: &zeroOrMoreExpr{ - pos: position{line: 2883, col: 29, offset: 94579}, + pos: position{line: 2769, col: 29, offset: 91012}, expr: &charClassMatcher{ - pos: position{line: 2883, col: 29, offset: 94579}, + pos: position{line: 2769, col: 29, offset: 91012}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -47066,28 +47293,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonListElementContinuationElement1894, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -47096,9 +47323,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -47107,13 +47334,13 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1838, col: 5, offset: 60391}, + pos: position{line: 1845, col: 5, offset: 60646}, run: (*parser).callonListElementContinuationElement1901, expr: &seqExpr{ - pos: position{line: 1838, col: 5, offset: 60391}, + pos: position{line: 1845, col: 5, offset: 60646}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1838, col: 5, offset: 60391}, + pos: position{line: 1845, col: 5, offset: 60646}, label: "kind", expr: &choiceExpr{ pos: position{line: 293, col: 19, offset: 9062}, @@ -47172,30 +47399,30 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1838, col: 27, offset: 60413}, + pos: position{line: 1845, col: 27, offset: 60668}, val: ": ", ignoreCase: false, want: "\": \"", }, &labeledExpr{ - pos: position{line: 1839, col: 5, offset: 60423}, + pos: position{line: 1846, col: 5, offset: 60678}, label: "firstLine", expr: &actionExpr{ - pos: position{line: 1850, col: 5, offset: 60767}, + pos: position{line: 1857, col: 5, offset: 61022}, run: (*parser).callonListElementContinuationElement1917, expr: &seqExpr{ - pos: position{line: 1850, col: 5, offset: 60767}, + pos: position{line: 1857, col: 5, offset: 61022}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1850, col: 5, offset: 60767}, + pos: position{line: 1857, col: 5, offset: 61022}, label: "content", expr: &actionExpr{ - pos: position{line: 1850, col: 14, offset: 60776}, + pos: position{line: 1857, col: 14, offset: 61031}, run: (*parser).callonListElementContinuationElement1920, expr: &oneOrMoreExpr{ - pos: position{line: 1850, col: 14, offset: 60776}, + pos: position{line: 1857, col: 14, offset: 61031}, expr: &charClassMatcher{ - pos: position{line: 1850, col: 14, offset: 60776}, + pos: position{line: 1857, col: 14, offset: 61031}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -47205,32 +47432,32 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1853, col: 5, offset: 60883}, + pos: position{line: 1860, col: 5, offset: 61138}, run: (*parser).callonListElementContinuationElement1923, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonListElementContinuationElement1925, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -47239,9 +47466,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -47251,34 +47478,34 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1840, col: 5, offset: 60457}, + pos: position{line: 1847, col: 5, offset: 60712}, label: "otherLines", expr: &zeroOrMoreExpr{ - pos: position{line: 1840, col: 16, offset: 60468}, + pos: position{line: 1847, col: 16, offset: 60723}, expr: &actionExpr{ - pos: position{line: 1841, col: 9, offset: 60478}, + pos: position{line: 1848, col: 9, offset: 60733}, run: (*parser).callonListElementContinuationElement1934, expr: &seqExpr{ - pos: position{line: 1841, col: 9, offset: 60478}, + pos: position{line: 1848, col: 9, offset: 60733}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 1841, col: 9, offset: 60478}, + pos: position{line: 1848, col: 9, offset: 60733}, expr: &seqExpr{ - pos: position{line: 1578, col: 34, offset: 51769}, + pos: position{line: 1585, col: 34, offset: 52024}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1578, col: 34, offset: 51769}, + pos: position{line: 1585, col: 34, offset: 52024}, val: "+", ignoreCase: false, want: "\"+\"", }, &zeroOrMoreExpr{ - pos: position{line: 1578, col: 38, offset: 51773}, + pos: position{line: 1585, col: 38, offset: 52028}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonListElementContinuationElement1940, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -47287,25 +47514,25 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonListElementContinuationElement1942, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -47317,42 +47544,42 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1842, col: 9, offset: 60517}, + pos: position{line: 1849, col: 9, offset: 60772}, label: "line", expr: &choiceExpr{ - pos: position{line: 1842, col: 15, offset: 60523}, + pos: position{line: 1849, col: 15, offset: 60778}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2876, col: 22, offset: 94317}, + pos: position{line: 2762, col: 22, offset: 90750}, run: (*parser).callonListElementContinuationElement1949, expr: &seqExpr{ - pos: position{line: 2876, col: 22, offset: 94317}, + pos: position{line: 2762, col: 22, offset: 90750}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2881, col: 31, offset: 94538}, + pos: position{line: 2767, col: 31, offset: 90971}, val: "//", ignoreCase: false, want: "\"//\"", }, ¬Expr{ - pos: position{line: 2881, col: 36, offset: 94543}, + pos: position{line: 2767, col: 36, offset: 90976}, expr: &litMatcher{ - pos: position{line: 2881, col: 37, offset: 94544}, + pos: position{line: 2767, col: 37, offset: 90977}, val: "//", ignoreCase: false, want: "\"//\"", }, }, &labeledExpr{ - pos: position{line: 2876, col: 49, offset: 94344}, + pos: position{line: 2762, col: 49, offset: 90777}, label: "content", expr: &actionExpr{ - pos: position{line: 2883, col: 29, offset: 94579}, + pos: position{line: 2769, col: 29, offset: 91012}, run: (*parser).callonListElementContinuationElement1955, expr: &zeroOrMoreExpr{ - pos: position{line: 2883, col: 29, offset: 94579}, + pos: position{line: 2769, col: 29, offset: 91012}, expr: &charClassMatcher{ - pos: position{line: 2883, col: 29, offset: 94579}, + pos: position{line: 2769, col: 29, offset: 91012}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -47362,28 +47589,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonListElementContinuationElement1959, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -47392,9 +47619,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -47403,21 +47630,21 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1850, col: 5, offset: 60767}, + pos: position{line: 1857, col: 5, offset: 61022}, run: (*parser).callonListElementContinuationElement1966, expr: &seqExpr{ - pos: position{line: 1850, col: 5, offset: 60767}, + pos: position{line: 1857, col: 5, offset: 61022}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1850, col: 5, offset: 60767}, + pos: position{line: 1857, col: 5, offset: 61022}, label: "content", expr: &actionExpr{ - pos: position{line: 1850, col: 14, offset: 60776}, + pos: position{line: 1857, col: 14, offset: 61031}, run: (*parser).callonListElementContinuationElement1969, expr: &oneOrMoreExpr{ - pos: position{line: 1850, col: 14, offset: 60776}, + pos: position{line: 1857, col: 14, offset: 61031}, expr: &charClassMatcher{ - pos: position{line: 1850, col: 14, offset: 60776}, + pos: position{line: 1857, col: 14, offset: 61031}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -47427,32 +47654,32 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1853, col: 5, offset: 60883}, + pos: position{line: 1860, col: 5, offset: 61138}, run: (*parser).callonListElementContinuationElement1972, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonListElementContinuationElement1974, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -47461,9 +47688,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -47483,36 +47710,36 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1861, col: 5, offset: 61049}, + pos: position{line: 1868, col: 5, offset: 61304}, run: (*parser).callonListElementContinuationElement1981, expr: &seqExpr{ - pos: position{line: 1861, col: 5, offset: 61049}, + pos: position{line: 1868, col: 5, offset: 61304}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1861, col: 5, offset: 61049}, + pos: position{line: 1868, col: 5, offset: 61304}, label: "firstLine", expr: &actionExpr{ - pos: position{line: 1868, col: 5, offset: 61334}, + pos: position{line: 1875, col: 5, offset: 61589}, run: (*parser).callonListElementContinuationElement1984, expr: &seqExpr{ - pos: position{line: 1868, col: 5, offset: 61334}, + pos: position{line: 1875, col: 5, offset: 61589}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1868, col: 5, offset: 61334}, + pos: position{line: 1875, col: 5, offset: 61589}, label: "content", expr: &actionExpr{ - pos: position{line: 1868, col: 14, offset: 61343}, + pos: position{line: 1875, col: 14, offset: 61598}, run: (*parser).callonListElementContinuationElement1987, expr: &seqExpr{ - pos: position{line: 1868, col: 14, offset: 61343}, + pos: position{line: 1875, col: 14, offset: 61598}, exprs: []interface{}{ &actionExpr{ - pos: position{line: 3180, col: 11, offset: 103464}, + pos: position{line: 3076, col: 11, offset: 100101}, run: (*parser).callonListElementContinuationElement1989, expr: &oneOrMoreExpr{ - pos: position{line: 3180, col: 11, offset: 103464}, + pos: position{line: 3076, col: 11, offset: 100101}, expr: &charClassMatcher{ - pos: position{line: 3180, col: 12, offset: 103465}, + pos: position{line: 3076, col: 12, offset: 100102}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -47521,9 +47748,9 @@ var g = &grammar{ }, }, &oneOrMoreExpr{ - pos: position{line: 1868, col: 21, offset: 61350}, + pos: position{line: 1875, col: 21, offset: 61605}, expr: &charClassMatcher{ - pos: position{line: 1868, col: 21, offset: 61350}, + pos: position{line: 1875, col: 21, offset: 61605}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -47535,32 +47762,32 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1871, col: 5, offset: 61407}, + pos: position{line: 1878, col: 5, offset: 61662}, run: (*parser).callonListElementContinuationElement1994, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonListElementContinuationElement1996, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -47569,9 +47796,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -47581,44 +47808,44 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1862, col: 5, offset: 61090}, + pos: position{line: 1869, col: 5, offset: 61345}, label: "otherLines", expr: &zeroOrMoreExpr{ - pos: position{line: 1862, col: 16, offset: 61101}, + pos: position{line: 1869, col: 16, offset: 61356}, expr: &choiceExpr{ - pos: position{line: 1862, col: 17, offset: 61102}, + pos: position{line: 1869, col: 17, offset: 61357}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2876, col: 22, offset: 94317}, + pos: position{line: 2762, col: 22, offset: 90750}, run: (*parser).callonListElementContinuationElement2006, expr: &seqExpr{ - pos: position{line: 2876, col: 22, offset: 94317}, + pos: position{line: 2762, col: 22, offset: 90750}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2881, col: 31, offset: 94538}, + pos: position{line: 2767, col: 31, offset: 90971}, val: "//", ignoreCase: false, want: "\"//\"", }, ¬Expr{ - pos: position{line: 2881, col: 36, offset: 94543}, + pos: position{line: 2767, col: 36, offset: 90976}, expr: &litMatcher{ - pos: position{line: 2881, col: 37, offset: 94544}, + pos: position{line: 2767, col: 37, offset: 90977}, val: "//", ignoreCase: false, want: "\"//\"", }, }, &labeledExpr{ - pos: position{line: 2876, col: 49, offset: 94344}, + pos: position{line: 2762, col: 49, offset: 90777}, label: "content", expr: &actionExpr{ - pos: position{line: 2883, col: 29, offset: 94579}, + pos: position{line: 2769, col: 29, offset: 91012}, run: (*parser).callonListElementContinuationElement2012, expr: &zeroOrMoreExpr{ - pos: position{line: 2883, col: 29, offset: 94579}, + pos: position{line: 2769, col: 29, offset: 91012}, expr: &charClassMatcher{ - pos: position{line: 2883, col: 29, offset: 94579}, + pos: position{line: 2769, col: 29, offset: 91012}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -47628,28 +47855,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonListElementContinuationElement2016, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -47658,9 +47885,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -47669,21 +47896,21 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1850, col: 5, offset: 60767}, + pos: position{line: 1857, col: 5, offset: 61022}, run: (*parser).callonListElementContinuationElement2023, expr: &seqExpr{ - pos: position{line: 1850, col: 5, offset: 60767}, + pos: position{line: 1857, col: 5, offset: 61022}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1850, col: 5, offset: 60767}, + pos: position{line: 1857, col: 5, offset: 61022}, label: "content", expr: &actionExpr{ - pos: position{line: 1850, col: 14, offset: 60776}, + pos: position{line: 1857, col: 14, offset: 61031}, run: (*parser).callonListElementContinuationElement2026, expr: &oneOrMoreExpr{ - pos: position{line: 1850, col: 14, offset: 60776}, + pos: position{line: 1857, col: 14, offset: 61031}, expr: &charClassMatcher{ - pos: position{line: 1850, col: 14, offset: 60776}, + pos: position{line: 1857, col: 14, offset: 61031}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -47693,32 +47920,32 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1853, col: 5, offset: 60883}, + pos: position{line: 1860, col: 5, offset: 61138}, run: (*parser).callonListElementContinuationElement2029, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonListElementContinuationElement2031, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -47727,9 +47954,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -47745,21 +47972,21 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1608, col: 5, offset: 52750}, + pos: position{line: 1615, col: 5, offset: 53005}, run: (*parser).callonListElementContinuationElement2038, expr: &seqExpr{ - pos: position{line: 1608, col: 5, offset: 52750}, + pos: position{line: 1615, col: 5, offset: 53005}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1608, col: 5, offset: 52750}, + pos: position{line: 1615, col: 5, offset: 53005}, label: "content", expr: &actionExpr{ - pos: position{line: 1608, col: 14, offset: 52759}, + pos: position{line: 1615, col: 14, offset: 53014}, run: (*parser).callonListElementContinuationElement2041, expr: &oneOrMoreExpr{ - pos: position{line: 1608, col: 14, offset: 52759}, + pos: position{line: 1615, col: 14, offset: 53014}, expr: &charClassMatcher{ - pos: position{line: 1608, col: 14, offset: 52759}, + pos: position{line: 1615, col: 14, offset: 53014}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -47769,28 +47996,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonListElementContinuationElement2045, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -47799,9 +48026,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -47818,33 +48045,33 @@ var g = &grammar{ }, { name: "Callout", - pos: position{line: 1766, col: 1, offset: 57932}, + pos: position{line: 1773, col: 1, offset: 58187}, expr: &actionExpr{ - pos: position{line: 1768, col: 5, offset: 58010}, + pos: position{line: 1775, col: 5, offset: 58265}, run: (*parser).callonCallout1, expr: &seqExpr{ - pos: position{line: 1768, col: 5, offset: 58010}, + pos: position{line: 1775, col: 5, offset: 58265}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 1768, col: 5, offset: 58010}, + pos: position{line: 1775, col: 5, offset: 58265}, run: (*parser).callonCallout3, }, &litMatcher{ - pos: position{line: 1771, col: 5, offset: 58077}, + pos: position{line: 1778, col: 5, offset: 58332}, val: "<", ignoreCase: false, want: "\"<\"", }, &labeledExpr{ - pos: position{line: 1771, col: 9, offset: 58081}, + pos: position{line: 1778, col: 9, offset: 58336}, label: "ref", expr: &actionExpr{ - pos: position{line: 1771, col: 14, offset: 58086}, + pos: position{line: 1778, col: 14, offset: 58341}, run: (*parser).callonCallout6, expr: &oneOrMoreExpr{ - pos: position{line: 1771, col: 14, offset: 58086}, + pos: position{line: 1778, col: 14, offset: 58341}, expr: &charClassMatcher{ - pos: position{line: 1771, col: 14, offset: 58086}, + pos: position{line: 1778, col: 14, offset: 58341}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -47854,18 +48081,18 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1771, col: 62, offset: 58134}, + pos: position{line: 1778, col: 62, offset: 58389}, val: ">", ignoreCase: false, want: "\">\"", }, &zeroOrMoreExpr{ - pos: position{line: 1771, col: 66, offset: 58138}, + pos: position{line: 1778, col: 66, offset: 58393}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonCallout11, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -47874,30 +48101,30 @@ var g = &grammar{ }, }, &andExpr{ - pos: position{line: 1771, col: 73, offset: 58145}, + pos: position{line: 1778, col: 73, offset: 58400}, expr: &choiceExpr{ - pos: position{line: 1771, col: 75, offset: 58147}, + pos: position{line: 1778, col: 75, offset: 58402}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonCallout15, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -47906,13 +48133,13 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, &ruleRefExpr{ - pos: position{line: 1771, col: 81, offset: 58153}, + pos: position{line: 1778, col: 81, offset: 58408}, name: "Callout", }, }, @@ -47924,17 +48151,17 @@ var g = &grammar{ }, { name: "ShortcutParagraph", - pos: position{line: 1797, col: 1, offset: 59014}, + pos: position{line: 1804, col: 1, offset: 59269}, expr: &actionExpr{ - pos: position{line: 1798, col: 5, offset: 59040}, + pos: position{line: 1805, col: 5, offset: 59295}, run: (*parser).callonShortcutParagraph1, expr: &seqExpr{ - pos: position{line: 1798, col: 5, offset: 59040}, + pos: position{line: 1805, col: 5, offset: 59295}, exprs: []interface{}{ &andExpr{ - pos: position{line: 1798, col: 5, offset: 59040}, + pos: position{line: 1805, col: 5, offset: 59295}, expr: &charClassMatcher{ - pos: position{line: 3090, col: 13, offset: 100713}, + pos: position{line: 2986, col: 13, offset: 97350}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -47943,22 +48170,22 @@ var g = &grammar{ }, }, &andExpr{ - pos: position{line: 1799, col: 5, offset: 59151}, + pos: position{line: 1806, col: 5, offset: 59406}, expr: ¬Expr{ - pos: position{line: 1799, col: 7, offset: 59153}, + pos: position{line: 1806, col: 7, offset: 59408}, expr: &actionExpr{ - pos: position{line: 1626, col: 5, offset: 53243}, + pos: position{line: 1633, col: 5, offset: 53498}, run: (*parser).callonShortcutParagraph7, expr: &seqExpr{ - pos: position{line: 1626, col: 5, offset: 53243}, + pos: position{line: 1633, col: 5, offset: 53498}, exprs: []interface{}{ &zeroOrMoreExpr{ - pos: position{line: 1626, col: 5, offset: 53243}, + pos: position{line: 1633, col: 5, offset: 53498}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonShortcutParagraph10, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -47967,27 +48194,27 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1626, col: 12, offset: 53250}, + pos: position{line: 1633, col: 12, offset: 53505}, label: "prefix", expr: &choiceExpr{ - pos: position{line: 1628, col: 9, offset: 53313}, + pos: position{line: 1635, col: 9, offset: 53568}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 1628, col: 9, offset: 53313}, + pos: position{line: 1635, col: 9, offset: 53568}, run: (*parser).callonShortcutParagraph14, expr: &seqExpr{ - pos: position{line: 1628, col: 9, offset: 53313}, + pos: position{line: 1635, col: 9, offset: 53568}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1628, col: 9, offset: 53313}, + pos: position{line: 1635, col: 9, offset: 53568}, label: "depth", expr: &actionExpr{ - pos: position{line: 1628, col: 16, offset: 53320}, + pos: position{line: 1635, col: 16, offset: 53575}, run: (*parser).callonShortcutParagraph17, expr: &oneOrMoreExpr{ - pos: position{line: 1628, col: 16, offset: 53320}, + pos: position{line: 1635, col: 16, offset: 53575}, expr: &litMatcher{ - pos: position{line: 1628, col: 17, offset: 53321}, + pos: position{line: 1635, col: 17, offset: 53576}, val: ".", ignoreCase: false, want: "\".\"", @@ -47996,22 +48223,22 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1632, col: 9, offset: 53421}, + pos: position{line: 1639, col: 9, offset: 53676}, run: (*parser).callonShortcutParagraph20, }, }, }, }, &actionExpr{ - pos: position{line: 1651, col: 11, offset: 54138}, + pos: position{line: 1658, col: 11, offset: 54393}, run: (*parser).callonShortcutParagraph21, expr: &seqExpr{ - pos: position{line: 1651, col: 11, offset: 54138}, + pos: position{line: 1658, col: 11, offset: 54393}, exprs: []interface{}{ &oneOrMoreExpr{ - pos: position{line: 1651, col: 11, offset: 54138}, + pos: position{line: 1658, col: 11, offset: 54393}, expr: &charClassMatcher{ - pos: position{line: 1651, col: 12, offset: 54139}, + pos: position{line: 1658, col: 12, offset: 54394}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -48019,7 +48246,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1651, col: 20, offset: 54147}, + pos: position{line: 1658, col: 20, offset: 54402}, val: ".", ignoreCase: false, want: "\".\"", @@ -48028,20 +48255,20 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1653, col: 13, offset: 54264}, + pos: position{line: 1660, col: 13, offset: 54519}, run: (*parser).callonShortcutParagraph26, expr: &seqExpr{ - pos: position{line: 1653, col: 13, offset: 54264}, + pos: position{line: 1660, col: 13, offset: 54519}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 1653, col: 14, offset: 54265}, + pos: position{line: 1660, col: 14, offset: 54520}, val: "[a-z]", ranges: []rune{'a', 'z'}, ignoreCase: false, inverted: false, }, &litMatcher{ - pos: position{line: 1653, col: 21, offset: 54272}, + pos: position{line: 1660, col: 21, offset: 54527}, val: ".", ignoreCase: false, want: "\".\"", @@ -48050,20 +48277,20 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1655, col: 13, offset: 54392}, + pos: position{line: 1662, col: 13, offset: 54647}, run: (*parser).callonShortcutParagraph30, expr: &seqExpr{ - pos: position{line: 1655, col: 13, offset: 54392}, + pos: position{line: 1662, col: 13, offset: 54647}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 1655, col: 14, offset: 54393}, + pos: position{line: 1662, col: 14, offset: 54648}, val: "[A-Z]", ranges: []rune{'A', 'Z'}, ignoreCase: false, inverted: false, }, &litMatcher{ - pos: position{line: 1655, col: 21, offset: 54400}, + pos: position{line: 1662, col: 21, offset: 54655}, val: ".", ignoreCase: false, want: "\".\"", @@ -48072,15 +48299,15 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1657, col: 13, offset: 54520}, + pos: position{line: 1664, col: 13, offset: 54775}, run: (*parser).callonShortcutParagraph34, expr: &seqExpr{ - pos: position{line: 1657, col: 13, offset: 54520}, + pos: position{line: 1664, col: 13, offset: 54775}, exprs: []interface{}{ &oneOrMoreExpr{ - pos: position{line: 1657, col: 13, offset: 54520}, + pos: position{line: 1664, col: 13, offset: 54775}, expr: &charClassMatcher{ - pos: position{line: 1657, col: 14, offset: 54521}, + pos: position{line: 1664, col: 14, offset: 54776}, val: "[ivxdlcm]", chars: []rune{'i', 'v', 'x', 'd', 'l', 'c', 'm'}, ignoreCase: false, @@ -48088,7 +48315,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1657, col: 26, offset: 54533}, + pos: position{line: 1664, col: 26, offset: 54788}, val: ")", ignoreCase: false, want: "\")\"", @@ -48097,15 +48324,15 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1659, col: 13, offset: 54653}, + pos: position{line: 1666, col: 13, offset: 54908}, run: (*parser).callonShortcutParagraph39, expr: &seqExpr{ - pos: position{line: 1659, col: 13, offset: 54653}, + pos: position{line: 1666, col: 13, offset: 54908}, exprs: []interface{}{ &oneOrMoreExpr{ - pos: position{line: 1659, col: 13, offset: 54653}, + pos: position{line: 1666, col: 13, offset: 54908}, expr: &charClassMatcher{ - pos: position{line: 1659, col: 14, offset: 54654}, + pos: position{line: 1666, col: 14, offset: 54909}, val: "[IVXDLCM]", chars: []rune{'I', 'V', 'X', 'D', 'L', 'C', 'M'}, ignoreCase: false, @@ -48113,7 +48340,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1659, col: 26, offset: 54666}, + pos: position{line: 1666, col: 26, offset: 54921}, val: ")", ignoreCase: false, want: "\")\"", @@ -48125,12 +48352,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 3180, col: 11, offset: 103464}, + pos: position{line: 3076, col: 11, offset: 100101}, run: (*parser).callonShortcutParagraph44, expr: &oneOrMoreExpr{ - pos: position{line: 3180, col: 11, offset: 103464}, + pos: position{line: 3076, col: 11, offset: 100101}, expr: &charClassMatcher{ - pos: position{line: 3180, col: 12, offset: 103465}, + pos: position{line: 3076, col: 12, offset: 100102}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -48144,22 +48371,22 @@ var g = &grammar{ }, }, &andExpr{ - pos: position{line: 1800, col: 5, offset: 59184}, + pos: position{line: 1807, col: 5, offset: 59439}, expr: ¬Expr{ - pos: position{line: 1800, col: 7, offset: 59186}, + pos: position{line: 1807, col: 7, offset: 59441}, expr: &actionExpr{ - pos: position{line: 1676, col: 5, offset: 55205}, + pos: position{line: 1683, col: 5, offset: 55460}, run: (*parser).callonShortcutParagraph49, expr: &seqExpr{ - pos: position{line: 1676, col: 5, offset: 55205}, + pos: position{line: 1683, col: 5, offset: 55460}, exprs: []interface{}{ &zeroOrMoreExpr{ - pos: position{line: 1676, col: 5, offset: 55205}, + pos: position{line: 1683, col: 5, offset: 55460}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonShortcutParagraph52, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -48168,27 +48395,27 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1676, col: 12, offset: 55212}, + pos: position{line: 1683, col: 12, offset: 55467}, label: "prefix", expr: &choiceExpr{ - pos: position{line: 1676, col: 20, offset: 55220}, + pos: position{line: 1683, col: 20, offset: 55475}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 1678, col: 9, offset: 55277}, + pos: position{line: 1685, col: 9, offset: 55532}, run: (*parser).callonShortcutParagraph56, expr: &seqExpr{ - pos: position{line: 1678, col: 9, offset: 55277}, + pos: position{line: 1685, col: 9, offset: 55532}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1678, col: 9, offset: 55277}, + pos: position{line: 1685, col: 9, offset: 55532}, label: "depth", expr: &actionExpr{ - pos: position{line: 1678, col: 16, offset: 55284}, + pos: position{line: 1685, col: 16, offset: 55539}, run: (*parser).callonShortcutParagraph59, expr: &oneOrMoreExpr{ - pos: position{line: 1678, col: 16, offset: 55284}, + pos: position{line: 1685, col: 16, offset: 55539}, expr: &litMatcher{ - pos: position{line: 1678, col: 17, offset: 55285}, + pos: position{line: 1685, col: 17, offset: 55540}, val: "*", ignoreCase: false, want: "\"*\"", @@ -48197,20 +48424,20 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1682, col: 9, offset: 55385}, + pos: position{line: 1689, col: 9, offset: 55640}, run: (*parser).callonShortcutParagraph62, }, }, }, }, &labeledExpr{ - pos: position{line: 1699, col: 14, offset: 56092}, + pos: position{line: 1706, col: 14, offset: 56347}, label: "depth", expr: &actionExpr{ - pos: position{line: 1699, col: 21, offset: 56099}, + pos: position{line: 1706, col: 21, offset: 56354}, run: (*parser).callonShortcutParagraph64, expr: &litMatcher{ - pos: position{line: 1699, col: 22, offset: 56100}, + pos: position{line: 1706, col: 22, offset: 56355}, val: "-", ignoreCase: false, want: "\"-\"", @@ -48221,12 +48448,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 3180, col: 11, offset: 103464}, + pos: position{line: 3076, col: 11, offset: 100101}, run: (*parser).callonShortcutParagraph66, expr: &oneOrMoreExpr{ - pos: position{line: 3180, col: 11, offset: 103464}, + pos: position{line: 3076, col: 11, offset: 100101}, expr: &charClassMatcher{ - pos: position{line: 3180, col: 12, offset: 103465}, + pos: position{line: 3076, col: 12, offset: 100102}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -48240,9 +48467,9 @@ var g = &grammar{ }, }, &andExpr{ - pos: position{line: 1801, col: 5, offset: 59219}, + pos: position{line: 1808, col: 5, offset: 59474}, expr: ¬Expr{ - pos: position{line: 1801, col: 7, offset: 59221}, + pos: position{line: 1808, col: 7, offset: 59476}, expr: &choiceExpr{ pos: position{line: 293, col: 19, offset: 9062}, alternatives: []interface{}{ @@ -48301,24 +48528,24 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1802, col: 5, offset: 59242}, + pos: position{line: 1809, col: 5, offset: 59497}, label: "firstLine", expr: &actionExpr{ - pos: position{line: 1850, col: 5, offset: 60767}, + pos: position{line: 1857, col: 5, offset: 61022}, run: (*parser).callonShortcutParagraph83, expr: &seqExpr{ - pos: position{line: 1850, col: 5, offset: 60767}, + pos: position{line: 1857, col: 5, offset: 61022}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1850, col: 5, offset: 60767}, + pos: position{line: 1857, col: 5, offset: 61022}, label: "content", expr: &actionExpr{ - pos: position{line: 1850, col: 14, offset: 60776}, + pos: position{line: 1857, col: 14, offset: 61031}, run: (*parser).callonShortcutParagraph86, expr: &oneOrMoreExpr{ - pos: position{line: 1850, col: 14, offset: 60776}, + pos: position{line: 1857, col: 14, offset: 61031}, expr: &charClassMatcher{ - pos: position{line: 1850, col: 14, offset: 60776}, + pos: position{line: 1857, col: 14, offset: 61031}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -48328,32 +48555,32 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1853, col: 5, offset: 60883}, + pos: position{line: 1860, col: 5, offset: 61138}, run: (*parser).callonShortcutParagraph89, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonShortcutParagraph91, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -48362,9 +48589,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -48374,53 +48601,53 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1803, col: 5, offset: 59276}, + pos: position{line: 1810, col: 5, offset: 59531}, run: (*parser).callonShortcutParagraph98, }, &labeledExpr{ - pos: position{line: 1810, col: 5, offset: 59638}, + pos: position{line: 1817, col: 5, offset: 59893}, label: "otherLines", expr: &zeroOrMoreExpr{ - pos: position{line: 1810, col: 16, offset: 59649}, + pos: position{line: 1817, col: 16, offset: 59904}, expr: &actionExpr{ - pos: position{line: 1811, col: 9, offset: 59659}, + pos: position{line: 1818, col: 9, offset: 59914}, run: (*parser).callonShortcutParagraph101, expr: &seqExpr{ - pos: position{line: 1811, col: 9, offset: 59659}, + pos: position{line: 1818, col: 9, offset: 59914}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 1811, col: 9, offset: 59659}, + pos: position{line: 1818, col: 9, offset: 59914}, expr: ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, ¬Expr{ - pos: position{line: 1812, col: 9, offset: 59673}, + pos: position{line: 1819, col: 9, offset: 59928}, expr: &actionExpr{ - pos: position{line: 683, col: 14, offset: 22042}, + pos: position{line: 690, col: 14, offset: 22312}, run: (*parser).callonShortcutParagraph107, expr: &seqExpr{ - pos: position{line: 683, col: 14, offset: 22042}, + pos: position{line: 690, col: 14, offset: 22312}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 683, col: 14, offset: 22042}, + pos: position{line: 690, col: 14, offset: 22312}, expr: ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, &zeroOrMoreExpr{ - pos: position{line: 683, col: 19, offset: 22047}, + pos: position{line: 690, col: 19, offset: 22317}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonShortcutParagraph113, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -48429,28 +48656,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonShortcutParagraph116, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -48459,9 +48686,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -48471,30 +48698,30 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 1813, col: 9, offset: 59692}, + pos: position{line: 1820, col: 9, offset: 59947}, expr: &ruleRefExpr{ - pos: position{line: 1813, col: 10, offset: 59693}, + pos: position{line: 1820, col: 10, offset: 59948}, name: "BlockAttributes", }, }, ¬Expr{ - pos: position{line: 1814, col: 9, offset: 59717}, + pos: position{line: 1821, col: 9, offset: 59972}, expr: &seqExpr{ - pos: position{line: 1578, col: 34, offset: 51769}, + pos: position{line: 1585, col: 34, offset: 52024}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1578, col: 34, offset: 51769}, + pos: position{line: 1585, col: 34, offset: 52024}, val: "+", ignoreCase: false, want: "\"+\"", }, &zeroOrMoreExpr{ - pos: position{line: 1578, col: 38, offset: 51773}, + pos: position{line: 1585, col: 38, offset: 52028}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonShortcutParagraph129, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -48503,25 +48730,25 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonShortcutParagraph131, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -48533,42 +48760,42 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1815, col: 9, offset: 59756}, + pos: position{line: 1822, col: 9, offset: 60011}, label: "line", expr: &choiceExpr{ - pos: position{line: 1815, col: 15, offset: 59762}, + pos: position{line: 1822, col: 15, offset: 60017}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2876, col: 22, offset: 94317}, + pos: position{line: 2762, col: 22, offset: 90750}, run: (*parser).callonShortcutParagraph138, expr: &seqExpr{ - pos: position{line: 2876, col: 22, offset: 94317}, + pos: position{line: 2762, col: 22, offset: 90750}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2881, col: 31, offset: 94538}, + pos: position{line: 2767, col: 31, offset: 90971}, val: "//", ignoreCase: false, want: "\"//\"", }, ¬Expr{ - pos: position{line: 2881, col: 36, offset: 94543}, + pos: position{line: 2767, col: 36, offset: 90976}, expr: &litMatcher{ - pos: position{line: 2881, col: 37, offset: 94544}, + pos: position{line: 2767, col: 37, offset: 90977}, val: "//", ignoreCase: false, want: "\"//\"", }, }, &labeledExpr{ - pos: position{line: 2876, col: 49, offset: 94344}, + pos: position{line: 2762, col: 49, offset: 90777}, label: "content", expr: &actionExpr{ - pos: position{line: 2883, col: 29, offset: 94579}, + pos: position{line: 2769, col: 29, offset: 91012}, run: (*parser).callonShortcutParagraph144, expr: &zeroOrMoreExpr{ - pos: position{line: 2883, col: 29, offset: 94579}, + pos: position{line: 2769, col: 29, offset: 91012}, expr: &charClassMatcher{ - pos: position{line: 2883, col: 29, offset: 94579}, + pos: position{line: 2769, col: 29, offset: 91012}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -48578,28 +48805,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonShortcutParagraph148, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -48608,9 +48835,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -48619,21 +48846,21 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1850, col: 5, offset: 60767}, + pos: position{line: 1857, col: 5, offset: 61022}, run: (*parser).callonShortcutParagraph155, expr: &seqExpr{ - pos: position{line: 1850, col: 5, offset: 60767}, + pos: position{line: 1857, col: 5, offset: 61022}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1850, col: 5, offset: 60767}, + pos: position{line: 1857, col: 5, offset: 61022}, label: "content", expr: &actionExpr{ - pos: position{line: 1850, col: 14, offset: 60776}, + pos: position{line: 1857, col: 14, offset: 61031}, run: (*parser).callonShortcutParagraph158, expr: &oneOrMoreExpr{ - pos: position{line: 1850, col: 14, offset: 60776}, + pos: position{line: 1857, col: 14, offset: 61031}, expr: &charClassMatcher{ - pos: position{line: 1850, col: 14, offset: 60776}, + pos: position{line: 1857, col: 14, offset: 61031}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -48643,32 +48870,32 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1853, col: 5, offset: 60883}, + pos: position{line: 1860, col: 5, offset: 61138}, run: (*parser).callonShortcutParagraph161, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonShortcutParagraph163, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -48677,9 +48904,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -48701,32 +48928,32 @@ var g = &grammar{ }, { name: "Paragraph", - pos: position{line: 1822, col: 1, offset: 59959}, + pos: position{line: 1829, col: 1, offset: 60214}, expr: &actionExpr{ - pos: position{line: 1823, col: 5, offset: 59977}, + pos: position{line: 1830, col: 5, offset: 60232}, run: (*parser).callonParagraph1, expr: &seqExpr{ - pos: position{line: 1823, col: 5, offset: 59977}, + pos: position{line: 1830, col: 5, offset: 60232}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1823, col: 5, offset: 59977}, + pos: position{line: 1830, col: 5, offset: 60232}, label: "firstLine", expr: &actionExpr{ - pos: position{line: 1850, col: 5, offset: 60767}, + pos: position{line: 1857, col: 5, offset: 61022}, run: (*parser).callonParagraph4, expr: &seqExpr{ - pos: position{line: 1850, col: 5, offset: 60767}, + pos: position{line: 1857, col: 5, offset: 61022}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1850, col: 5, offset: 60767}, + pos: position{line: 1857, col: 5, offset: 61022}, label: "content", expr: &actionExpr{ - pos: position{line: 1850, col: 14, offset: 60776}, + pos: position{line: 1857, col: 14, offset: 61031}, run: (*parser).callonParagraph7, expr: &oneOrMoreExpr{ - pos: position{line: 1850, col: 14, offset: 60776}, + pos: position{line: 1857, col: 14, offset: 61031}, expr: &charClassMatcher{ - pos: position{line: 1850, col: 14, offset: 60776}, + pos: position{line: 1857, col: 14, offset: 61031}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -48736,32 +48963,32 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1853, col: 5, offset: 60883}, + pos: position{line: 1860, col: 5, offset: 61138}, run: (*parser).callonParagraph10, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonParagraph12, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -48770,9 +48997,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -48782,49 +49009,49 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1824, col: 5, offset: 60011}, + pos: position{line: 1831, col: 5, offset: 60266}, label: "otherLines", expr: &zeroOrMoreExpr{ - pos: position{line: 1824, col: 16, offset: 60022}, + pos: position{line: 1831, col: 16, offset: 60277}, expr: &actionExpr{ - pos: position{line: 1825, col: 9, offset: 60032}, + pos: position{line: 1832, col: 9, offset: 60287}, run: (*parser).callonParagraph21, expr: &seqExpr{ - pos: position{line: 1825, col: 9, offset: 60032}, + pos: position{line: 1832, col: 9, offset: 60287}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 1825, col: 9, offset: 60032}, + pos: position{line: 1832, col: 9, offset: 60287}, expr: ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, ¬Expr{ - pos: position{line: 1826, col: 9, offset: 60045}, + pos: position{line: 1833, col: 9, offset: 60300}, expr: &actionExpr{ - pos: position{line: 683, col: 14, offset: 22042}, + pos: position{line: 690, col: 14, offset: 22312}, run: (*parser).callonParagraph27, expr: &seqExpr{ - pos: position{line: 683, col: 14, offset: 22042}, + pos: position{line: 690, col: 14, offset: 22312}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 683, col: 14, offset: 22042}, + pos: position{line: 690, col: 14, offset: 22312}, expr: ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, &zeroOrMoreExpr{ - pos: position{line: 683, col: 19, offset: 22047}, + pos: position{line: 690, col: 19, offset: 22317}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonParagraph33, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -48833,28 +49060,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonParagraph36, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -48863,9 +49090,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -48875,30 +49102,30 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 1827, col: 9, offset: 60064}, + pos: position{line: 1834, col: 9, offset: 60319}, expr: &ruleRefExpr{ - pos: position{line: 1827, col: 10, offset: 60065}, + pos: position{line: 1834, col: 10, offset: 60320}, name: "BlockAttributes", }, }, ¬Expr{ - pos: position{line: 1828, col: 9, offset: 60089}, + pos: position{line: 1835, col: 9, offset: 60344}, expr: &seqExpr{ - pos: position{line: 1578, col: 34, offset: 51769}, + pos: position{line: 1585, col: 34, offset: 52024}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1578, col: 34, offset: 51769}, + pos: position{line: 1585, col: 34, offset: 52024}, val: "+", ignoreCase: false, want: "\"+\"", }, &zeroOrMoreExpr{ - pos: position{line: 1578, col: 38, offset: 51773}, + pos: position{line: 1585, col: 38, offset: 52028}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonParagraph49, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -48907,25 +49134,25 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonParagraph51, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -48937,42 +49164,42 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1829, col: 9, offset: 60128}, + pos: position{line: 1836, col: 9, offset: 60383}, label: "line", expr: &choiceExpr{ - pos: position{line: 1829, col: 15, offset: 60134}, + pos: position{line: 1836, col: 15, offset: 60389}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2876, col: 22, offset: 94317}, + pos: position{line: 2762, col: 22, offset: 90750}, run: (*parser).callonParagraph58, expr: &seqExpr{ - pos: position{line: 2876, col: 22, offset: 94317}, + pos: position{line: 2762, col: 22, offset: 90750}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2881, col: 31, offset: 94538}, + pos: position{line: 2767, col: 31, offset: 90971}, val: "//", ignoreCase: false, want: "\"//\"", }, ¬Expr{ - pos: position{line: 2881, col: 36, offset: 94543}, + pos: position{line: 2767, col: 36, offset: 90976}, expr: &litMatcher{ - pos: position{line: 2881, col: 37, offset: 94544}, + pos: position{line: 2767, col: 37, offset: 90977}, val: "//", ignoreCase: false, want: "\"//\"", }, }, &labeledExpr{ - pos: position{line: 2876, col: 49, offset: 94344}, + pos: position{line: 2762, col: 49, offset: 90777}, label: "content", expr: &actionExpr{ - pos: position{line: 2883, col: 29, offset: 94579}, + pos: position{line: 2769, col: 29, offset: 91012}, run: (*parser).callonParagraph64, expr: &zeroOrMoreExpr{ - pos: position{line: 2883, col: 29, offset: 94579}, + pos: position{line: 2769, col: 29, offset: 91012}, expr: &charClassMatcher{ - pos: position{line: 2883, col: 29, offset: 94579}, + pos: position{line: 2769, col: 29, offset: 91012}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -48982,28 +49209,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonParagraph68, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -49012,9 +49239,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -49023,21 +49250,21 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1850, col: 5, offset: 60767}, + pos: position{line: 1857, col: 5, offset: 61022}, run: (*parser).callonParagraph75, expr: &seqExpr{ - pos: position{line: 1850, col: 5, offset: 60767}, + pos: position{line: 1857, col: 5, offset: 61022}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1850, col: 5, offset: 60767}, + pos: position{line: 1857, col: 5, offset: 61022}, label: "content", expr: &actionExpr{ - pos: position{line: 1850, col: 14, offset: 60776}, + pos: position{line: 1857, col: 14, offset: 61031}, run: (*parser).callonParagraph78, expr: &oneOrMoreExpr{ - pos: position{line: 1850, col: 14, offset: 60776}, + pos: position{line: 1857, col: 14, offset: 61031}, expr: &charClassMatcher{ - pos: position{line: 1850, col: 14, offset: 60776}, + pos: position{line: 1857, col: 14, offset: 61031}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -49047,32 +49274,32 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1853, col: 5, offset: 60883}, + pos: position{line: 1860, col: 5, offset: 61138}, run: (*parser).callonParagraph81, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonParagraph83, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -49081,9 +49308,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -49105,36 +49332,36 @@ var g = &grammar{ }, { name: "QuotedText", - pos: position{line: 1881, col: 1, offset: 61869}, + pos: position{line: 1888, col: 1, offset: 62124}, expr: &choiceExpr{ - pos: position{line: 1885, col: 5, offset: 62090}, + pos: position{line: 1892, col: 5, offset: 62345}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 1885, col: 5, offset: 62090}, + pos: position{line: 1892, col: 5, offset: 62345}, run: (*parser).callonQuotedText2, expr: &seqExpr{ - pos: position{line: 1885, col: 5, offset: 62090}, + pos: position{line: 1892, col: 5, offset: 62345}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1885, col: 5, offset: 62090}, + pos: position{line: 1892, col: 5, offset: 62345}, label: "attributes", expr: &zeroOrOneExpr{ - pos: position{line: 1885, col: 16, offset: 62101}, + pos: position{line: 1892, col: 16, offset: 62356}, expr: &actionExpr{ - pos: position{line: 1885, col: 17, offset: 62102}, + pos: position{line: 1892, col: 17, offset: 62357}, run: (*parser).callonQuotedText6, expr: &ruleRefExpr{ - pos: position{line: 1885, col: 17, offset: 62102}, + pos: position{line: 1892, col: 17, offset: 62357}, name: "LongHandAttributes", }, }, }, }, &labeledExpr{ - pos: position{line: 1888, col: 5, offset: 62190}, + pos: position{line: 1895, col: 5, offset: 62445}, label: "text", expr: &ruleRefExpr{ - pos: position{line: 1888, col: 10, offset: 62195}, + pos: position{line: 1895, col: 10, offset: 62450}, name: "EscapedQuotedText", }, }, @@ -49142,34 +49369,34 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1894, col: 5, offset: 62379}, + pos: position{line: 1901, col: 5, offset: 62634}, run: (*parser).callonQuotedText10, expr: &seqExpr{ - pos: position{line: 1894, col: 5, offset: 62379}, + pos: position{line: 1901, col: 5, offset: 62634}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1894, col: 5, offset: 62379}, + pos: position{line: 1901, col: 5, offset: 62634}, label: "attributes", expr: &zeroOrOneExpr{ - pos: position{line: 1894, col: 16, offset: 62390}, + pos: position{line: 1901, col: 16, offset: 62645}, expr: &ruleRefExpr{ - pos: position{line: 1894, col: 17, offset: 62391}, + pos: position{line: 1901, col: 17, offset: 62646}, name: "LongHandAttributes", }, }, }, &labeledExpr{ - pos: position{line: 1895, col: 5, offset: 62417}, + pos: position{line: 1902, col: 5, offset: 62672}, label: "text", expr: &choiceExpr{ - pos: position{line: 1895, col: 11, offset: 62423}, + pos: position{line: 1902, col: 11, offset: 62678}, alternatives: []interface{}{ &ruleRefExpr{ - pos: position{line: 1895, col: 11, offset: 62423}, + pos: position{line: 1902, col: 11, offset: 62678}, name: "UnconstrainedQuotedText", }, &ruleRefExpr{ - pos: position{line: 1895, col: 37, offset: 62449}, + pos: position{line: 1902, col: 37, offset: 62704}, name: "ConstrainedQuotedText", }, }, @@ -49183,32 +49410,32 @@ var g = &grammar{ }, { name: "ConstrainedQuotedText", - pos: position{line: 1904, col: 1, offset: 62725}, + pos: position{line: 1911, col: 1, offset: 62980}, expr: &choiceExpr{ - pos: position{line: 1905, col: 5, offset: 62755}, + pos: position{line: 1912, col: 5, offset: 63010}, alternatives: []interface{}{ &ruleRefExpr{ - pos: position{line: 1905, col: 5, offset: 62755}, + pos: position{line: 1912, col: 5, offset: 63010}, name: "SingleQuoteBoldText", }, &ruleRefExpr{ - pos: position{line: 1906, col: 7, offset: 62782}, + pos: position{line: 1913, col: 7, offset: 63037}, name: "SingleQuoteItalicText", }, &ruleRefExpr{ - pos: position{line: 1907, col: 7, offset: 62810}, + pos: position{line: 1914, col: 7, offset: 63065}, name: "SingleQuoteMarkedText", }, &ruleRefExpr{ - pos: position{line: 1908, col: 7, offset: 62838}, + pos: position{line: 1915, col: 7, offset: 63093}, name: "SingleQuoteMonospaceText", }, &ruleRefExpr{ - pos: position{line: 1909, col: 7, offset: 62870}, + pos: position{line: 1916, col: 7, offset: 63125}, name: "SubscriptText", }, &ruleRefExpr{ - pos: position{line: 1910, col: 7, offset: 62891}, + pos: position{line: 1917, col: 7, offset: 63146}, name: "SuperscriptText", }, }, @@ -49216,24 +49443,24 @@ var g = &grammar{ }, { name: "UnconstrainedQuotedText", - pos: position{line: 1912, col: 1, offset: 62909}, + pos: position{line: 1919, col: 1, offset: 63164}, expr: &choiceExpr{ - pos: position{line: 1913, col: 5, offset: 62941}, + pos: position{line: 1920, col: 5, offset: 63196}, alternatives: []interface{}{ &ruleRefExpr{ - pos: position{line: 1913, col: 5, offset: 62941}, + pos: position{line: 1920, col: 5, offset: 63196}, name: "DoubleQuoteBoldText", }, &ruleRefExpr{ - pos: position{line: 1914, col: 7, offset: 62967}, + pos: position{line: 1921, col: 7, offset: 63222}, name: "DoubleQuoteItalicText", }, &ruleRefExpr{ - pos: position{line: 1915, col: 7, offset: 62995}, + pos: position{line: 1922, col: 7, offset: 63250}, name: "DoubleQuoteMarkedText", }, &ruleRefExpr{ - pos: position{line: 1916, col: 7, offset: 63023}, + pos: position{line: 1923, col: 7, offset: 63278}, name: "DoubleQuoteMonospaceText", }, }, @@ -49241,50 +49468,50 @@ var g = &grammar{ }, { name: "EscapedQuotedText", - pos: position{line: 1918, col: 1, offset: 63049}, + pos: position{line: 1925, col: 1, offset: 63304}, expr: &actionExpr{ - pos: position{line: 1919, col: 5, offset: 63130}, + pos: position{line: 1926, col: 5, offset: 63385}, run: (*parser).callonEscapedQuotedText1, expr: &seqExpr{ - pos: position{line: 1919, col: 5, offset: 63130}, + pos: position{line: 1926, col: 5, offset: 63385}, exprs: []interface{}{ &andExpr{ - pos: position{line: 1919, col: 5, offset: 63130}, + pos: position{line: 1926, col: 5, offset: 63385}, expr: &litMatcher{ - pos: position{line: 1919, col: 7, offset: 63132}, + pos: position{line: 1926, col: 7, offset: 63387}, val: "\\", ignoreCase: false, want: "\"\\\\\"", }, }, &labeledExpr{ - pos: position{line: 1920, col: 5, offset: 63141}, + pos: position{line: 1927, col: 5, offset: 63396}, label: "element", expr: &choiceExpr{ - pos: position{line: 1921, col: 9, offset: 63159}, + pos: position{line: 1928, col: 9, offset: 63414}, alternatives: []interface{}{ &ruleRefExpr{ - pos: position{line: 1921, col: 9, offset: 63159}, + pos: position{line: 1928, col: 9, offset: 63414}, name: "EscapedBoldText", }, &ruleRefExpr{ - pos: position{line: 1922, col: 11, offset: 63186}, + pos: position{line: 1929, col: 11, offset: 63441}, name: "EscapedItalicText", }, &ruleRefExpr{ - pos: position{line: 1923, col: 11, offset: 63214}, + pos: position{line: 1930, col: 11, offset: 63469}, name: "EscapedMarkedText", }, &ruleRefExpr{ - pos: position{line: 1924, col: 11, offset: 63242}, + pos: position{line: 1931, col: 11, offset: 63497}, name: "EscapedMonospaceText", }, &ruleRefExpr{ - pos: position{line: 1925, col: 11, offset: 63273}, + pos: position{line: 1932, col: 11, offset: 63528}, name: "EscapedSubscriptText", }, &ruleRefExpr{ - pos: position{line: 1926, col: 11, offset: 63304}, + pos: position{line: 1933, col: 11, offset: 63559}, name: "EscapedSuperscriptText", }, }, @@ -49296,16 +49523,16 @@ var g = &grammar{ }, { name: "BoldText", - pos: position{line: 1946, col: 1, offset: 63831}, + pos: position{line: 1953, col: 1, offset: 64086}, expr: &choiceExpr{ - pos: position{line: 1946, col: 13, offset: 63843}, + pos: position{line: 1953, col: 13, offset: 64098}, alternatives: []interface{}{ &ruleRefExpr{ - pos: position{line: 1946, col: 13, offset: 63843}, + pos: position{line: 1953, col: 13, offset: 64098}, name: "DoubleQuoteBoldText", }, &ruleRefExpr{ - pos: position{line: 1946, col: 35, offset: 63865}, + pos: position{line: 1953, col: 35, offset: 64120}, name: "SingleQuoteBoldText", }, }, @@ -49313,29 +49540,29 @@ var g = &grammar{ }, { name: "DoubleQuoteBoldText", - pos: position{line: 1960, col: 1, offset: 64227}, + pos: position{line: 1967, col: 1, offset: 64482}, expr: &actionExpr{ - pos: position{line: 1961, col: 5, offset: 64255}, + pos: position{line: 1968, col: 5, offset: 64510}, run: (*parser).callonDoubleQuoteBoldText1, expr: &seqExpr{ - pos: position{line: 1961, col: 5, offset: 64255}, + pos: position{line: 1968, col: 5, offset: 64510}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1958, col: 33, offset: 64221}, + pos: position{line: 1965, col: 33, offset: 64476}, val: "**", ignoreCase: false, want: "\"**\"", }, &labeledExpr{ - pos: position{line: 1962, col: 5, offset: 64289}, + pos: position{line: 1969, col: 5, offset: 64544}, label: "elements", expr: &ruleRefExpr{ - pos: position{line: 1962, col: 15, offset: 64299}, + pos: position{line: 1969, col: 15, offset: 64554}, name: "DoubleQuoteBoldTextElements", }, }, &litMatcher{ - pos: position{line: 1958, col: 33, offset: 64221}, + pos: position{line: 1965, col: 33, offset: 64476}, val: "**", ignoreCase: false, want: "\"**\"", @@ -49346,49 +49573,49 @@ var g = &grammar{ }, { name: "DoubleQuoteBoldTextElements", - pos: position{line: 1967, col: 1, offset: 64456}, + pos: position{line: 1974, col: 1, offset: 64711}, expr: &oneOrMoreExpr{ - pos: position{line: 1967, col: 32, offset: 64487}, + pos: position{line: 1974, col: 32, offset: 64742}, expr: &ruleRefExpr{ - pos: position{line: 1967, col: 32, offset: 64487}, + pos: position{line: 1974, col: 32, offset: 64742}, name: "DoubleQuoteBoldTextElement", }, }, }, { name: "DoubleQuoteBoldTextElement", - pos: position{line: 1969, col: 1, offset: 64518}, + pos: position{line: 1976, col: 1, offset: 64773}, expr: &actionExpr{ - pos: position{line: 1970, col: 5, offset: 64553}, + pos: position{line: 1977, col: 5, offset: 64808}, run: (*parser).callonDoubleQuoteBoldTextElement1, expr: &seqExpr{ - pos: position{line: 1970, col: 5, offset: 64553}, + pos: position{line: 1977, col: 5, offset: 64808}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 1970, col: 5, offset: 64553}, + pos: position{line: 1977, col: 5, offset: 64808}, expr: &litMatcher{ - pos: position{line: 1958, col: 33, offset: 64221}, + pos: position{line: 1965, col: 33, offset: 64476}, val: "**", ignoreCase: false, want: "\"**\"", }, }, &labeledExpr{ - pos: position{line: 1971, col: 5, offset: 64587}, + pos: position{line: 1978, col: 5, offset: 64842}, label: "element", expr: &choiceExpr{ - pos: position{line: 1972, col: 9, offset: 64605}, + pos: position{line: 1979, col: 9, offset: 64860}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 1951, col: 5, offset: 63979}, + pos: position{line: 1958, col: 5, offset: 64234}, run: (*parser).callonDoubleQuoteBoldTextElement7, expr: &seqExpr{ - pos: position{line: 1951, col: 5, offset: 63979}, + pos: position{line: 1958, col: 5, offset: 64234}, exprs: []interface{}{ &oneOrMoreExpr{ - pos: position{line: 1951, col: 5, offset: 63979}, + pos: position{line: 1958, col: 5, offset: 64234}, expr: &charClassMatcher{ - pos: position{line: 1951, col: 5, offset: 63979}, + pos: position{line: 1958, col: 5, offset: 64234}, val: "[,?!;0-9\\pL]", chars: []rune{',', '?', '!', ';'}, ranges: []rune{'0', '9'}, @@ -49398,15 +49625,15 @@ var g = &grammar{ }, }, &andExpr{ - pos: position{line: 1951, col: 19, offset: 63993}, + pos: position{line: 1958, col: 19, offset: 64248}, expr: &choiceExpr{ - pos: position{line: 1951, col: 21, offset: 63995}, + pos: position{line: 1958, col: 21, offset: 64250}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonDoubleQuoteBoldTextElement13, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -49414,7 +49641,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1948, col: 22, offset: 63953}, + pos: position{line: 1955, col: 22, offset: 64208}, val: "*", ignoreCase: false, want: "\"*\"", @@ -49426,12 +49653,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 3180, col: 11, offset: 103464}, + pos: position{line: 3076, col: 11, offset: 100101}, run: (*parser).callonDoubleQuoteBoldTextElement16, expr: &oneOrMoreExpr{ - pos: position{line: 3180, col: 11, offset: 103464}, + pos: position{line: 3076, col: 11, offset: 100101}, expr: &charClassMatcher{ - pos: position{line: 3180, col: 12, offset: 103465}, + pos: position{line: 3076, col: 12, offset: 100102}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -49440,28 +49667,28 @@ var g = &grammar{ }, }, &seqExpr{ - pos: position{line: 1974, col: 11, offset: 64678}, + pos: position{line: 1981, col: 11, offset: 64933}, exprs: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonDoubleQuoteBoldTextElement20, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -49470,27 +49697,27 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 1974, col: 19, offset: 64686}, + pos: position{line: 1981, col: 19, offset: 64941}, expr: &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonDoubleQuoteBoldTextElement26, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -49502,35 +49729,35 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 641, col: 5, offset: 20613}, + pos: position{line: 648, col: 5, offset: 20883}, run: (*parser).callonDoubleQuoteBoldTextElement31, expr: &seqExpr{ - pos: position{line: 641, col: 5, offset: 20613}, + pos: position{line: 648, col: 5, offset: 20883}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 641, col: 5, offset: 20613}, + pos: position{line: 648, col: 5, offset: 20883}, run: (*parser).callonDoubleQuoteBoldTextElement33, }, &labeledExpr{ - pos: position{line: 644, col: 5, offset: 20682}, + pos: position{line: 651, col: 5, offset: 20952}, label: "element", expr: &choiceExpr{ - pos: position{line: 644, col: 14, offset: 20691}, + pos: position{line: 651, col: 14, offset: 20961}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 664, col: 25, offset: 21344}, + pos: position{line: 671, col: 25, offset: 21614}, run: (*parser).callonDoubleQuoteBoldTextElement36, expr: &seqExpr{ - pos: position{line: 664, col: 25, offset: 21344}, + pos: position{line: 671, col: 25, offset: 21614}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 664, col: 25, offset: 21344}, + pos: position{line: 671, col: 25, offset: 21614}, val: "{counter:", ignoreCase: false, want: "\"{counter:\"", }, &labeledExpr{ - pos: position{line: 664, col: 37, offset: 21356}, + pos: position{line: 671, col: 37, offset: 21626}, label: "name", expr: &actionExpr{ pos: position{line: 324, col: 18, offset: 10072}, @@ -49564,33 +49791,33 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 664, col: 56, offset: 21375}, + pos: position{line: 671, col: 56, offset: 21645}, label: "start", expr: &zeroOrOneExpr{ - pos: position{line: 664, col: 62, offset: 21381}, + pos: position{line: 671, col: 62, offset: 21651}, expr: &actionExpr{ - pos: position{line: 672, col: 17, offset: 21676}, + pos: position{line: 679, col: 17, offset: 21946}, run: (*parser).callonDoubleQuoteBoldTextElement47, expr: &seqExpr{ - pos: position{line: 672, col: 17, offset: 21676}, + pos: position{line: 679, col: 17, offset: 21946}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 672, col: 17, offset: 21676}, + pos: position{line: 679, col: 17, offset: 21946}, val: ":", ignoreCase: false, want: "\":\"", }, &labeledExpr{ - pos: position{line: 672, col: 21, offset: 21680}, + pos: position{line: 679, col: 21, offset: 21950}, label: "start", expr: &choiceExpr{ - pos: position{line: 672, col: 28, offset: 21687}, + pos: position{line: 679, col: 28, offset: 21957}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 672, col: 28, offset: 21687}, + pos: position{line: 679, col: 28, offset: 21957}, run: (*parser).callonDoubleQuoteBoldTextElement52, expr: &charClassMatcher{ - pos: position{line: 672, col: 28, offset: 21687}, + pos: position{line: 679, col: 28, offset: 21957}, val: "[A-Za-z]", ranges: []rune{'A', 'Z', 'a', 'z'}, ignoreCase: false, @@ -49598,12 +49825,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 674, col: 9, offset: 21741}, + pos: position{line: 681, col: 9, offset: 22011}, run: (*parser).callonDoubleQuoteBoldTextElement54, expr: &oneOrMoreExpr{ - pos: position{line: 674, col: 9, offset: 21741}, + pos: position{line: 681, col: 9, offset: 22011}, expr: &charClassMatcher{ - pos: position{line: 674, col: 9, offset: 21741}, + pos: position{line: 681, col: 9, offset: 22011}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -49620,7 +49847,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 664, col: 78, offset: 21397}, + pos: position{line: 671, col: 78, offset: 21667}, val: "}", ignoreCase: false, want: "\"}\"", @@ -49629,19 +49856,19 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 668, col: 25, offset: 21515}, + pos: position{line: 675, col: 25, offset: 21785}, run: (*parser).callonDoubleQuoteBoldTextElement58, expr: &seqExpr{ - pos: position{line: 668, col: 25, offset: 21515}, + pos: position{line: 675, col: 25, offset: 21785}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 668, col: 25, offset: 21515}, + pos: position{line: 675, col: 25, offset: 21785}, val: "{counter2:", ignoreCase: false, want: "\"{counter2:\"", }, &labeledExpr{ - pos: position{line: 668, col: 38, offset: 21528}, + pos: position{line: 675, col: 38, offset: 21798}, label: "name", expr: &actionExpr{ pos: position{line: 324, col: 18, offset: 10072}, @@ -49675,33 +49902,33 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 668, col: 57, offset: 21547}, + pos: position{line: 675, col: 57, offset: 21817}, label: "start", expr: &zeroOrOneExpr{ - pos: position{line: 668, col: 63, offset: 21553}, + pos: position{line: 675, col: 63, offset: 21823}, expr: &actionExpr{ - pos: position{line: 672, col: 17, offset: 21676}, + pos: position{line: 679, col: 17, offset: 21946}, run: (*parser).callonDoubleQuoteBoldTextElement69, expr: &seqExpr{ - pos: position{line: 672, col: 17, offset: 21676}, + pos: position{line: 679, col: 17, offset: 21946}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 672, col: 17, offset: 21676}, + pos: position{line: 679, col: 17, offset: 21946}, val: ":", ignoreCase: false, want: "\":\"", }, &labeledExpr{ - pos: position{line: 672, col: 21, offset: 21680}, + pos: position{line: 679, col: 21, offset: 21950}, label: "start", expr: &choiceExpr{ - pos: position{line: 672, col: 28, offset: 21687}, + pos: position{line: 679, col: 28, offset: 21957}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 672, col: 28, offset: 21687}, + pos: position{line: 679, col: 28, offset: 21957}, run: (*parser).callonDoubleQuoteBoldTextElement74, expr: &charClassMatcher{ - pos: position{line: 672, col: 28, offset: 21687}, + pos: position{line: 679, col: 28, offset: 21957}, val: "[A-Za-z]", ranges: []rune{'A', 'Z', 'a', 'z'}, ignoreCase: false, @@ -49709,12 +49936,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 674, col: 9, offset: 21741}, + pos: position{line: 681, col: 9, offset: 22011}, run: (*parser).callonDoubleQuoteBoldTextElement76, expr: &oneOrMoreExpr{ - pos: position{line: 674, col: 9, offset: 21741}, + pos: position{line: 681, col: 9, offset: 22011}, expr: &charClassMatcher{ - pos: position{line: 674, col: 9, offset: 21741}, + pos: position{line: 681, col: 9, offset: 22011}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -49731,7 +49958,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 668, col: 79, offset: 21569}, + pos: position{line: 675, col: 79, offset: 21839}, val: "}", ignoreCase: false, want: "\"}\"", @@ -49740,19 +49967,19 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 650, col: 5, offset: 20820}, + pos: position{line: 657, col: 5, offset: 21090}, run: (*parser).callonDoubleQuoteBoldTextElement80, expr: &seqExpr{ - pos: position{line: 650, col: 5, offset: 20820}, + pos: position{line: 657, col: 5, offset: 21090}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 650, col: 5, offset: 20820}, + pos: position{line: 657, col: 5, offset: 21090}, val: "\\{", ignoreCase: false, want: "\"\\\\{\"", }, &labeledExpr{ - pos: position{line: 650, col: 13, offset: 20828}, + pos: position{line: 657, col: 13, offset: 21098}, label: "name", expr: &actionExpr{ pos: position{line: 324, col: 18, offset: 10072}, @@ -49786,7 +50013,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 650, col: 32, offset: 20847}, + pos: position{line: 657, col: 32, offset: 21117}, val: "}", ignoreCase: false, want: "\"}\"", @@ -49795,19 +50022,19 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 657, col: 5, offset: 21088}, + pos: position{line: 664, col: 5, offset: 21358}, run: (*parser).callonDoubleQuoteBoldTextElement90, expr: &seqExpr{ - pos: position{line: 657, col: 5, offset: 21088}, + pos: position{line: 664, col: 5, offset: 21358}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 657, col: 5, offset: 21088}, + pos: position{line: 664, col: 5, offset: 21358}, val: "{", ignoreCase: false, want: "\"{\"", }, &labeledExpr{ - pos: position{line: 657, col: 9, offset: 21092}, + pos: position{line: 664, col: 9, offset: 21362}, label: "name", expr: &actionExpr{ pos: position{line: 324, col: 18, offset: 10072}, @@ -49841,7 +50068,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 657, col: 28, offset: 21111}, + pos: position{line: 664, col: 28, offset: 21381}, val: "}", ignoreCase: false, want: "\"}\"", @@ -49856,53 +50083,53 @@ var g = &grammar{ }, }, &ruleRefExpr{ - pos: position{line: 1976, col: 11, offset: 64768}, + pos: position{line: 1983, col: 11, offset: 65023}, name: "InlineMacro", }, &actionExpr{ - pos: position{line: 2859, col: 5, offset: 93679}, + pos: position{line: 2745, col: 5, offset: 90112}, run: (*parser).callonDoubleQuoteBoldTextElement101, expr: &seqExpr{ - pos: position{line: 2859, col: 5, offset: 93679}, + pos: position{line: 2745, col: 5, offset: 90112}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 2859, col: 5, offset: 93679}, + pos: position{line: 2745, col: 5, offset: 90112}, run: (*parser).callonDoubleQuoteBoldTextElement103, }, &labeledExpr{ - pos: position{line: 2862, col: 5, offset: 93755}, + pos: position{line: 2748, col: 5, offset: 90188}, label: "element", expr: &choiceExpr{ - pos: position{line: 2864, col: 9, offset: 93853}, + pos: position{line: 2750, col: 9, offset: 90286}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2864, col: 9, offset: 93853}, + pos: position{line: 2750, col: 9, offset: 90286}, run: (*parser).callonDoubleQuoteBoldTextElement106, expr: &choiceExpr{ - pos: position{line: 692, col: 27, offset: 22395}, + pos: position{line: 699, col: 27, offset: 22665}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 692, col: 27, offset: 22395}, + pos: position{line: 699, col: 27, offset: 22665}, run: (*parser).callonDoubleQuoteBoldTextElement108, expr: &seqExpr{ - pos: position{line: 692, col: 27, offset: 22395}, + pos: position{line: 699, col: 27, offset: 22665}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 692, col: 27, offset: 22395}, + pos: position{line: 699, col: 27, offset: 22665}, val: "<<", ignoreCase: false, want: "\"<<\"", }, &labeledExpr{ - pos: position{line: 692, col: 32, offset: 22400}, + pos: position{line: 699, col: 32, offset: 22670}, label: "id", expr: &actionExpr{ - pos: position{line: 3161, col: 7, offset: 103049}, + pos: position{line: 3057, col: 7, offset: 99686}, run: (*parser).callonDoubleQuoteBoldTextElement112, expr: &oneOrMoreExpr{ - pos: position{line: 3161, col: 7, offset: 103049}, + pos: position{line: 3057, col: 7, offset: 99686}, expr: &charClassMatcher{ - pos: position{line: 3161, col: 7, offset: 103049}, + pos: position{line: 3057, col: 7, offset: 99686}, val: "[^[]<>,]", chars: []rune{'[', ']', '<', '>', ','}, ignoreCase: false, @@ -49912,12 +50139,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 692, col: 40, offset: 22408}, + pos: position{line: 699, col: 40, offset: 22678}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonDoubleQuoteBoldTextElement116, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -49926,27 +50153,27 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 692, col: 47, offset: 22415}, + pos: position{line: 699, col: 47, offset: 22685}, val: ",", ignoreCase: false, want: "\",\"", }, &labeledExpr{ - pos: position{line: 692, col: 51, offset: 22419}, + pos: position{line: 699, col: 51, offset: 22689}, label: "label", expr: &oneOrMoreExpr{ - pos: position{line: 702, col: 24, offset: 22820}, + pos: position{line: 709, col: 24, offset: 23090}, expr: &choiceExpr{ - pos: position{line: 703, col: 5, offset: 22826}, + pos: position{line: 710, col: 5, offset: 23096}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 703, col: 6, offset: 22827}, + pos: position{line: 710, col: 6, offset: 23097}, run: (*parser).callonDoubleQuoteBoldTextElement122, expr: &seqExpr{ - pos: position{line: 703, col: 6, offset: 22827}, + pos: position{line: 710, col: 6, offset: 23097}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 703, col: 6, offset: 22827}, + pos: position{line: 710, col: 6, offset: 23097}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -49954,9 +50181,9 @@ var g = &grammar{ inverted: false, }, &oneOrMoreExpr{ - pos: position{line: 703, col: 14, offset: 22835}, + pos: position{line: 710, col: 14, offset: 23105}, expr: &charClassMatcher{ - pos: position{line: 703, col: 14, offset: 22835}, + pos: position{line: 710, col: 14, offset: 23105}, val: "[^\\r\\n{<>]", chars: []rune{'\r', '\n', '{', '<', '>'}, ignoreCase: false, @@ -49967,19 +50194,19 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 650, col: 5, offset: 20820}, + pos: position{line: 657, col: 5, offset: 21090}, run: (*parser).callonDoubleQuoteBoldTextElement127, expr: &seqExpr{ - pos: position{line: 650, col: 5, offset: 20820}, + pos: position{line: 657, col: 5, offset: 21090}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 650, col: 5, offset: 20820}, + pos: position{line: 657, col: 5, offset: 21090}, val: "\\{", ignoreCase: false, want: "\"\\\\{\"", }, &labeledExpr{ - pos: position{line: 650, col: 13, offset: 20828}, + pos: position{line: 657, col: 13, offset: 21098}, label: "name", expr: &actionExpr{ pos: position{line: 324, col: 18, offset: 10072}, @@ -50013,7 +50240,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 650, col: 32, offset: 20847}, + pos: position{line: 657, col: 32, offset: 21117}, val: "}", ignoreCase: false, want: "\"}\"", @@ -50022,19 +50249,19 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 657, col: 5, offset: 21088}, + pos: position{line: 664, col: 5, offset: 21358}, run: (*parser).callonDoubleQuoteBoldTextElement137, expr: &seqExpr{ - pos: position{line: 657, col: 5, offset: 21088}, + pos: position{line: 664, col: 5, offset: 21358}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 657, col: 5, offset: 21088}, + pos: position{line: 664, col: 5, offset: 21358}, val: "{", ignoreCase: false, want: "\"{\"", }, &labeledExpr{ - pos: position{line: 657, col: 9, offset: 21092}, + pos: position{line: 664, col: 9, offset: 21362}, label: "name", expr: &actionExpr{ pos: position{line: 324, col: 18, offset: 10072}, @@ -50068,7 +50295,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 657, col: 28, offset: 21111}, + pos: position{line: 664, col: 28, offset: 21381}, val: "}", ignoreCase: false, want: "\"}\"", @@ -50077,10 +50304,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 707, col: 8, offset: 23061}, + pos: position{line: 714, col: 8, offset: 23331}, run: (*parser).callonDoubleQuoteBoldTextElement147, expr: &litMatcher{ - pos: position{line: 707, col: 8, offset: 23061}, + pos: position{line: 714, col: 8, offset: 23331}, val: "{", ignoreCase: false, want: "\"{\"", @@ -50091,7 +50318,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 692, col: 79, offset: 22447}, + pos: position{line: 699, col: 79, offset: 22717}, val: ">>", ignoreCase: false, want: "\">>\"", @@ -50100,27 +50327,27 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 694, col: 9, offset: 22520}, + pos: position{line: 701, col: 9, offset: 22790}, run: (*parser).callonDoubleQuoteBoldTextElement150, expr: &seqExpr{ - pos: position{line: 694, col: 9, offset: 22520}, + pos: position{line: 701, col: 9, offset: 22790}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 694, col: 9, offset: 22520}, + pos: position{line: 701, col: 9, offset: 22790}, val: "<<", ignoreCase: false, want: "\"<<\"", }, &labeledExpr{ - pos: position{line: 694, col: 14, offset: 22525}, + pos: position{line: 701, col: 14, offset: 22795}, label: "id", expr: &actionExpr{ - pos: position{line: 3161, col: 7, offset: 103049}, + pos: position{line: 3057, col: 7, offset: 99686}, run: (*parser).callonDoubleQuoteBoldTextElement154, expr: &oneOrMoreExpr{ - pos: position{line: 3161, col: 7, offset: 103049}, + pos: position{line: 3057, col: 7, offset: 99686}, expr: &charClassMatcher{ - pos: position{line: 3161, col: 7, offset: 103049}, + pos: position{line: 3057, col: 7, offset: 99686}, val: "[^[]<>,]", chars: []rune{'[', ']', '<', '>', ','}, ignoreCase: false, @@ -50130,7 +50357,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 694, col: 22, offset: 22533}, + pos: position{line: 701, col: 22, offset: 22803}, val: ">>", ignoreCase: false, want: "\">>\"", @@ -50142,10 +50369,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2867, col: 11, offset: 93957}, + pos: position{line: 2753, col: 11, offset: 90390}, run: (*parser).callonDoubleQuoteBoldTextElement158, expr: &charClassMatcher{ - pos: position{line: 2867, col: 12, offset: 93958}, + pos: position{line: 2753, col: 12, offset: 90391}, val: "[<>&]", chars: []rune{'<', '>', '&'}, ignoreCase: false, @@ -50159,65 +50386,95 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2892, col: 5, offset: 94851}, + pos: position{line: 2778, col: 5, offset: 91284}, run: (*parser).callonDoubleQuoteBoldTextElement160, expr: &seqExpr{ - pos: position{line: 2892, col: 5, offset: 94851}, + pos: position{line: 2778, col: 5, offset: 91284}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2892, col: 5, offset: 94851}, + pos: position{line: 2778, col: 5, offset: 91284}, val: "\\", ignoreCase: false, want: "\"\\\\\"", }, &choiceExpr{ - pos: position{line: 2892, col: 10, offset: 94856}, + pos: position{line: 2778, col: 10, offset: 91289}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2900, col: 15, offset: 95132}, + pos: position{line: 2787, col: 5, offset: 91579}, run: (*parser).callonDoubleQuoteBoldTextElement164, expr: &litMatcher{ - pos: position{line: 2900, col: 15, offset: 95132}, + pos: position{line: 2787, col: 5, offset: 91579}, + val: "\"`", + ignoreCase: false, + want: "\"\\\"`\"", + }, + }, + &actionExpr{ + pos: position{line: 2790, col: 7, offset: 91637}, + run: (*parser).callonDoubleQuoteBoldTextElement166, + expr: &litMatcher{ + pos: position{line: 2790, col: 7, offset: 91637}, + val: "`\"", + ignoreCase: false, + want: "\"`\\\"\"", + }, + }, + &actionExpr{ + pos: position{line: 2793, col: 7, offset: 91695}, + run: (*parser).callonDoubleQuoteBoldTextElement168, + expr: &litMatcher{ + pos: position{line: 2793, col: 7, offset: 91695}, + val: "'`", + ignoreCase: false, + want: "\"'`\"", + }, + }, + &actionExpr{ + pos: position{line: 2796, col: 7, offset: 91751}, + run: (*parser).callonDoubleQuoteBoldTextElement170, + expr: &litMatcher{ + pos: position{line: 2796, col: 7, offset: 91751}, val: "`'", ignoreCase: false, want: "\"`'\"", }, }, &actionExpr{ - pos: position{line: 2906, col: 14, offset: 95236}, - run: (*parser).callonDoubleQuoteBoldTextElement166, + pos: position{line: 2802, col: 14, offset: 91873}, + run: (*parser).callonDoubleQuoteBoldTextElement172, expr: &litMatcher{ - pos: position{line: 2906, col: 14, offset: 95236}, + pos: position{line: 2802, col: 14, offset: 91873}, val: "(C)", ignoreCase: false, want: "\"(C)\"", }, }, &actionExpr{ - pos: position{line: 2910, col: 14, offset: 95302}, - run: (*parser).callonDoubleQuoteBoldTextElement168, + pos: position{line: 2806, col: 14, offset: 91939}, + run: (*parser).callonDoubleQuoteBoldTextElement174, expr: &litMatcher{ - pos: position{line: 2910, col: 14, offset: 95302}, + pos: position{line: 2806, col: 14, offset: 91939}, val: "(TM)", ignoreCase: false, want: "\"(TM)\"", }, }, &actionExpr{ - pos: position{line: 2914, col: 15, offset: 95371}, - run: (*parser).callonDoubleQuoteBoldTextElement170, + pos: position{line: 2810, col: 15, offset: 92008}, + run: (*parser).callonDoubleQuoteBoldTextElement176, expr: &litMatcher{ - pos: position{line: 2914, col: 15, offset: 95371}, + pos: position{line: 2810, col: 15, offset: 92008}, val: "(R)", ignoreCase: false, want: "\"(R)\"", }, }, &actionExpr{ - pos: position{line: 2918, col: 13, offset: 95436}, - run: (*parser).callonDoubleQuoteBoldTextElement172, + pos: position{line: 2814, col: 13, offset: 92073}, + run: (*parser).callonDoubleQuoteBoldTextElement178, expr: &litMatcher{ - pos: position{line: 2918, col: 13, offset: 95436}, + pos: position{line: 2814, col: 13, offset: 92073}, val: "...", ignoreCase: false, want: "\"...\"", @@ -50229,63 +50486,93 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2900, col: 15, offset: 95132}, - run: (*parser).callonDoubleQuoteBoldTextElement174, + pos: position{line: 2787, col: 5, offset: 91579}, + run: (*parser).callonDoubleQuoteBoldTextElement180, + expr: &litMatcher{ + pos: position{line: 2787, col: 5, offset: 91579}, + val: "\"`", + ignoreCase: false, + want: "\"\\\"`\"", + }, + }, + &actionExpr{ + pos: position{line: 2790, col: 7, offset: 91637}, + run: (*parser).callonDoubleQuoteBoldTextElement182, + expr: &litMatcher{ + pos: position{line: 2790, col: 7, offset: 91637}, + val: "`\"", + ignoreCase: false, + want: "\"`\\\"\"", + }, + }, + &actionExpr{ + pos: position{line: 2793, col: 7, offset: 91695}, + run: (*parser).callonDoubleQuoteBoldTextElement184, + expr: &litMatcher{ + pos: position{line: 2793, col: 7, offset: 91695}, + val: "'`", + ignoreCase: false, + want: "\"'`\"", + }, + }, + &actionExpr{ + pos: position{line: 2796, col: 7, offset: 91751}, + run: (*parser).callonDoubleQuoteBoldTextElement186, expr: &litMatcher{ - pos: position{line: 2900, col: 15, offset: 95132}, + pos: position{line: 2796, col: 7, offset: 91751}, val: "`'", ignoreCase: false, want: "\"`'\"", }, }, &actionExpr{ - pos: position{line: 2906, col: 14, offset: 95236}, - run: (*parser).callonDoubleQuoteBoldTextElement176, + pos: position{line: 2802, col: 14, offset: 91873}, + run: (*parser).callonDoubleQuoteBoldTextElement188, expr: &litMatcher{ - pos: position{line: 2906, col: 14, offset: 95236}, + pos: position{line: 2802, col: 14, offset: 91873}, val: "(C)", ignoreCase: false, want: "\"(C)\"", }, }, &actionExpr{ - pos: position{line: 2910, col: 14, offset: 95302}, - run: (*parser).callonDoubleQuoteBoldTextElement178, + pos: position{line: 2806, col: 14, offset: 91939}, + run: (*parser).callonDoubleQuoteBoldTextElement190, expr: &litMatcher{ - pos: position{line: 2910, col: 14, offset: 95302}, + pos: position{line: 2806, col: 14, offset: 91939}, val: "(TM)", ignoreCase: false, want: "\"(TM)\"", }, }, &actionExpr{ - pos: position{line: 2914, col: 15, offset: 95371}, - run: (*parser).callonDoubleQuoteBoldTextElement180, + pos: position{line: 2810, col: 15, offset: 92008}, + run: (*parser).callonDoubleQuoteBoldTextElement192, expr: &litMatcher{ - pos: position{line: 2914, col: 15, offset: 95371}, + pos: position{line: 2810, col: 15, offset: 92008}, val: "(R)", ignoreCase: false, want: "\"(R)\"", }, }, &actionExpr{ - pos: position{line: 2918, col: 13, offset: 95436}, - run: (*parser).callonDoubleQuoteBoldTextElement182, + pos: position{line: 2814, col: 13, offset: 92073}, + run: (*parser).callonDoubleQuoteBoldTextElement194, expr: &litMatcher{ - pos: position{line: 2918, col: 13, offset: 95436}, + pos: position{line: 2814, col: 13, offset: 92073}, val: "...", ignoreCase: false, want: "\"...\"", }, }, &actionExpr{ - pos: position{line: 2929, col: 5, offset: 95746}, - run: (*parser).callonDoubleQuoteBoldTextElement184, + pos: position{line: 2825, col: 5, offset: 92383}, + run: (*parser).callonDoubleQuoteBoldTextElement196, expr: &seqExpr{ - pos: position{line: 2929, col: 5, offset: 95746}, + pos: position{line: 2825, col: 5, offset: 92383}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 3090, col: 13, offset: 100713}, + pos: position{line: 2986, col: 13, offset: 97350}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -50293,15 +50580,15 @@ var g = &grammar{ inverted: false, }, &litMatcher{ - pos: position{line: 2929, col: 14, offset: 95755}, + pos: position{line: 2825, col: 14, offset: 92392}, val: "\\'", ignoreCase: false, want: "\"\\\\'\"", }, &andExpr{ - pos: position{line: 2929, col: 19, offset: 95760}, + pos: position{line: 2825, col: 19, offset: 92397}, expr: &charClassMatcher{ - pos: position{line: 2929, col: 20, offset: 95761}, + pos: position{line: 2825, col: 20, offset: 92398}, val: "[\\pL]", classes: []*unicode.RangeTable{rangeTable("L")}, ignoreCase: false, @@ -50312,13 +50599,13 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2935, col: 5, offset: 95992}, - run: (*parser).callonDoubleQuoteBoldTextElement190, + pos: position{line: 2831, col: 5, offset: 92629}, + run: (*parser).callonDoubleQuoteBoldTextElement202, expr: &seqExpr{ - pos: position{line: 2935, col: 5, offset: 95992}, + pos: position{line: 2831, col: 5, offset: 92629}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 3090, col: 13, offset: 100713}, + pos: position{line: 2986, col: 13, offset: 97350}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -50326,15 +50613,15 @@ var g = &grammar{ inverted: false, }, &litMatcher{ - pos: position{line: 2935, col: 14, offset: 96001}, + pos: position{line: 2831, col: 14, offset: 92638}, val: "'", ignoreCase: false, want: "\"'\"", }, &andExpr{ - pos: position{line: 2935, col: 18, offset: 96005}, + pos: position{line: 2831, col: 18, offset: 92642}, expr: &charClassMatcher{ - pos: position{line: 2935, col: 19, offset: 96006}, + pos: position{line: 2831, col: 19, offset: 92643}, val: "[\\pL]", classes: []*unicode.RangeTable{rangeTable("L")}, ignoreCase: false, @@ -50345,35 +50632,31 @@ var g = &grammar{ }, }, &ruleRefExpr{ - pos: position{line: 1979, col: 11, offset: 64884}, - name: "QuotedString", - }, - &ruleRefExpr{ - pos: position{line: 1980, col: 11, offset: 64907}, + pos: position{line: 1986, col: 11, offset: 65139}, name: "QuotedTextInDoubleQuoteBoldText", }, &actionExpr{ - pos: position{line: 1212, col: 23, offset: 37871}, - run: (*parser).callonDoubleQuoteBoldTextElement198, + pos: position{line: 1219, col: 23, offset: 38141}, + run: (*parser).callonDoubleQuoteBoldTextElement209, expr: &seqExpr{ - pos: position{line: 1212, col: 23, offset: 37871}, + pos: position{line: 1219, col: 23, offset: 38141}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1210, col: 32, offset: 37839}, + pos: position{line: 1217, col: 32, offset: 38109}, val: "�", ignoreCase: false, want: "\"�\"", }, &labeledExpr{ - pos: position{line: 1212, col: 51, offset: 37899}, + pos: position{line: 1219, col: 51, offset: 38169}, label: "ref", expr: &actionExpr{ - pos: position{line: 1212, col: 56, offset: 37904}, - run: (*parser).callonDoubleQuoteBoldTextElement202, + pos: position{line: 1219, col: 56, offset: 38174}, + run: (*parser).callonDoubleQuoteBoldTextElement213, expr: &oneOrMoreExpr{ - pos: position{line: 1212, col: 56, offset: 37904}, + pos: position{line: 1219, col: 56, offset: 38174}, expr: &charClassMatcher{ - pos: position{line: 1212, col: 56, offset: 37904}, + pos: position{line: 1219, col: 56, offset: 38174}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -50383,7 +50666,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1210, col: 32, offset: 37839}, + pos: position{line: 1217, col: 32, offset: 38109}, val: "�", ignoreCase: false, want: "\"�\"", @@ -50392,31 +50675,31 @@ var g = &grammar{ }, }, &charClassMatcher{ - pos: position{line: 1999, col: 5, offset: 65419}, + pos: position{line: 2005, col: 5, offset: 65651}, val: "[^\\r\\n*]", chars: []rune{'\r', '\n', '*'}, ignoreCase: false, inverted: true, }, &actionExpr{ - pos: position{line: 2000, col: 7, offset: 65516}, - run: (*parser).callonDoubleQuoteBoldTextElement207, + pos: position{line: 2006, col: 7, offset: 65748}, + run: (*parser).callonDoubleQuoteBoldTextElement218, expr: &seqExpr{ - pos: position{line: 2000, col: 7, offset: 65516}, + pos: position{line: 2006, col: 7, offset: 65748}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1958, col: 33, offset: 64221}, + pos: position{line: 1965, col: 33, offset: 64476}, val: "**", ignoreCase: false, want: "\"**\"", }, &actionExpr{ - pos: position{line: 3094, col: 14, offset: 100787}, - run: (*parser).callonDoubleQuoteBoldTextElement210, + pos: position{line: 2990, col: 14, offset: 97424}, + run: (*parser).callonDoubleQuoteBoldTextElement221, expr: &oneOrMoreExpr{ - pos: position{line: 3094, col: 14, offset: 100787}, + pos: position{line: 2990, col: 14, offset: 97424}, expr: &charClassMatcher{ - pos: position{line: 3094, col: 14, offset: 100787}, + pos: position{line: 2990, col: 14, offset: 97424}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -50437,52 +50720,52 @@ var g = &grammar{ }, { name: "QuotedTextInDoubleQuoteBoldText", - pos: position{line: 1986, col: 1, offset: 65061}, + pos: position{line: 1992, col: 1, offset: 65293}, expr: &actionExpr{ - pos: position{line: 1987, col: 5, offset: 65101}, + pos: position{line: 1993, col: 5, offset: 65333}, run: (*parser).callonQuotedTextInDoubleQuoteBoldText1, expr: &seqExpr{ - pos: position{line: 1987, col: 5, offset: 65101}, + pos: position{line: 1993, col: 5, offset: 65333}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1987, col: 5, offset: 65101}, + pos: position{line: 1993, col: 5, offset: 65333}, label: "attributes", expr: &zeroOrOneExpr{ - pos: position{line: 1987, col: 16, offset: 65112}, + pos: position{line: 1993, col: 16, offset: 65344}, expr: &ruleRefExpr{ - pos: position{line: 1987, col: 17, offset: 65113}, + pos: position{line: 1993, col: 17, offset: 65345}, name: "LongHandAttributes", }, }, }, &labeledExpr{ - pos: position{line: 1988, col: 5, offset: 65139}, + pos: position{line: 1994, col: 5, offset: 65371}, label: "text", expr: &choiceExpr{ - pos: position{line: 1989, col: 9, offset: 65154}, + pos: position{line: 1995, col: 9, offset: 65386}, alternatives: []interface{}{ &ruleRefExpr{ - pos: position{line: 1989, col: 9, offset: 65154}, + pos: position{line: 1995, col: 9, offset: 65386}, name: "SingleQuoteBoldText", }, &ruleRefExpr{ - pos: position{line: 1990, col: 11, offset: 65184}, + pos: position{line: 1996, col: 11, offset: 65416}, name: "ItalicText", }, &ruleRefExpr{ - pos: position{line: 1991, col: 11, offset: 65205}, + pos: position{line: 1997, col: 11, offset: 65437}, name: "MarkedText", }, &ruleRefExpr{ - pos: position{line: 1992, col: 11, offset: 65226}, + pos: position{line: 1998, col: 11, offset: 65458}, name: "MonospaceText", }, &ruleRefExpr{ - pos: position{line: 1993, col: 11, offset: 65250}, + pos: position{line: 1999, col: 11, offset: 65482}, name: "SubscriptText", }, &ruleRefExpr{ - pos: position{line: 1994, col: 11, offset: 65274}, + pos: position{line: 2000, col: 11, offset: 65506}, name: "SuperscriptText", }, }, @@ -50494,29 +50777,29 @@ var g = &grammar{ }, { name: "SingleQuoteBoldText", - pos: position{line: 2011, col: 1, offset: 65903}, + pos: position{line: 2017, col: 1, offset: 66135}, expr: &actionExpr{ - pos: position{line: 2012, col: 4, offset: 65930}, + pos: position{line: 2018, col: 4, offset: 66162}, run: (*parser).callonSingleQuoteBoldText1, expr: &seqExpr{ - pos: position{line: 2012, col: 4, offset: 65930}, + pos: position{line: 2018, col: 4, offset: 66162}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2007, col: 38, offset: 65857}, + pos: position{line: 2013, col: 38, offset: 66089}, val: "*", ignoreCase: false, want: "\"*\"", }, &labeledExpr{ - pos: position{line: 2013, col: 5, offset: 65968}, + pos: position{line: 2019, col: 5, offset: 66200}, label: "elements", expr: &ruleRefExpr{ - pos: position{line: 2013, col: 15, offset: 65978}, + pos: position{line: 2019, col: 15, offset: 66210}, name: "SingleQuoteBoldTextElements", }, }, &litMatcher{ - pos: position{line: 2009, col: 36, offset: 65897}, + pos: position{line: 2015, col: 36, offset: 66129}, val: "*", ignoreCase: false, want: "\"*\"", @@ -50527,29 +50810,29 @@ var g = &grammar{ }, { name: "SingleQuoteBoldTextElements", - pos: position{line: 2018, col: 1, offset: 66138}, + pos: position{line: 2024, col: 1, offset: 66370}, expr: &actionExpr{ - pos: position{line: 2019, col: 5, offset: 66175}, + pos: position{line: 2025, col: 5, offset: 66407}, run: (*parser).callonSingleQuoteBoldTextElements1, expr: &seqExpr{ - pos: position{line: 2019, col: 5, offset: 66175}, + pos: position{line: 2025, col: 5, offset: 66407}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 2019, col: 5, offset: 66175}, + pos: position{line: 2025, col: 5, offset: 66407}, expr: ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, ¬Expr{ - pos: position{line: 2019, col: 10, offset: 66180}, + pos: position{line: 2025, col: 10, offset: 66412}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonSingleQuoteBoldTextElements7, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -50558,18 +50841,18 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 2020, col: 5, offset: 66219}, + pos: position{line: 2026, col: 5, offset: 66451}, label: "elements", expr: &oneOrMoreExpr{ - pos: position{line: 2020, col: 14, offset: 66228}, + pos: position{line: 2026, col: 14, offset: 66460}, expr: &ruleRefExpr{ - pos: position{line: 2020, col: 15, offset: 66229}, + pos: position{line: 2026, col: 15, offset: 66461}, name: "SingleQuoteBoldTextElement", }, }, }, &andCodeExpr{ - pos: position{line: 2021, col: 5, offset: 66263}, + pos: position{line: 2027, col: 5, offset: 66495}, run: (*parser).callonSingleQuoteBoldTextElements12, }, }, @@ -50578,20 +50861,20 @@ var g = &grammar{ }, { name: "SingleQuoteBoldTextElement", - pos: position{line: 2027, col: 1, offset: 66404}, + pos: position{line: 2033, col: 1, offset: 66636}, expr: &choiceExpr{ - pos: position{line: 2028, col: 5, offset: 66439}, + pos: position{line: 2034, col: 5, offset: 66671}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 1951, col: 5, offset: 63979}, + pos: position{line: 1958, col: 5, offset: 64234}, run: (*parser).callonSingleQuoteBoldTextElement2, expr: &seqExpr{ - pos: position{line: 1951, col: 5, offset: 63979}, + pos: position{line: 1958, col: 5, offset: 64234}, exprs: []interface{}{ &oneOrMoreExpr{ - pos: position{line: 1951, col: 5, offset: 63979}, + pos: position{line: 1958, col: 5, offset: 64234}, expr: &charClassMatcher{ - pos: position{line: 1951, col: 5, offset: 63979}, + pos: position{line: 1958, col: 5, offset: 64234}, val: "[,?!;0-9\\pL]", chars: []rune{',', '?', '!', ';'}, ranges: []rune{'0', '9'}, @@ -50601,15 +50884,15 @@ var g = &grammar{ }, }, &andExpr{ - pos: position{line: 1951, col: 19, offset: 63993}, + pos: position{line: 1958, col: 19, offset: 64248}, expr: &choiceExpr{ - pos: position{line: 1951, col: 21, offset: 63995}, + pos: position{line: 1958, col: 21, offset: 64250}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonSingleQuoteBoldTextElement8, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -50617,7 +50900,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1948, col: 22, offset: 63953}, + pos: position{line: 1955, col: 22, offset: 64208}, val: "*", ignoreCase: false, want: "\"*\"", @@ -50629,12 +50912,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 3180, col: 11, offset: 103464}, + pos: position{line: 3076, col: 11, offset: 100101}, run: (*parser).callonSingleQuoteBoldTextElement11, expr: &oneOrMoreExpr{ - pos: position{line: 3180, col: 11, offset: 103464}, + pos: position{line: 3076, col: 11, offset: 100101}, expr: &charClassMatcher{ - pos: position{line: 3180, col: 12, offset: 103465}, + pos: position{line: 3076, col: 12, offset: 100102}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -50643,28 +50926,28 @@ var g = &grammar{ }, }, &seqExpr{ - pos: position{line: 2030, col: 7, offset: 66471}, + pos: position{line: 2036, col: 7, offset: 66703}, exprs: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonSingleQuoteBoldTextElement15, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -50673,27 +50956,27 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2030, col: 15, offset: 66479}, + pos: position{line: 2036, col: 15, offset: 66711}, expr: &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonSingleQuoteBoldTextElement21, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -50705,35 +50988,35 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 641, col: 5, offset: 20613}, + pos: position{line: 648, col: 5, offset: 20883}, run: (*parser).callonSingleQuoteBoldTextElement26, expr: &seqExpr{ - pos: position{line: 641, col: 5, offset: 20613}, + pos: position{line: 648, col: 5, offset: 20883}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 641, col: 5, offset: 20613}, + pos: position{line: 648, col: 5, offset: 20883}, run: (*parser).callonSingleQuoteBoldTextElement28, }, &labeledExpr{ - pos: position{line: 644, col: 5, offset: 20682}, + pos: position{line: 651, col: 5, offset: 20952}, label: "element", expr: &choiceExpr{ - pos: position{line: 644, col: 14, offset: 20691}, + pos: position{line: 651, col: 14, offset: 20961}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 664, col: 25, offset: 21344}, + pos: position{line: 671, col: 25, offset: 21614}, run: (*parser).callonSingleQuoteBoldTextElement31, expr: &seqExpr{ - pos: position{line: 664, col: 25, offset: 21344}, + pos: position{line: 671, col: 25, offset: 21614}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 664, col: 25, offset: 21344}, + pos: position{line: 671, col: 25, offset: 21614}, val: "{counter:", ignoreCase: false, want: "\"{counter:\"", }, &labeledExpr{ - pos: position{line: 664, col: 37, offset: 21356}, + pos: position{line: 671, col: 37, offset: 21626}, label: "name", expr: &actionExpr{ pos: position{line: 324, col: 18, offset: 10072}, @@ -50767,33 +51050,33 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 664, col: 56, offset: 21375}, + pos: position{line: 671, col: 56, offset: 21645}, label: "start", expr: &zeroOrOneExpr{ - pos: position{line: 664, col: 62, offset: 21381}, + pos: position{line: 671, col: 62, offset: 21651}, expr: &actionExpr{ - pos: position{line: 672, col: 17, offset: 21676}, + pos: position{line: 679, col: 17, offset: 21946}, run: (*parser).callonSingleQuoteBoldTextElement42, expr: &seqExpr{ - pos: position{line: 672, col: 17, offset: 21676}, + pos: position{line: 679, col: 17, offset: 21946}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 672, col: 17, offset: 21676}, + pos: position{line: 679, col: 17, offset: 21946}, val: ":", ignoreCase: false, want: "\":\"", }, &labeledExpr{ - pos: position{line: 672, col: 21, offset: 21680}, + pos: position{line: 679, col: 21, offset: 21950}, label: "start", expr: &choiceExpr{ - pos: position{line: 672, col: 28, offset: 21687}, + pos: position{line: 679, col: 28, offset: 21957}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 672, col: 28, offset: 21687}, + pos: position{line: 679, col: 28, offset: 21957}, run: (*parser).callonSingleQuoteBoldTextElement47, expr: &charClassMatcher{ - pos: position{line: 672, col: 28, offset: 21687}, + pos: position{line: 679, col: 28, offset: 21957}, val: "[A-Za-z]", ranges: []rune{'A', 'Z', 'a', 'z'}, ignoreCase: false, @@ -50801,12 +51084,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 674, col: 9, offset: 21741}, + pos: position{line: 681, col: 9, offset: 22011}, run: (*parser).callonSingleQuoteBoldTextElement49, expr: &oneOrMoreExpr{ - pos: position{line: 674, col: 9, offset: 21741}, + pos: position{line: 681, col: 9, offset: 22011}, expr: &charClassMatcher{ - pos: position{line: 674, col: 9, offset: 21741}, + pos: position{line: 681, col: 9, offset: 22011}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -50823,7 +51106,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 664, col: 78, offset: 21397}, + pos: position{line: 671, col: 78, offset: 21667}, val: "}", ignoreCase: false, want: "\"}\"", @@ -50832,19 +51115,19 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 668, col: 25, offset: 21515}, + pos: position{line: 675, col: 25, offset: 21785}, run: (*parser).callonSingleQuoteBoldTextElement53, expr: &seqExpr{ - pos: position{line: 668, col: 25, offset: 21515}, + pos: position{line: 675, col: 25, offset: 21785}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 668, col: 25, offset: 21515}, + pos: position{line: 675, col: 25, offset: 21785}, val: "{counter2:", ignoreCase: false, want: "\"{counter2:\"", }, &labeledExpr{ - pos: position{line: 668, col: 38, offset: 21528}, + pos: position{line: 675, col: 38, offset: 21798}, label: "name", expr: &actionExpr{ pos: position{line: 324, col: 18, offset: 10072}, @@ -50878,33 +51161,33 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 668, col: 57, offset: 21547}, + pos: position{line: 675, col: 57, offset: 21817}, label: "start", expr: &zeroOrOneExpr{ - pos: position{line: 668, col: 63, offset: 21553}, + pos: position{line: 675, col: 63, offset: 21823}, expr: &actionExpr{ - pos: position{line: 672, col: 17, offset: 21676}, + pos: position{line: 679, col: 17, offset: 21946}, run: (*parser).callonSingleQuoteBoldTextElement64, expr: &seqExpr{ - pos: position{line: 672, col: 17, offset: 21676}, + pos: position{line: 679, col: 17, offset: 21946}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 672, col: 17, offset: 21676}, + pos: position{line: 679, col: 17, offset: 21946}, val: ":", ignoreCase: false, want: "\":\"", }, &labeledExpr{ - pos: position{line: 672, col: 21, offset: 21680}, + pos: position{line: 679, col: 21, offset: 21950}, label: "start", expr: &choiceExpr{ - pos: position{line: 672, col: 28, offset: 21687}, + pos: position{line: 679, col: 28, offset: 21957}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 672, col: 28, offset: 21687}, + pos: position{line: 679, col: 28, offset: 21957}, run: (*parser).callonSingleQuoteBoldTextElement69, expr: &charClassMatcher{ - pos: position{line: 672, col: 28, offset: 21687}, + pos: position{line: 679, col: 28, offset: 21957}, val: "[A-Za-z]", ranges: []rune{'A', 'Z', 'a', 'z'}, ignoreCase: false, @@ -50912,12 +51195,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 674, col: 9, offset: 21741}, + pos: position{line: 681, col: 9, offset: 22011}, run: (*parser).callonSingleQuoteBoldTextElement71, expr: &oneOrMoreExpr{ - pos: position{line: 674, col: 9, offset: 21741}, + pos: position{line: 681, col: 9, offset: 22011}, expr: &charClassMatcher{ - pos: position{line: 674, col: 9, offset: 21741}, + pos: position{line: 681, col: 9, offset: 22011}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -50934,7 +51217,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 668, col: 79, offset: 21569}, + pos: position{line: 675, col: 79, offset: 21839}, val: "}", ignoreCase: false, want: "\"}\"", @@ -50943,19 +51226,19 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 650, col: 5, offset: 20820}, + pos: position{line: 657, col: 5, offset: 21090}, run: (*parser).callonSingleQuoteBoldTextElement75, expr: &seqExpr{ - pos: position{line: 650, col: 5, offset: 20820}, + pos: position{line: 657, col: 5, offset: 21090}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 650, col: 5, offset: 20820}, + pos: position{line: 657, col: 5, offset: 21090}, val: "\\{", ignoreCase: false, want: "\"\\\\{\"", }, &labeledExpr{ - pos: position{line: 650, col: 13, offset: 20828}, + pos: position{line: 657, col: 13, offset: 21098}, label: "name", expr: &actionExpr{ pos: position{line: 324, col: 18, offset: 10072}, @@ -50989,7 +51272,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 650, col: 32, offset: 20847}, + pos: position{line: 657, col: 32, offset: 21117}, val: "}", ignoreCase: false, want: "\"}\"", @@ -50998,19 +51281,19 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 657, col: 5, offset: 21088}, + pos: position{line: 664, col: 5, offset: 21358}, run: (*parser).callonSingleQuoteBoldTextElement85, expr: &seqExpr{ - pos: position{line: 657, col: 5, offset: 21088}, + pos: position{line: 664, col: 5, offset: 21358}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 657, col: 5, offset: 21088}, + pos: position{line: 664, col: 5, offset: 21358}, val: "{", ignoreCase: false, want: "\"{\"", }, &labeledExpr{ - pos: position{line: 657, col: 9, offset: 21092}, + pos: position{line: 664, col: 9, offset: 21362}, label: "name", expr: &actionExpr{ pos: position{line: 324, col: 18, offset: 10072}, @@ -51044,7 +51327,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 657, col: 28, offset: 21111}, + pos: position{line: 664, col: 28, offset: 21381}, val: "}", ignoreCase: false, want: "\"}\"", @@ -51059,53 +51342,53 @@ var g = &grammar{ }, }, &ruleRefExpr{ - pos: position{line: 2032, col: 7, offset: 66553}, + pos: position{line: 2038, col: 7, offset: 66785}, name: "InlineMacro", }, &actionExpr{ - pos: position{line: 2859, col: 5, offset: 93679}, + pos: position{line: 2745, col: 5, offset: 90112}, run: (*parser).callonSingleQuoteBoldTextElement96, expr: &seqExpr{ - pos: position{line: 2859, col: 5, offset: 93679}, + pos: position{line: 2745, col: 5, offset: 90112}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 2859, col: 5, offset: 93679}, + pos: position{line: 2745, col: 5, offset: 90112}, run: (*parser).callonSingleQuoteBoldTextElement98, }, &labeledExpr{ - pos: position{line: 2862, col: 5, offset: 93755}, + pos: position{line: 2748, col: 5, offset: 90188}, label: "element", expr: &choiceExpr{ - pos: position{line: 2864, col: 9, offset: 93853}, + pos: position{line: 2750, col: 9, offset: 90286}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2864, col: 9, offset: 93853}, + pos: position{line: 2750, col: 9, offset: 90286}, run: (*parser).callonSingleQuoteBoldTextElement101, expr: &choiceExpr{ - pos: position{line: 692, col: 27, offset: 22395}, + pos: position{line: 699, col: 27, offset: 22665}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 692, col: 27, offset: 22395}, + pos: position{line: 699, col: 27, offset: 22665}, run: (*parser).callonSingleQuoteBoldTextElement103, expr: &seqExpr{ - pos: position{line: 692, col: 27, offset: 22395}, + pos: position{line: 699, col: 27, offset: 22665}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 692, col: 27, offset: 22395}, + pos: position{line: 699, col: 27, offset: 22665}, val: "<<", ignoreCase: false, want: "\"<<\"", }, &labeledExpr{ - pos: position{line: 692, col: 32, offset: 22400}, + pos: position{line: 699, col: 32, offset: 22670}, label: "id", expr: &actionExpr{ - pos: position{line: 3161, col: 7, offset: 103049}, + pos: position{line: 3057, col: 7, offset: 99686}, run: (*parser).callonSingleQuoteBoldTextElement107, expr: &oneOrMoreExpr{ - pos: position{line: 3161, col: 7, offset: 103049}, + pos: position{line: 3057, col: 7, offset: 99686}, expr: &charClassMatcher{ - pos: position{line: 3161, col: 7, offset: 103049}, + pos: position{line: 3057, col: 7, offset: 99686}, val: "[^[]<>,]", chars: []rune{'[', ']', '<', '>', ','}, ignoreCase: false, @@ -51115,12 +51398,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 692, col: 40, offset: 22408}, + pos: position{line: 699, col: 40, offset: 22678}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonSingleQuoteBoldTextElement111, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -51129,27 +51412,27 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 692, col: 47, offset: 22415}, + pos: position{line: 699, col: 47, offset: 22685}, val: ",", ignoreCase: false, want: "\",\"", }, &labeledExpr{ - pos: position{line: 692, col: 51, offset: 22419}, + pos: position{line: 699, col: 51, offset: 22689}, label: "label", expr: &oneOrMoreExpr{ - pos: position{line: 702, col: 24, offset: 22820}, + pos: position{line: 709, col: 24, offset: 23090}, expr: &choiceExpr{ - pos: position{line: 703, col: 5, offset: 22826}, + pos: position{line: 710, col: 5, offset: 23096}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 703, col: 6, offset: 22827}, + pos: position{line: 710, col: 6, offset: 23097}, run: (*parser).callonSingleQuoteBoldTextElement117, expr: &seqExpr{ - pos: position{line: 703, col: 6, offset: 22827}, + pos: position{line: 710, col: 6, offset: 23097}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 703, col: 6, offset: 22827}, + pos: position{line: 710, col: 6, offset: 23097}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -51157,9 +51440,9 @@ var g = &grammar{ inverted: false, }, &oneOrMoreExpr{ - pos: position{line: 703, col: 14, offset: 22835}, + pos: position{line: 710, col: 14, offset: 23105}, expr: &charClassMatcher{ - pos: position{line: 703, col: 14, offset: 22835}, + pos: position{line: 710, col: 14, offset: 23105}, val: "[^\\r\\n{<>]", chars: []rune{'\r', '\n', '{', '<', '>'}, ignoreCase: false, @@ -51170,19 +51453,19 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 650, col: 5, offset: 20820}, + pos: position{line: 657, col: 5, offset: 21090}, run: (*parser).callonSingleQuoteBoldTextElement122, expr: &seqExpr{ - pos: position{line: 650, col: 5, offset: 20820}, + pos: position{line: 657, col: 5, offset: 21090}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 650, col: 5, offset: 20820}, + pos: position{line: 657, col: 5, offset: 21090}, val: "\\{", ignoreCase: false, want: "\"\\\\{\"", }, &labeledExpr{ - pos: position{line: 650, col: 13, offset: 20828}, + pos: position{line: 657, col: 13, offset: 21098}, label: "name", expr: &actionExpr{ pos: position{line: 324, col: 18, offset: 10072}, @@ -51216,7 +51499,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 650, col: 32, offset: 20847}, + pos: position{line: 657, col: 32, offset: 21117}, val: "}", ignoreCase: false, want: "\"}\"", @@ -51225,19 +51508,19 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 657, col: 5, offset: 21088}, + pos: position{line: 664, col: 5, offset: 21358}, run: (*parser).callonSingleQuoteBoldTextElement132, expr: &seqExpr{ - pos: position{line: 657, col: 5, offset: 21088}, + pos: position{line: 664, col: 5, offset: 21358}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 657, col: 5, offset: 21088}, + pos: position{line: 664, col: 5, offset: 21358}, val: "{", ignoreCase: false, want: "\"{\"", }, &labeledExpr{ - pos: position{line: 657, col: 9, offset: 21092}, + pos: position{line: 664, col: 9, offset: 21362}, label: "name", expr: &actionExpr{ pos: position{line: 324, col: 18, offset: 10072}, @@ -51271,7 +51554,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 657, col: 28, offset: 21111}, + pos: position{line: 664, col: 28, offset: 21381}, val: "}", ignoreCase: false, want: "\"}\"", @@ -51280,10 +51563,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 707, col: 8, offset: 23061}, + pos: position{line: 714, col: 8, offset: 23331}, run: (*parser).callonSingleQuoteBoldTextElement142, expr: &litMatcher{ - pos: position{line: 707, col: 8, offset: 23061}, + pos: position{line: 714, col: 8, offset: 23331}, val: "{", ignoreCase: false, want: "\"{\"", @@ -51294,7 +51577,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 692, col: 79, offset: 22447}, + pos: position{line: 699, col: 79, offset: 22717}, val: ">>", ignoreCase: false, want: "\">>\"", @@ -51303,27 +51586,27 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 694, col: 9, offset: 22520}, + pos: position{line: 701, col: 9, offset: 22790}, run: (*parser).callonSingleQuoteBoldTextElement145, expr: &seqExpr{ - pos: position{line: 694, col: 9, offset: 22520}, + pos: position{line: 701, col: 9, offset: 22790}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 694, col: 9, offset: 22520}, + pos: position{line: 701, col: 9, offset: 22790}, val: "<<", ignoreCase: false, want: "\"<<\"", }, &labeledExpr{ - pos: position{line: 694, col: 14, offset: 22525}, + pos: position{line: 701, col: 14, offset: 22795}, label: "id", expr: &actionExpr{ - pos: position{line: 3161, col: 7, offset: 103049}, + pos: position{line: 3057, col: 7, offset: 99686}, run: (*parser).callonSingleQuoteBoldTextElement149, expr: &oneOrMoreExpr{ - pos: position{line: 3161, col: 7, offset: 103049}, + pos: position{line: 3057, col: 7, offset: 99686}, expr: &charClassMatcher{ - pos: position{line: 3161, col: 7, offset: 103049}, + pos: position{line: 3057, col: 7, offset: 99686}, val: "[^[]<>,]", chars: []rune{'[', ']', '<', '>', ','}, ignoreCase: false, @@ -51333,7 +51616,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 694, col: 22, offset: 22533}, + pos: position{line: 701, col: 22, offset: 22803}, val: ">>", ignoreCase: false, want: "\">>\"", @@ -51345,10 +51628,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2867, col: 11, offset: 93957}, + pos: position{line: 2753, col: 11, offset: 90390}, run: (*parser).callonSingleQuoteBoldTextElement153, expr: &charClassMatcher{ - pos: position{line: 2867, col: 12, offset: 93958}, + pos: position{line: 2753, col: 12, offset: 90391}, val: "[<>&]", chars: []rune{'<', '>', '&'}, ignoreCase: false, @@ -51362,65 +51645,95 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2892, col: 5, offset: 94851}, + pos: position{line: 2778, col: 5, offset: 91284}, run: (*parser).callonSingleQuoteBoldTextElement155, expr: &seqExpr{ - pos: position{line: 2892, col: 5, offset: 94851}, + pos: position{line: 2778, col: 5, offset: 91284}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2892, col: 5, offset: 94851}, + pos: position{line: 2778, col: 5, offset: 91284}, val: "\\", ignoreCase: false, want: "\"\\\\\"", }, &choiceExpr{ - pos: position{line: 2892, col: 10, offset: 94856}, + pos: position{line: 2778, col: 10, offset: 91289}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2900, col: 15, offset: 95132}, + pos: position{line: 2787, col: 5, offset: 91579}, run: (*parser).callonSingleQuoteBoldTextElement159, expr: &litMatcher{ - pos: position{line: 2900, col: 15, offset: 95132}, + pos: position{line: 2787, col: 5, offset: 91579}, + val: "\"`", + ignoreCase: false, + want: "\"\\\"`\"", + }, + }, + &actionExpr{ + pos: position{line: 2790, col: 7, offset: 91637}, + run: (*parser).callonSingleQuoteBoldTextElement161, + expr: &litMatcher{ + pos: position{line: 2790, col: 7, offset: 91637}, + val: "`\"", + ignoreCase: false, + want: "\"`\\\"\"", + }, + }, + &actionExpr{ + pos: position{line: 2793, col: 7, offset: 91695}, + run: (*parser).callonSingleQuoteBoldTextElement163, + expr: &litMatcher{ + pos: position{line: 2793, col: 7, offset: 91695}, + val: "'`", + ignoreCase: false, + want: "\"'`\"", + }, + }, + &actionExpr{ + pos: position{line: 2796, col: 7, offset: 91751}, + run: (*parser).callonSingleQuoteBoldTextElement165, + expr: &litMatcher{ + pos: position{line: 2796, col: 7, offset: 91751}, val: "`'", ignoreCase: false, want: "\"`'\"", }, }, &actionExpr{ - pos: position{line: 2906, col: 14, offset: 95236}, - run: (*parser).callonSingleQuoteBoldTextElement161, + pos: position{line: 2802, col: 14, offset: 91873}, + run: (*parser).callonSingleQuoteBoldTextElement167, expr: &litMatcher{ - pos: position{line: 2906, col: 14, offset: 95236}, + pos: position{line: 2802, col: 14, offset: 91873}, val: "(C)", ignoreCase: false, want: "\"(C)\"", }, }, &actionExpr{ - pos: position{line: 2910, col: 14, offset: 95302}, - run: (*parser).callonSingleQuoteBoldTextElement163, + pos: position{line: 2806, col: 14, offset: 91939}, + run: (*parser).callonSingleQuoteBoldTextElement169, expr: &litMatcher{ - pos: position{line: 2910, col: 14, offset: 95302}, + pos: position{line: 2806, col: 14, offset: 91939}, val: "(TM)", ignoreCase: false, want: "\"(TM)\"", }, }, &actionExpr{ - pos: position{line: 2914, col: 15, offset: 95371}, - run: (*parser).callonSingleQuoteBoldTextElement165, + pos: position{line: 2810, col: 15, offset: 92008}, + run: (*parser).callonSingleQuoteBoldTextElement171, expr: &litMatcher{ - pos: position{line: 2914, col: 15, offset: 95371}, + pos: position{line: 2810, col: 15, offset: 92008}, val: "(R)", ignoreCase: false, want: "\"(R)\"", }, }, &actionExpr{ - pos: position{line: 2918, col: 13, offset: 95436}, - run: (*parser).callonSingleQuoteBoldTextElement167, + pos: position{line: 2814, col: 13, offset: 92073}, + run: (*parser).callonSingleQuoteBoldTextElement173, expr: &litMatcher{ - pos: position{line: 2918, col: 13, offset: 95436}, + pos: position{line: 2814, col: 13, offset: 92073}, val: "...", ignoreCase: false, want: "\"...\"", @@ -51432,63 +51745,93 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2900, col: 15, offset: 95132}, - run: (*parser).callonSingleQuoteBoldTextElement169, + pos: position{line: 2787, col: 5, offset: 91579}, + run: (*parser).callonSingleQuoteBoldTextElement175, expr: &litMatcher{ - pos: position{line: 2900, col: 15, offset: 95132}, + pos: position{line: 2787, col: 5, offset: 91579}, + val: "\"`", + ignoreCase: false, + want: "\"\\\"`\"", + }, + }, + &actionExpr{ + pos: position{line: 2790, col: 7, offset: 91637}, + run: (*parser).callonSingleQuoteBoldTextElement177, + expr: &litMatcher{ + pos: position{line: 2790, col: 7, offset: 91637}, + val: "`\"", + ignoreCase: false, + want: "\"`\\\"\"", + }, + }, + &actionExpr{ + pos: position{line: 2793, col: 7, offset: 91695}, + run: (*parser).callonSingleQuoteBoldTextElement179, + expr: &litMatcher{ + pos: position{line: 2793, col: 7, offset: 91695}, + val: "'`", + ignoreCase: false, + want: "\"'`\"", + }, + }, + &actionExpr{ + pos: position{line: 2796, col: 7, offset: 91751}, + run: (*parser).callonSingleQuoteBoldTextElement181, + expr: &litMatcher{ + pos: position{line: 2796, col: 7, offset: 91751}, val: "`'", ignoreCase: false, want: "\"`'\"", }, }, &actionExpr{ - pos: position{line: 2906, col: 14, offset: 95236}, - run: (*parser).callonSingleQuoteBoldTextElement171, + pos: position{line: 2802, col: 14, offset: 91873}, + run: (*parser).callonSingleQuoteBoldTextElement183, expr: &litMatcher{ - pos: position{line: 2906, col: 14, offset: 95236}, + pos: position{line: 2802, col: 14, offset: 91873}, val: "(C)", ignoreCase: false, want: "\"(C)\"", }, }, &actionExpr{ - pos: position{line: 2910, col: 14, offset: 95302}, - run: (*parser).callonSingleQuoteBoldTextElement173, + pos: position{line: 2806, col: 14, offset: 91939}, + run: (*parser).callonSingleQuoteBoldTextElement185, expr: &litMatcher{ - pos: position{line: 2910, col: 14, offset: 95302}, + pos: position{line: 2806, col: 14, offset: 91939}, val: "(TM)", ignoreCase: false, want: "\"(TM)\"", }, }, &actionExpr{ - pos: position{line: 2914, col: 15, offset: 95371}, - run: (*parser).callonSingleQuoteBoldTextElement175, + pos: position{line: 2810, col: 15, offset: 92008}, + run: (*parser).callonSingleQuoteBoldTextElement187, expr: &litMatcher{ - pos: position{line: 2914, col: 15, offset: 95371}, + pos: position{line: 2810, col: 15, offset: 92008}, val: "(R)", ignoreCase: false, want: "\"(R)\"", }, }, &actionExpr{ - pos: position{line: 2918, col: 13, offset: 95436}, - run: (*parser).callonSingleQuoteBoldTextElement177, + pos: position{line: 2814, col: 13, offset: 92073}, + run: (*parser).callonSingleQuoteBoldTextElement189, expr: &litMatcher{ - pos: position{line: 2918, col: 13, offset: 95436}, + pos: position{line: 2814, col: 13, offset: 92073}, val: "...", ignoreCase: false, want: "\"...\"", }, }, &actionExpr{ - pos: position{line: 2929, col: 5, offset: 95746}, - run: (*parser).callonSingleQuoteBoldTextElement179, + pos: position{line: 2825, col: 5, offset: 92383}, + run: (*parser).callonSingleQuoteBoldTextElement191, expr: &seqExpr{ - pos: position{line: 2929, col: 5, offset: 95746}, + pos: position{line: 2825, col: 5, offset: 92383}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 3090, col: 13, offset: 100713}, + pos: position{line: 2986, col: 13, offset: 97350}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -51496,15 +51839,15 @@ var g = &grammar{ inverted: false, }, &litMatcher{ - pos: position{line: 2929, col: 14, offset: 95755}, + pos: position{line: 2825, col: 14, offset: 92392}, val: "\\'", ignoreCase: false, want: "\"\\\\'\"", }, &andExpr{ - pos: position{line: 2929, col: 19, offset: 95760}, + pos: position{line: 2825, col: 19, offset: 92397}, expr: &charClassMatcher{ - pos: position{line: 2929, col: 20, offset: 95761}, + pos: position{line: 2825, col: 20, offset: 92398}, val: "[\\pL]", classes: []*unicode.RangeTable{rangeTable("L")}, ignoreCase: false, @@ -51515,13 +51858,13 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2935, col: 5, offset: 95992}, - run: (*parser).callonSingleQuoteBoldTextElement185, + pos: position{line: 2831, col: 5, offset: 92629}, + run: (*parser).callonSingleQuoteBoldTextElement197, expr: &seqExpr{ - pos: position{line: 2935, col: 5, offset: 95992}, + pos: position{line: 2831, col: 5, offset: 92629}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 3090, col: 13, offset: 100713}, + pos: position{line: 2986, col: 13, offset: 97350}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -51529,15 +51872,15 @@ var g = &grammar{ inverted: false, }, &litMatcher{ - pos: position{line: 2935, col: 14, offset: 96001}, + pos: position{line: 2831, col: 14, offset: 92638}, val: "'", ignoreCase: false, want: "\"'\"", }, &andExpr{ - pos: position{line: 2935, col: 18, offset: 96005}, + pos: position{line: 2831, col: 18, offset: 92642}, expr: &charClassMatcher{ - pos: position{line: 2935, col: 19, offset: 96006}, + pos: position{line: 2831, col: 19, offset: 92643}, val: "[\\pL]", classes: []*unicode.RangeTable{rangeTable("L")}, ignoreCase: false, @@ -51548,35 +51891,31 @@ var g = &grammar{ }, }, &ruleRefExpr{ - pos: position{line: 2035, col: 7, offset: 66657}, - name: "QuotedString", - }, - &ruleRefExpr{ - pos: position{line: 2036, col: 7, offset: 66676}, + pos: position{line: 2041, col: 7, offset: 66889}, name: "QuotedTextInSingleQuoteBoldText", }, &actionExpr{ - pos: position{line: 1212, col: 23, offset: 37871}, - run: (*parser).callonSingleQuoteBoldTextElement193, + pos: position{line: 1219, col: 23, offset: 38141}, + run: (*parser).callonSingleQuoteBoldTextElement204, expr: &seqExpr{ - pos: position{line: 1212, col: 23, offset: 37871}, + pos: position{line: 1219, col: 23, offset: 38141}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1210, col: 32, offset: 37839}, + pos: position{line: 1217, col: 32, offset: 38109}, val: "�", ignoreCase: false, want: "\"�\"", }, &labeledExpr{ - pos: position{line: 1212, col: 51, offset: 37899}, + pos: position{line: 1219, col: 51, offset: 38169}, label: "ref", expr: &actionExpr{ - pos: position{line: 1212, col: 56, offset: 37904}, - run: (*parser).callonSingleQuoteBoldTextElement197, + pos: position{line: 1219, col: 56, offset: 38174}, + run: (*parser).callonSingleQuoteBoldTextElement208, expr: &oneOrMoreExpr{ - pos: position{line: 1212, col: 56, offset: 37904}, + pos: position{line: 1219, col: 56, offset: 38174}, expr: &charClassMatcher{ - pos: position{line: 1212, col: 56, offset: 37904}, + pos: position{line: 1219, col: 56, offset: 38174}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -51586,7 +51925,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1210, col: 32, offset: 37839}, + pos: position{line: 1217, col: 32, offset: 38109}, val: "�", ignoreCase: false, want: "\"�\"", @@ -51595,31 +51934,31 @@ var g = &grammar{ }, }, &charClassMatcher{ - pos: position{line: 2066, col: 5, offset: 67405}, + pos: position{line: 2071, col: 5, offset: 67618}, val: "[^\\r\\n *]", chars: []rune{'\r', '\n', ' ', '*'}, ignoreCase: false, inverted: true, }, &actionExpr{ - pos: position{line: 2067, col: 7, offset: 67510}, - run: (*parser).callonSingleQuoteBoldTextElement202, + pos: position{line: 2072, col: 7, offset: 67723}, + run: (*parser).callonSingleQuoteBoldTextElement213, expr: &seqExpr{ - pos: position{line: 2067, col: 7, offset: 67510}, + pos: position{line: 2072, col: 7, offset: 67723}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2067, col: 7, offset: 67510}, + pos: position{line: 2072, col: 7, offset: 67723}, val: "*", ignoreCase: false, want: "\"*\"", }, &actionExpr{ - pos: position{line: 3094, col: 14, offset: 100787}, - run: (*parser).callonSingleQuoteBoldTextElement205, + pos: position{line: 2990, col: 14, offset: 97424}, + run: (*parser).callonSingleQuoteBoldTextElement216, expr: &oneOrMoreExpr{ - pos: position{line: 3094, col: 14, offset: 100787}, + pos: position{line: 2990, col: 14, offset: 97424}, expr: &charClassMatcher{ - pos: position{line: 3094, col: 14, offset: 100787}, + pos: position{line: 2990, col: 14, offset: 97424}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -51636,49 +51975,49 @@ var g = &grammar{ }, { name: "QuotedTextInSingleQuoteBoldText", - pos: position{line: 2040, col: 1, offset: 66777}, + pos: position{line: 2045, col: 1, offset: 66990}, expr: &choiceExpr{ - pos: position{line: 2042, col: 5, offset: 66840}, + pos: position{line: 2047, col: 5, offset: 67053}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2042, col: 5, offset: 66840}, + pos: position{line: 2047, col: 5, offset: 67053}, run: (*parser).callonQuotedTextInSingleQuoteBoldText2, expr: &seqExpr{ - pos: position{line: 2042, col: 5, offset: 66840}, + pos: position{line: 2047, col: 5, offset: 67053}, exprs: []interface{}{ &andExpr{ - pos: position{line: 2042, col: 5, offset: 66840}, + pos: position{line: 2047, col: 5, offset: 67053}, expr: &litMatcher{ - pos: position{line: 2042, col: 7, offset: 66842}, + pos: position{line: 2047, col: 7, offset: 67055}, val: "\\", ignoreCase: false, want: "\"\\\\\"", }, }, &labeledExpr{ - pos: position{line: 2043, col: 5, offset: 66851}, + pos: position{line: 2048, col: 5, offset: 67064}, label: "element", expr: &choiceExpr{ - pos: position{line: 2044, col: 9, offset: 66869}, + pos: position{line: 2049, col: 9, offset: 67082}, alternatives: []interface{}{ &ruleRefExpr{ - pos: position{line: 2044, col: 9, offset: 66869}, + pos: position{line: 2049, col: 9, offset: 67082}, name: "EscapedItalicText", }, &ruleRefExpr{ - pos: position{line: 2045, col: 11, offset: 66897}, + pos: position{line: 2050, col: 11, offset: 67110}, name: "EscapedMarkedText", }, &ruleRefExpr{ - pos: position{line: 2046, col: 11, offset: 66925}, + pos: position{line: 2051, col: 11, offset: 67138}, name: "EscapedMonospaceText", }, &ruleRefExpr{ - pos: position{line: 2047, col: 11, offset: 66956}, + pos: position{line: 2052, col: 11, offset: 67169}, name: "EscapedSubscriptText", }, &ruleRefExpr{ - pos: position{line: 2048, col: 11, offset: 66987}, + pos: position{line: 2053, col: 11, offset: 67200}, name: "EscapedSuperscriptText", }, }, @@ -51688,50 +52027,50 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2054, col: 5, offset: 67087}, + pos: position{line: 2059, col: 5, offset: 67300}, run: (*parser).callonQuotedTextInSingleQuoteBoldText13, expr: &seqExpr{ - pos: position{line: 2054, col: 5, offset: 67087}, + pos: position{line: 2059, col: 5, offset: 67300}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 2054, col: 5, offset: 67087}, + pos: position{line: 2059, col: 5, offset: 67300}, label: "attributes", expr: &zeroOrOneExpr{ - pos: position{line: 2054, col: 16, offset: 67098}, + pos: position{line: 2059, col: 16, offset: 67311}, expr: &ruleRefExpr{ - pos: position{line: 2054, col: 17, offset: 67099}, + pos: position{line: 2059, col: 17, offset: 67312}, name: "LongHandAttributes", }, }, }, &labeledExpr{ - pos: position{line: 2055, col: 5, offset: 67125}, + pos: position{line: 2060, col: 5, offset: 67338}, label: "text", expr: &choiceExpr{ - pos: position{line: 2056, col: 9, offset: 67140}, + pos: position{line: 2061, col: 9, offset: 67353}, alternatives: []interface{}{ &ruleRefExpr{ - pos: position{line: 2056, col: 9, offset: 67140}, + pos: position{line: 2061, col: 9, offset: 67353}, name: "DoubleQuoteBoldText", }, &ruleRefExpr{ - pos: position{line: 2057, col: 11, offset: 67170}, + pos: position{line: 2062, col: 11, offset: 67383}, name: "ItalicText", }, &ruleRefExpr{ - pos: position{line: 2058, col: 11, offset: 67191}, + pos: position{line: 2063, col: 11, offset: 67404}, name: "MonospaceText", }, &ruleRefExpr{ - pos: position{line: 2059, col: 11, offset: 67215}, + pos: position{line: 2064, col: 11, offset: 67428}, name: "MarkedText", }, &ruleRefExpr{ - pos: position{line: 2060, col: 11, offset: 67236}, + pos: position{line: 2065, col: 11, offset: 67449}, name: "SubscriptText", }, &ruleRefExpr{ - pos: position{line: 2061, col: 11, offset: 67260}, + pos: position{line: 2066, col: 11, offset: 67473}, name: "SuperscriptText", }, }, @@ -51745,35 +52084,35 @@ var g = &grammar{ }, { name: "EscapedBoldText", - pos: position{line: 2071, col: 1, offset: 67685}, + pos: position{line: 2076, col: 1, offset: 67898}, expr: &choiceExpr{ - pos: position{line: 2073, col: 5, offset: 67746}, + pos: position{line: 2078, col: 5, offset: 67959}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2073, col: 5, offset: 67746}, + pos: position{line: 2078, col: 5, offset: 67959}, run: (*parser).callonEscapedBoldText2, expr: &seqExpr{ - pos: position{line: 2073, col: 5, offset: 67746}, + pos: position{line: 2078, col: 5, offset: 67959}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 2073, col: 5, offset: 67746}, + pos: position{line: 2078, col: 5, offset: 67959}, label: "backslashes", expr: &actionExpr{ - pos: position{line: 1939, col: 25, offset: 63647}, + pos: position{line: 1946, col: 25, offset: 63902}, run: (*parser).callonEscapedBoldText5, expr: &seqExpr{ - pos: position{line: 1939, col: 25, offset: 63647}, + pos: position{line: 1946, col: 25, offset: 63902}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1939, col: 25, offset: 63647}, + pos: position{line: 1946, col: 25, offset: 63902}, val: "\\\\", ignoreCase: false, want: "\"\\\\\\\\\"", }, &zeroOrMoreExpr{ - pos: position{line: 1939, col: 30, offset: 63652}, + pos: position{line: 1946, col: 30, offset: 63907}, expr: &litMatcher{ - pos: position{line: 1939, col: 30, offset: 63652}, + pos: position{line: 1946, col: 30, offset: 63907}, val: "\\", ignoreCase: false, want: "\"\\\\\"", @@ -51784,21 +52123,21 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 2073, col: 40, offset: 67781}, + pos: position{line: 2078, col: 40, offset: 67994}, val: "**", ignoreCase: false, want: "\"**\"", }, &labeledExpr{ - pos: position{line: 2073, col: 45, offset: 67786}, + pos: position{line: 2078, col: 45, offset: 67999}, label: "elements", expr: &ruleRefExpr{ - pos: position{line: 2073, col: 55, offset: 67796}, + pos: position{line: 2078, col: 55, offset: 68009}, name: "DoubleQuoteBoldTextElements", }, }, &litMatcher{ - pos: position{line: 2073, col: 84, offset: 67825}, + pos: position{line: 2078, col: 84, offset: 68038}, val: "**", ignoreCase: false, want: "\"**\"", @@ -51807,21 +52146,21 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2077, col: 7, offset: 67989}, + pos: position{line: 2082, col: 7, offset: 68202}, run: (*parser).callonEscapedBoldText14, expr: &seqExpr{ - pos: position{line: 2077, col: 7, offset: 67989}, + pos: position{line: 2082, col: 7, offset: 68202}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 2077, col: 7, offset: 67989}, + pos: position{line: 2082, col: 7, offset: 68202}, label: "backslashes", expr: &actionExpr{ - pos: position{line: 1935, col: 25, offset: 63574}, + pos: position{line: 1942, col: 25, offset: 63829}, run: (*parser).callonEscapedBoldText17, expr: &oneOrMoreExpr{ - pos: position{line: 1935, col: 25, offset: 63574}, + pos: position{line: 1942, col: 25, offset: 63829}, expr: &litMatcher{ - pos: position{line: 1935, col: 25, offset: 63574}, + pos: position{line: 1942, col: 25, offset: 63829}, val: "\\", ignoreCase: false, want: "\"\\\\\"", @@ -51830,21 +52169,21 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 2077, col: 42, offset: 68024}, + pos: position{line: 2082, col: 42, offset: 68237}, val: "**", ignoreCase: false, want: "\"**\"", }, &labeledExpr{ - pos: position{line: 2077, col: 47, offset: 68029}, + pos: position{line: 2082, col: 47, offset: 68242}, label: "elements", expr: &ruleRefExpr{ - pos: position{line: 2077, col: 57, offset: 68039}, + pos: position{line: 2082, col: 57, offset: 68252}, name: "SingleQuoteBoldTextElements", }, }, &litMatcher{ - pos: position{line: 2077, col: 86, offset: 68068}, + pos: position{line: 2082, col: 86, offset: 68281}, val: "*", ignoreCase: false, want: "\"*\"", @@ -51853,21 +52192,21 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2082, col: 7, offset: 68270}, + pos: position{line: 2087, col: 7, offset: 68483}, run: (*parser).callonEscapedBoldText24, expr: &seqExpr{ - pos: position{line: 2082, col: 7, offset: 68270}, + pos: position{line: 2087, col: 7, offset: 68483}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 2082, col: 7, offset: 68270}, + pos: position{line: 2087, col: 7, offset: 68483}, label: "backslashes", expr: &actionExpr{ - pos: position{line: 1935, col: 25, offset: 63574}, + pos: position{line: 1942, col: 25, offset: 63829}, run: (*parser).callonEscapedBoldText27, expr: &oneOrMoreExpr{ - pos: position{line: 1935, col: 25, offset: 63574}, + pos: position{line: 1942, col: 25, offset: 63829}, expr: &litMatcher{ - pos: position{line: 1935, col: 25, offset: 63574}, + pos: position{line: 1942, col: 25, offset: 63829}, val: "\\", ignoreCase: false, want: "\"\\\\\"", @@ -51876,21 +52215,21 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 2082, col: 42, offset: 68305}, + pos: position{line: 2087, col: 42, offset: 68518}, val: "*", ignoreCase: false, want: "\"*\"", }, &labeledExpr{ - pos: position{line: 2082, col: 46, offset: 68309}, + pos: position{line: 2087, col: 46, offset: 68522}, label: "elements", expr: &ruleRefExpr{ - pos: position{line: 2082, col: 56, offset: 68319}, + pos: position{line: 2087, col: 56, offset: 68532}, name: "SingleQuoteBoldTextElements", }, }, &litMatcher{ - pos: position{line: 2082, col: 85, offset: 68348}, + pos: position{line: 2087, col: 85, offset: 68561}, val: "*", ignoreCase: false, want: "\"*\"", @@ -51903,16 +52242,16 @@ var g = &grammar{ }, { name: "ItalicText", - pos: position{line: 2090, col: 1, offset: 68602}, + pos: position{line: 2095, col: 1, offset: 68815}, expr: &choiceExpr{ - pos: position{line: 2090, col: 15, offset: 68616}, + pos: position{line: 2095, col: 15, offset: 68829}, alternatives: []interface{}{ &ruleRefExpr{ - pos: position{line: 2090, col: 15, offset: 68616}, + pos: position{line: 2095, col: 15, offset: 68829}, name: "DoubleQuoteItalicText", }, &ruleRefExpr{ - pos: position{line: 2090, col: 39, offset: 68640}, + pos: position{line: 2095, col: 39, offset: 68853}, name: "SingleQuoteItalicText", }, }, @@ -51920,29 +52259,29 @@ var g = &grammar{ }, { name: "DoubleQuoteItalicText", - pos: position{line: 2104, col: 1, offset: 68968}, + pos: position{line: 2109, col: 1, offset: 69181}, expr: &actionExpr{ - pos: position{line: 2105, col: 5, offset: 68998}, + pos: position{line: 2110, col: 5, offset: 69211}, run: (*parser).callonDoubleQuoteItalicText1, expr: &seqExpr{ - pos: position{line: 2105, col: 5, offset: 68998}, + pos: position{line: 2110, col: 5, offset: 69211}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2102, col: 35, offset: 68962}, + pos: position{line: 2107, col: 35, offset: 69175}, val: "__", ignoreCase: false, want: "\"__\"", }, &labeledExpr{ - pos: position{line: 2106, col: 5, offset: 69034}, + pos: position{line: 2111, col: 5, offset: 69247}, label: "elements", expr: &ruleRefExpr{ - pos: position{line: 2106, col: 15, offset: 69044}, + pos: position{line: 2111, col: 15, offset: 69257}, name: "DoubleQuoteItalicTextElements", }, }, &litMatcher{ - pos: position{line: 2102, col: 35, offset: 68962}, + pos: position{line: 2107, col: 35, offset: 69175}, val: "__", ignoreCase: false, want: "\"__\"", @@ -51953,49 +52292,49 @@ var g = &grammar{ }, { name: "DoubleQuoteItalicTextElements", - pos: position{line: 2111, col: 1, offset: 69252}, + pos: position{line: 2116, col: 1, offset: 69465}, expr: &oneOrMoreExpr{ - pos: position{line: 2111, col: 34, offset: 69285}, + pos: position{line: 2116, col: 34, offset: 69498}, expr: &ruleRefExpr{ - pos: position{line: 2111, col: 34, offset: 69285}, + pos: position{line: 2116, col: 34, offset: 69498}, name: "DoubleQuoteItalicTextElement", }, }, }, { name: "DoubleQuoteItalicTextElement", - pos: position{line: 2113, col: 1, offset: 69317}, + pos: position{line: 2118, col: 1, offset: 69530}, expr: &actionExpr{ - pos: position{line: 2114, col: 5, offset: 69354}, + pos: position{line: 2119, col: 5, offset: 69567}, run: (*parser).callonDoubleQuoteItalicTextElement1, expr: &seqExpr{ - pos: position{line: 2114, col: 5, offset: 69354}, + pos: position{line: 2119, col: 5, offset: 69567}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 2114, col: 5, offset: 69354}, + pos: position{line: 2119, col: 5, offset: 69567}, expr: &litMatcher{ - pos: position{line: 2102, col: 35, offset: 68962}, + pos: position{line: 2107, col: 35, offset: 69175}, val: "__", ignoreCase: false, want: "\"__\"", }, }, &labeledExpr{ - pos: position{line: 2115, col: 5, offset: 69390}, + pos: position{line: 2120, col: 5, offset: 69603}, label: "element", expr: &choiceExpr{ - pos: position{line: 2116, col: 9, offset: 69408}, + pos: position{line: 2121, col: 9, offset: 69621}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2095, col: 5, offset: 68714}, + pos: position{line: 2100, col: 5, offset: 68927}, run: (*parser).callonDoubleQuoteItalicTextElement7, expr: &seqExpr{ - pos: position{line: 2095, col: 5, offset: 68714}, + pos: position{line: 2100, col: 5, offset: 68927}, exprs: []interface{}{ &oneOrMoreExpr{ - pos: position{line: 2095, col: 5, offset: 68714}, + pos: position{line: 2100, col: 5, offset: 68927}, expr: &charClassMatcher{ - pos: position{line: 2095, col: 5, offset: 68714}, + pos: position{line: 2100, col: 5, offset: 68927}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -52004,15 +52343,15 @@ var g = &grammar{ }, }, &andExpr{ - pos: position{line: 2095, col: 15, offset: 68724}, + pos: position{line: 2100, col: 15, offset: 68937}, expr: &choiceExpr{ - pos: position{line: 2095, col: 17, offset: 68726}, + pos: position{line: 2100, col: 17, offset: 68939}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonDoubleQuoteItalicTextElement13, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -52020,7 +52359,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 2092, col: 24, offset: 68686}, + pos: position{line: 2097, col: 24, offset: 68899}, val: "_", ignoreCase: false, want: "\"_\"", @@ -52032,12 +52371,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 3180, col: 11, offset: 103464}, + pos: position{line: 3076, col: 11, offset: 100101}, run: (*parser).callonDoubleQuoteItalicTextElement16, expr: &oneOrMoreExpr{ - pos: position{line: 3180, col: 11, offset: 103464}, + pos: position{line: 3076, col: 11, offset: 100101}, expr: &charClassMatcher{ - pos: position{line: 3180, col: 12, offset: 103465}, + pos: position{line: 3076, col: 12, offset: 100102}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -52046,28 +52385,28 @@ var g = &grammar{ }, }, &seqExpr{ - pos: position{line: 2118, col: 11, offset: 69483}, + pos: position{line: 2123, col: 11, offset: 69696}, exprs: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonDoubleQuoteItalicTextElement20, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -52076,27 +52415,27 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2118, col: 19, offset: 69491}, + pos: position{line: 2123, col: 19, offset: 69704}, expr: &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonDoubleQuoteItalicTextElement26, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -52108,35 +52447,35 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 641, col: 5, offset: 20613}, + pos: position{line: 648, col: 5, offset: 20883}, run: (*parser).callonDoubleQuoteItalicTextElement31, expr: &seqExpr{ - pos: position{line: 641, col: 5, offset: 20613}, + pos: position{line: 648, col: 5, offset: 20883}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 641, col: 5, offset: 20613}, + pos: position{line: 648, col: 5, offset: 20883}, run: (*parser).callonDoubleQuoteItalicTextElement33, }, &labeledExpr{ - pos: position{line: 644, col: 5, offset: 20682}, + pos: position{line: 651, col: 5, offset: 20952}, label: "element", expr: &choiceExpr{ - pos: position{line: 644, col: 14, offset: 20691}, + pos: position{line: 651, col: 14, offset: 20961}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 664, col: 25, offset: 21344}, + pos: position{line: 671, col: 25, offset: 21614}, run: (*parser).callonDoubleQuoteItalicTextElement36, expr: &seqExpr{ - pos: position{line: 664, col: 25, offset: 21344}, + pos: position{line: 671, col: 25, offset: 21614}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 664, col: 25, offset: 21344}, + pos: position{line: 671, col: 25, offset: 21614}, val: "{counter:", ignoreCase: false, want: "\"{counter:\"", }, &labeledExpr{ - pos: position{line: 664, col: 37, offset: 21356}, + pos: position{line: 671, col: 37, offset: 21626}, label: "name", expr: &actionExpr{ pos: position{line: 324, col: 18, offset: 10072}, @@ -52170,33 +52509,33 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 664, col: 56, offset: 21375}, + pos: position{line: 671, col: 56, offset: 21645}, label: "start", expr: &zeroOrOneExpr{ - pos: position{line: 664, col: 62, offset: 21381}, + pos: position{line: 671, col: 62, offset: 21651}, expr: &actionExpr{ - pos: position{line: 672, col: 17, offset: 21676}, + pos: position{line: 679, col: 17, offset: 21946}, run: (*parser).callonDoubleQuoteItalicTextElement47, expr: &seqExpr{ - pos: position{line: 672, col: 17, offset: 21676}, + pos: position{line: 679, col: 17, offset: 21946}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 672, col: 17, offset: 21676}, + pos: position{line: 679, col: 17, offset: 21946}, val: ":", ignoreCase: false, want: "\":\"", }, &labeledExpr{ - pos: position{line: 672, col: 21, offset: 21680}, + pos: position{line: 679, col: 21, offset: 21950}, label: "start", expr: &choiceExpr{ - pos: position{line: 672, col: 28, offset: 21687}, + pos: position{line: 679, col: 28, offset: 21957}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 672, col: 28, offset: 21687}, + pos: position{line: 679, col: 28, offset: 21957}, run: (*parser).callonDoubleQuoteItalicTextElement52, expr: &charClassMatcher{ - pos: position{line: 672, col: 28, offset: 21687}, + pos: position{line: 679, col: 28, offset: 21957}, val: "[A-Za-z]", ranges: []rune{'A', 'Z', 'a', 'z'}, ignoreCase: false, @@ -52204,12 +52543,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 674, col: 9, offset: 21741}, + pos: position{line: 681, col: 9, offset: 22011}, run: (*parser).callonDoubleQuoteItalicTextElement54, expr: &oneOrMoreExpr{ - pos: position{line: 674, col: 9, offset: 21741}, + pos: position{line: 681, col: 9, offset: 22011}, expr: &charClassMatcher{ - pos: position{line: 674, col: 9, offset: 21741}, + pos: position{line: 681, col: 9, offset: 22011}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -52226,7 +52565,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 664, col: 78, offset: 21397}, + pos: position{line: 671, col: 78, offset: 21667}, val: "}", ignoreCase: false, want: "\"}\"", @@ -52235,19 +52574,19 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 668, col: 25, offset: 21515}, + pos: position{line: 675, col: 25, offset: 21785}, run: (*parser).callonDoubleQuoteItalicTextElement58, expr: &seqExpr{ - pos: position{line: 668, col: 25, offset: 21515}, + pos: position{line: 675, col: 25, offset: 21785}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 668, col: 25, offset: 21515}, + pos: position{line: 675, col: 25, offset: 21785}, val: "{counter2:", ignoreCase: false, want: "\"{counter2:\"", }, &labeledExpr{ - pos: position{line: 668, col: 38, offset: 21528}, + pos: position{line: 675, col: 38, offset: 21798}, label: "name", expr: &actionExpr{ pos: position{line: 324, col: 18, offset: 10072}, @@ -52281,33 +52620,33 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 668, col: 57, offset: 21547}, + pos: position{line: 675, col: 57, offset: 21817}, label: "start", expr: &zeroOrOneExpr{ - pos: position{line: 668, col: 63, offset: 21553}, + pos: position{line: 675, col: 63, offset: 21823}, expr: &actionExpr{ - pos: position{line: 672, col: 17, offset: 21676}, + pos: position{line: 679, col: 17, offset: 21946}, run: (*parser).callonDoubleQuoteItalicTextElement69, expr: &seqExpr{ - pos: position{line: 672, col: 17, offset: 21676}, + pos: position{line: 679, col: 17, offset: 21946}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 672, col: 17, offset: 21676}, + pos: position{line: 679, col: 17, offset: 21946}, val: ":", ignoreCase: false, want: "\":\"", }, &labeledExpr{ - pos: position{line: 672, col: 21, offset: 21680}, + pos: position{line: 679, col: 21, offset: 21950}, label: "start", expr: &choiceExpr{ - pos: position{line: 672, col: 28, offset: 21687}, + pos: position{line: 679, col: 28, offset: 21957}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 672, col: 28, offset: 21687}, + pos: position{line: 679, col: 28, offset: 21957}, run: (*parser).callonDoubleQuoteItalicTextElement74, expr: &charClassMatcher{ - pos: position{line: 672, col: 28, offset: 21687}, + pos: position{line: 679, col: 28, offset: 21957}, val: "[A-Za-z]", ranges: []rune{'A', 'Z', 'a', 'z'}, ignoreCase: false, @@ -52315,12 +52654,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 674, col: 9, offset: 21741}, + pos: position{line: 681, col: 9, offset: 22011}, run: (*parser).callonDoubleQuoteItalicTextElement76, expr: &oneOrMoreExpr{ - pos: position{line: 674, col: 9, offset: 21741}, + pos: position{line: 681, col: 9, offset: 22011}, expr: &charClassMatcher{ - pos: position{line: 674, col: 9, offset: 21741}, + pos: position{line: 681, col: 9, offset: 22011}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -52337,7 +52676,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 668, col: 79, offset: 21569}, + pos: position{line: 675, col: 79, offset: 21839}, val: "}", ignoreCase: false, want: "\"}\"", @@ -52346,19 +52685,19 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 650, col: 5, offset: 20820}, + pos: position{line: 657, col: 5, offset: 21090}, run: (*parser).callonDoubleQuoteItalicTextElement80, expr: &seqExpr{ - pos: position{line: 650, col: 5, offset: 20820}, + pos: position{line: 657, col: 5, offset: 21090}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 650, col: 5, offset: 20820}, + pos: position{line: 657, col: 5, offset: 21090}, val: "\\{", ignoreCase: false, want: "\"\\\\{\"", }, &labeledExpr{ - pos: position{line: 650, col: 13, offset: 20828}, + pos: position{line: 657, col: 13, offset: 21098}, label: "name", expr: &actionExpr{ pos: position{line: 324, col: 18, offset: 10072}, @@ -52392,7 +52731,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 650, col: 32, offset: 20847}, + pos: position{line: 657, col: 32, offset: 21117}, val: "}", ignoreCase: false, want: "\"}\"", @@ -52401,19 +52740,19 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 657, col: 5, offset: 21088}, + pos: position{line: 664, col: 5, offset: 21358}, run: (*parser).callonDoubleQuoteItalicTextElement90, expr: &seqExpr{ - pos: position{line: 657, col: 5, offset: 21088}, + pos: position{line: 664, col: 5, offset: 21358}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 657, col: 5, offset: 21088}, + pos: position{line: 664, col: 5, offset: 21358}, val: "{", ignoreCase: false, want: "\"{\"", }, &labeledExpr{ - pos: position{line: 657, col: 9, offset: 21092}, + pos: position{line: 664, col: 9, offset: 21362}, label: "name", expr: &actionExpr{ pos: position{line: 324, col: 18, offset: 10072}, @@ -52447,7 +52786,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 657, col: 28, offset: 21111}, + pos: position{line: 664, col: 28, offset: 21381}, val: "}", ignoreCase: false, want: "\"}\"", @@ -52462,53 +52801,53 @@ var g = &grammar{ }, }, &ruleRefExpr{ - pos: position{line: 2120, col: 11, offset: 69573}, + pos: position{line: 2125, col: 11, offset: 69786}, name: "InlineMacro", }, &actionExpr{ - pos: position{line: 2859, col: 5, offset: 93679}, + pos: position{line: 2745, col: 5, offset: 90112}, run: (*parser).callonDoubleQuoteItalicTextElement101, expr: &seqExpr{ - pos: position{line: 2859, col: 5, offset: 93679}, + pos: position{line: 2745, col: 5, offset: 90112}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 2859, col: 5, offset: 93679}, + pos: position{line: 2745, col: 5, offset: 90112}, run: (*parser).callonDoubleQuoteItalicTextElement103, }, &labeledExpr{ - pos: position{line: 2862, col: 5, offset: 93755}, + pos: position{line: 2748, col: 5, offset: 90188}, label: "element", expr: &choiceExpr{ - pos: position{line: 2864, col: 9, offset: 93853}, + pos: position{line: 2750, col: 9, offset: 90286}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2864, col: 9, offset: 93853}, + pos: position{line: 2750, col: 9, offset: 90286}, run: (*parser).callonDoubleQuoteItalicTextElement106, expr: &choiceExpr{ - pos: position{line: 692, col: 27, offset: 22395}, + pos: position{line: 699, col: 27, offset: 22665}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 692, col: 27, offset: 22395}, + pos: position{line: 699, col: 27, offset: 22665}, run: (*parser).callonDoubleQuoteItalicTextElement108, expr: &seqExpr{ - pos: position{line: 692, col: 27, offset: 22395}, + pos: position{line: 699, col: 27, offset: 22665}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 692, col: 27, offset: 22395}, + pos: position{line: 699, col: 27, offset: 22665}, val: "<<", ignoreCase: false, want: "\"<<\"", }, &labeledExpr{ - pos: position{line: 692, col: 32, offset: 22400}, + pos: position{line: 699, col: 32, offset: 22670}, label: "id", expr: &actionExpr{ - pos: position{line: 3161, col: 7, offset: 103049}, + pos: position{line: 3057, col: 7, offset: 99686}, run: (*parser).callonDoubleQuoteItalicTextElement112, expr: &oneOrMoreExpr{ - pos: position{line: 3161, col: 7, offset: 103049}, + pos: position{line: 3057, col: 7, offset: 99686}, expr: &charClassMatcher{ - pos: position{line: 3161, col: 7, offset: 103049}, + pos: position{line: 3057, col: 7, offset: 99686}, val: "[^[]<>,]", chars: []rune{'[', ']', '<', '>', ','}, ignoreCase: false, @@ -52518,12 +52857,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 692, col: 40, offset: 22408}, + pos: position{line: 699, col: 40, offset: 22678}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonDoubleQuoteItalicTextElement116, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -52532,27 +52871,27 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 692, col: 47, offset: 22415}, + pos: position{line: 699, col: 47, offset: 22685}, val: ",", ignoreCase: false, want: "\",\"", }, &labeledExpr{ - pos: position{line: 692, col: 51, offset: 22419}, + pos: position{line: 699, col: 51, offset: 22689}, label: "label", expr: &oneOrMoreExpr{ - pos: position{line: 702, col: 24, offset: 22820}, + pos: position{line: 709, col: 24, offset: 23090}, expr: &choiceExpr{ - pos: position{line: 703, col: 5, offset: 22826}, + pos: position{line: 710, col: 5, offset: 23096}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 703, col: 6, offset: 22827}, + pos: position{line: 710, col: 6, offset: 23097}, run: (*parser).callonDoubleQuoteItalicTextElement122, expr: &seqExpr{ - pos: position{line: 703, col: 6, offset: 22827}, + pos: position{line: 710, col: 6, offset: 23097}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 703, col: 6, offset: 22827}, + pos: position{line: 710, col: 6, offset: 23097}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -52560,9 +52899,9 @@ var g = &grammar{ inverted: false, }, &oneOrMoreExpr{ - pos: position{line: 703, col: 14, offset: 22835}, + pos: position{line: 710, col: 14, offset: 23105}, expr: &charClassMatcher{ - pos: position{line: 703, col: 14, offset: 22835}, + pos: position{line: 710, col: 14, offset: 23105}, val: "[^\\r\\n{<>]", chars: []rune{'\r', '\n', '{', '<', '>'}, ignoreCase: false, @@ -52573,19 +52912,19 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 650, col: 5, offset: 20820}, + pos: position{line: 657, col: 5, offset: 21090}, run: (*parser).callonDoubleQuoteItalicTextElement127, expr: &seqExpr{ - pos: position{line: 650, col: 5, offset: 20820}, + pos: position{line: 657, col: 5, offset: 21090}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 650, col: 5, offset: 20820}, + pos: position{line: 657, col: 5, offset: 21090}, val: "\\{", ignoreCase: false, want: "\"\\\\{\"", }, &labeledExpr{ - pos: position{line: 650, col: 13, offset: 20828}, + pos: position{line: 657, col: 13, offset: 21098}, label: "name", expr: &actionExpr{ pos: position{line: 324, col: 18, offset: 10072}, @@ -52619,7 +52958,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 650, col: 32, offset: 20847}, + pos: position{line: 657, col: 32, offset: 21117}, val: "}", ignoreCase: false, want: "\"}\"", @@ -52628,19 +52967,19 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 657, col: 5, offset: 21088}, + pos: position{line: 664, col: 5, offset: 21358}, run: (*parser).callonDoubleQuoteItalicTextElement137, expr: &seqExpr{ - pos: position{line: 657, col: 5, offset: 21088}, + pos: position{line: 664, col: 5, offset: 21358}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 657, col: 5, offset: 21088}, + pos: position{line: 664, col: 5, offset: 21358}, val: "{", ignoreCase: false, want: "\"{\"", }, &labeledExpr{ - pos: position{line: 657, col: 9, offset: 21092}, + pos: position{line: 664, col: 9, offset: 21362}, label: "name", expr: &actionExpr{ pos: position{line: 324, col: 18, offset: 10072}, @@ -52674,7 +53013,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 657, col: 28, offset: 21111}, + pos: position{line: 664, col: 28, offset: 21381}, val: "}", ignoreCase: false, want: "\"}\"", @@ -52683,10 +53022,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 707, col: 8, offset: 23061}, + pos: position{line: 714, col: 8, offset: 23331}, run: (*parser).callonDoubleQuoteItalicTextElement147, expr: &litMatcher{ - pos: position{line: 707, col: 8, offset: 23061}, + pos: position{line: 714, col: 8, offset: 23331}, val: "{", ignoreCase: false, want: "\"{\"", @@ -52697,7 +53036,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 692, col: 79, offset: 22447}, + pos: position{line: 699, col: 79, offset: 22717}, val: ">>", ignoreCase: false, want: "\">>\"", @@ -52706,27 +53045,27 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 694, col: 9, offset: 22520}, + pos: position{line: 701, col: 9, offset: 22790}, run: (*parser).callonDoubleQuoteItalicTextElement150, expr: &seqExpr{ - pos: position{line: 694, col: 9, offset: 22520}, + pos: position{line: 701, col: 9, offset: 22790}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 694, col: 9, offset: 22520}, + pos: position{line: 701, col: 9, offset: 22790}, val: "<<", ignoreCase: false, want: "\"<<\"", }, &labeledExpr{ - pos: position{line: 694, col: 14, offset: 22525}, + pos: position{line: 701, col: 14, offset: 22795}, label: "id", expr: &actionExpr{ - pos: position{line: 3161, col: 7, offset: 103049}, + pos: position{line: 3057, col: 7, offset: 99686}, run: (*parser).callonDoubleQuoteItalicTextElement154, expr: &oneOrMoreExpr{ - pos: position{line: 3161, col: 7, offset: 103049}, + pos: position{line: 3057, col: 7, offset: 99686}, expr: &charClassMatcher{ - pos: position{line: 3161, col: 7, offset: 103049}, + pos: position{line: 3057, col: 7, offset: 99686}, val: "[^[]<>,]", chars: []rune{'[', ']', '<', '>', ','}, ignoreCase: false, @@ -52736,7 +53075,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 694, col: 22, offset: 22533}, + pos: position{line: 701, col: 22, offset: 22803}, val: ">>", ignoreCase: false, want: "\">>\"", @@ -52748,10 +53087,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2867, col: 11, offset: 93957}, + pos: position{line: 2753, col: 11, offset: 90390}, run: (*parser).callonDoubleQuoteItalicTextElement158, expr: &charClassMatcher{ - pos: position{line: 2867, col: 12, offset: 93958}, + pos: position{line: 2753, col: 12, offset: 90391}, val: "[<>&]", chars: []rune{'<', '>', '&'}, ignoreCase: false, @@ -52765,65 +53104,95 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2892, col: 5, offset: 94851}, + pos: position{line: 2778, col: 5, offset: 91284}, run: (*parser).callonDoubleQuoteItalicTextElement160, expr: &seqExpr{ - pos: position{line: 2892, col: 5, offset: 94851}, + pos: position{line: 2778, col: 5, offset: 91284}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2892, col: 5, offset: 94851}, + pos: position{line: 2778, col: 5, offset: 91284}, val: "\\", ignoreCase: false, want: "\"\\\\\"", }, &choiceExpr{ - pos: position{line: 2892, col: 10, offset: 94856}, + pos: position{line: 2778, col: 10, offset: 91289}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2900, col: 15, offset: 95132}, + pos: position{line: 2787, col: 5, offset: 91579}, run: (*parser).callonDoubleQuoteItalicTextElement164, expr: &litMatcher{ - pos: position{line: 2900, col: 15, offset: 95132}, + pos: position{line: 2787, col: 5, offset: 91579}, + val: "\"`", + ignoreCase: false, + want: "\"\\\"`\"", + }, + }, + &actionExpr{ + pos: position{line: 2790, col: 7, offset: 91637}, + run: (*parser).callonDoubleQuoteItalicTextElement166, + expr: &litMatcher{ + pos: position{line: 2790, col: 7, offset: 91637}, + val: "`\"", + ignoreCase: false, + want: "\"`\\\"\"", + }, + }, + &actionExpr{ + pos: position{line: 2793, col: 7, offset: 91695}, + run: (*parser).callonDoubleQuoteItalicTextElement168, + expr: &litMatcher{ + pos: position{line: 2793, col: 7, offset: 91695}, + val: "'`", + ignoreCase: false, + want: "\"'`\"", + }, + }, + &actionExpr{ + pos: position{line: 2796, col: 7, offset: 91751}, + run: (*parser).callonDoubleQuoteItalicTextElement170, + expr: &litMatcher{ + pos: position{line: 2796, col: 7, offset: 91751}, val: "`'", ignoreCase: false, want: "\"`'\"", }, }, &actionExpr{ - pos: position{line: 2906, col: 14, offset: 95236}, - run: (*parser).callonDoubleQuoteItalicTextElement166, + pos: position{line: 2802, col: 14, offset: 91873}, + run: (*parser).callonDoubleQuoteItalicTextElement172, expr: &litMatcher{ - pos: position{line: 2906, col: 14, offset: 95236}, + pos: position{line: 2802, col: 14, offset: 91873}, val: "(C)", ignoreCase: false, want: "\"(C)\"", }, }, &actionExpr{ - pos: position{line: 2910, col: 14, offset: 95302}, - run: (*parser).callonDoubleQuoteItalicTextElement168, + pos: position{line: 2806, col: 14, offset: 91939}, + run: (*parser).callonDoubleQuoteItalicTextElement174, expr: &litMatcher{ - pos: position{line: 2910, col: 14, offset: 95302}, + pos: position{line: 2806, col: 14, offset: 91939}, val: "(TM)", ignoreCase: false, want: "\"(TM)\"", }, }, &actionExpr{ - pos: position{line: 2914, col: 15, offset: 95371}, - run: (*parser).callonDoubleQuoteItalicTextElement170, + pos: position{line: 2810, col: 15, offset: 92008}, + run: (*parser).callonDoubleQuoteItalicTextElement176, expr: &litMatcher{ - pos: position{line: 2914, col: 15, offset: 95371}, + pos: position{line: 2810, col: 15, offset: 92008}, val: "(R)", ignoreCase: false, want: "\"(R)\"", }, }, &actionExpr{ - pos: position{line: 2918, col: 13, offset: 95436}, - run: (*parser).callonDoubleQuoteItalicTextElement172, + pos: position{line: 2814, col: 13, offset: 92073}, + run: (*parser).callonDoubleQuoteItalicTextElement178, expr: &litMatcher{ - pos: position{line: 2918, col: 13, offset: 95436}, + pos: position{line: 2814, col: 13, offset: 92073}, val: "...", ignoreCase: false, want: "\"...\"", @@ -52835,63 +53204,93 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2900, col: 15, offset: 95132}, - run: (*parser).callonDoubleQuoteItalicTextElement174, + pos: position{line: 2787, col: 5, offset: 91579}, + run: (*parser).callonDoubleQuoteItalicTextElement180, + expr: &litMatcher{ + pos: position{line: 2787, col: 5, offset: 91579}, + val: "\"`", + ignoreCase: false, + want: "\"\\\"`\"", + }, + }, + &actionExpr{ + pos: position{line: 2790, col: 7, offset: 91637}, + run: (*parser).callonDoubleQuoteItalicTextElement182, + expr: &litMatcher{ + pos: position{line: 2790, col: 7, offset: 91637}, + val: "`\"", + ignoreCase: false, + want: "\"`\\\"\"", + }, + }, + &actionExpr{ + pos: position{line: 2793, col: 7, offset: 91695}, + run: (*parser).callonDoubleQuoteItalicTextElement184, + expr: &litMatcher{ + pos: position{line: 2793, col: 7, offset: 91695}, + val: "'`", + ignoreCase: false, + want: "\"'`\"", + }, + }, + &actionExpr{ + pos: position{line: 2796, col: 7, offset: 91751}, + run: (*parser).callonDoubleQuoteItalicTextElement186, expr: &litMatcher{ - pos: position{line: 2900, col: 15, offset: 95132}, + pos: position{line: 2796, col: 7, offset: 91751}, val: "`'", ignoreCase: false, want: "\"`'\"", }, }, &actionExpr{ - pos: position{line: 2906, col: 14, offset: 95236}, - run: (*parser).callonDoubleQuoteItalicTextElement176, + pos: position{line: 2802, col: 14, offset: 91873}, + run: (*parser).callonDoubleQuoteItalicTextElement188, expr: &litMatcher{ - pos: position{line: 2906, col: 14, offset: 95236}, + pos: position{line: 2802, col: 14, offset: 91873}, val: "(C)", ignoreCase: false, want: "\"(C)\"", }, }, &actionExpr{ - pos: position{line: 2910, col: 14, offset: 95302}, - run: (*parser).callonDoubleQuoteItalicTextElement178, + pos: position{line: 2806, col: 14, offset: 91939}, + run: (*parser).callonDoubleQuoteItalicTextElement190, expr: &litMatcher{ - pos: position{line: 2910, col: 14, offset: 95302}, + pos: position{line: 2806, col: 14, offset: 91939}, val: "(TM)", ignoreCase: false, want: "\"(TM)\"", }, }, &actionExpr{ - pos: position{line: 2914, col: 15, offset: 95371}, - run: (*parser).callonDoubleQuoteItalicTextElement180, + pos: position{line: 2810, col: 15, offset: 92008}, + run: (*parser).callonDoubleQuoteItalicTextElement192, expr: &litMatcher{ - pos: position{line: 2914, col: 15, offset: 95371}, + pos: position{line: 2810, col: 15, offset: 92008}, val: "(R)", ignoreCase: false, want: "\"(R)\"", }, }, &actionExpr{ - pos: position{line: 2918, col: 13, offset: 95436}, - run: (*parser).callonDoubleQuoteItalicTextElement182, + pos: position{line: 2814, col: 13, offset: 92073}, + run: (*parser).callonDoubleQuoteItalicTextElement194, expr: &litMatcher{ - pos: position{line: 2918, col: 13, offset: 95436}, + pos: position{line: 2814, col: 13, offset: 92073}, val: "...", ignoreCase: false, want: "\"...\"", }, }, &actionExpr{ - pos: position{line: 2929, col: 5, offset: 95746}, - run: (*parser).callonDoubleQuoteItalicTextElement184, + pos: position{line: 2825, col: 5, offset: 92383}, + run: (*parser).callonDoubleQuoteItalicTextElement196, expr: &seqExpr{ - pos: position{line: 2929, col: 5, offset: 95746}, + pos: position{line: 2825, col: 5, offset: 92383}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 3090, col: 13, offset: 100713}, + pos: position{line: 2986, col: 13, offset: 97350}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -52899,15 +53298,15 @@ var g = &grammar{ inverted: false, }, &litMatcher{ - pos: position{line: 2929, col: 14, offset: 95755}, + pos: position{line: 2825, col: 14, offset: 92392}, val: "\\'", ignoreCase: false, want: "\"\\\\'\"", }, &andExpr{ - pos: position{line: 2929, col: 19, offset: 95760}, + pos: position{line: 2825, col: 19, offset: 92397}, expr: &charClassMatcher{ - pos: position{line: 2929, col: 20, offset: 95761}, + pos: position{line: 2825, col: 20, offset: 92398}, val: "[\\pL]", classes: []*unicode.RangeTable{rangeTable("L")}, ignoreCase: false, @@ -52918,13 +53317,13 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2935, col: 5, offset: 95992}, - run: (*parser).callonDoubleQuoteItalicTextElement190, + pos: position{line: 2831, col: 5, offset: 92629}, + run: (*parser).callonDoubleQuoteItalicTextElement202, expr: &seqExpr{ - pos: position{line: 2935, col: 5, offset: 95992}, + pos: position{line: 2831, col: 5, offset: 92629}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 3090, col: 13, offset: 100713}, + pos: position{line: 2986, col: 13, offset: 97350}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -52932,15 +53331,15 @@ var g = &grammar{ inverted: false, }, &litMatcher{ - pos: position{line: 2935, col: 14, offset: 96001}, + pos: position{line: 2831, col: 14, offset: 92638}, val: "'", ignoreCase: false, want: "\"'\"", }, &andExpr{ - pos: position{line: 2935, col: 18, offset: 96005}, + pos: position{line: 2831, col: 18, offset: 92642}, expr: &charClassMatcher{ - pos: position{line: 2935, col: 19, offset: 96006}, + pos: position{line: 2831, col: 19, offset: 92643}, val: "[\\pL]", classes: []*unicode.RangeTable{rangeTable("L")}, ignoreCase: false, @@ -52951,35 +53350,31 @@ var g = &grammar{ }, }, &ruleRefExpr{ - pos: position{line: 2123, col: 11, offset: 69689}, - name: "QuotedString", - }, - &ruleRefExpr{ - pos: position{line: 2124, col: 11, offset: 69712}, + pos: position{line: 2128, col: 11, offset: 69902}, name: "QuotedTextInDoubleQuoteItalicText", }, &actionExpr{ - pos: position{line: 1212, col: 23, offset: 37871}, - run: (*parser).callonDoubleQuoteItalicTextElement198, + pos: position{line: 1219, col: 23, offset: 38141}, + run: (*parser).callonDoubleQuoteItalicTextElement209, expr: &seqExpr{ - pos: position{line: 1212, col: 23, offset: 37871}, + pos: position{line: 1219, col: 23, offset: 38141}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1210, col: 32, offset: 37839}, + pos: position{line: 1217, col: 32, offset: 38109}, val: "�", ignoreCase: false, want: "\"�\"", }, &labeledExpr{ - pos: position{line: 1212, col: 51, offset: 37899}, + pos: position{line: 1219, col: 51, offset: 38169}, label: "ref", expr: &actionExpr{ - pos: position{line: 1212, col: 56, offset: 37904}, - run: (*parser).callonDoubleQuoteItalicTextElement202, + pos: position{line: 1219, col: 56, offset: 38174}, + run: (*parser).callonDoubleQuoteItalicTextElement213, expr: &oneOrMoreExpr{ - pos: position{line: 1212, col: 56, offset: 37904}, + pos: position{line: 1219, col: 56, offset: 38174}, expr: &charClassMatcher{ - pos: position{line: 1212, col: 56, offset: 37904}, + pos: position{line: 1219, col: 56, offset: 38174}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -52989,7 +53384,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1210, col: 32, offset: 37839}, + pos: position{line: 1217, col: 32, offset: 38109}, val: "�", ignoreCase: false, want: "\"�\"", @@ -52998,31 +53393,31 @@ var g = &grammar{ }, }, &charClassMatcher{ - pos: position{line: 2155, col: 5, offset: 70492}, + pos: position{line: 2159, col: 5, offset: 70682}, val: "[^\\r\\n_]", chars: []rune{'\r', '\n', '_'}, ignoreCase: false, inverted: true, }, &actionExpr{ - pos: position{line: 2156, col: 7, offset: 70591}, - run: (*parser).callonDoubleQuoteItalicTextElement207, + pos: position{line: 2160, col: 7, offset: 70781}, + run: (*parser).callonDoubleQuoteItalicTextElement218, expr: &seqExpr{ - pos: position{line: 2156, col: 7, offset: 70591}, + pos: position{line: 2160, col: 7, offset: 70781}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2156, col: 7, offset: 70591}, + pos: position{line: 2160, col: 7, offset: 70781}, val: "__", ignoreCase: false, want: "\"__\"", }, &actionExpr{ - pos: position{line: 3094, col: 14, offset: 100787}, - run: (*parser).callonDoubleQuoteItalicTextElement210, + pos: position{line: 2990, col: 14, offset: 97424}, + run: (*parser).callonDoubleQuoteItalicTextElement221, expr: &oneOrMoreExpr{ - pos: position{line: 3094, col: 14, offset: 100787}, + pos: position{line: 2990, col: 14, offset: 97424}, expr: &charClassMatcher{ - pos: position{line: 3094, col: 14, offset: 100787}, + pos: position{line: 2990, col: 14, offset: 97424}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -53043,49 +53438,49 @@ var g = &grammar{ }, { name: "QuotedTextInDoubleQuoteItalicText", - pos: position{line: 2130, col: 1, offset: 69870}, + pos: position{line: 2134, col: 1, offset: 70060}, expr: &choiceExpr{ - pos: position{line: 2132, col: 5, offset: 69935}, + pos: position{line: 2136, col: 5, offset: 70125}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2132, col: 5, offset: 69935}, + pos: position{line: 2136, col: 5, offset: 70125}, run: (*parser).callonQuotedTextInDoubleQuoteItalicText2, expr: &seqExpr{ - pos: position{line: 2132, col: 5, offset: 69935}, + pos: position{line: 2136, col: 5, offset: 70125}, exprs: []interface{}{ &andExpr{ - pos: position{line: 2132, col: 5, offset: 69935}, + pos: position{line: 2136, col: 5, offset: 70125}, expr: &litMatcher{ - pos: position{line: 2132, col: 7, offset: 69937}, + pos: position{line: 2136, col: 7, offset: 70127}, val: "\\", ignoreCase: false, want: "\"\\\\\"", }, }, &labeledExpr{ - pos: position{line: 2133, col: 5, offset: 69946}, + pos: position{line: 2137, col: 5, offset: 70136}, label: "element", expr: &choiceExpr{ - pos: position{line: 2134, col: 9, offset: 69964}, + pos: position{line: 2138, col: 9, offset: 70154}, alternatives: []interface{}{ &ruleRefExpr{ - pos: position{line: 2134, col: 9, offset: 69964}, + pos: position{line: 2138, col: 9, offset: 70154}, name: "EscapedBoldText", }, &ruleRefExpr{ - pos: position{line: 2135, col: 11, offset: 69991}, + pos: position{line: 2139, col: 11, offset: 70181}, name: "EscapedMarkedText", }, &ruleRefExpr{ - pos: position{line: 2136, col: 11, offset: 70019}, + pos: position{line: 2140, col: 11, offset: 70209}, name: "EscapedMonospaceText", }, &ruleRefExpr{ - pos: position{line: 2137, col: 11, offset: 70050}, + pos: position{line: 2141, col: 11, offset: 70240}, name: "EscapedSubscriptText", }, &ruleRefExpr{ - pos: position{line: 2138, col: 11, offset: 70081}, + pos: position{line: 2142, col: 11, offset: 70271}, name: "EscapedSuperscriptText", }, }, @@ -53095,50 +53490,50 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2144, col: 5, offset: 70181}, + pos: position{line: 2148, col: 5, offset: 70371}, run: (*parser).callonQuotedTextInDoubleQuoteItalicText13, expr: &seqExpr{ - pos: position{line: 2144, col: 5, offset: 70181}, + pos: position{line: 2148, col: 5, offset: 70371}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 2144, col: 5, offset: 70181}, + pos: position{line: 2148, col: 5, offset: 70371}, label: "attributes", expr: &zeroOrOneExpr{ - pos: position{line: 2144, col: 16, offset: 70192}, + pos: position{line: 2148, col: 16, offset: 70382}, expr: &ruleRefExpr{ - pos: position{line: 2144, col: 17, offset: 70193}, + pos: position{line: 2148, col: 17, offset: 70383}, name: "LongHandAttributes", }, }, }, &labeledExpr{ - pos: position{line: 2145, col: 5, offset: 70219}, + pos: position{line: 2149, col: 5, offset: 70409}, label: "text", expr: &choiceExpr{ - pos: position{line: 2145, col: 11, offset: 70225}, + pos: position{line: 2149, col: 11, offset: 70415}, alternatives: []interface{}{ &ruleRefExpr{ - pos: position{line: 2145, col: 11, offset: 70225}, + pos: position{line: 2149, col: 11, offset: 70415}, name: "SingleQuoteItalicText", }, &ruleRefExpr{ - pos: position{line: 2146, col: 11, offset: 70257}, + pos: position{line: 2150, col: 11, offset: 70447}, name: "BoldText", }, &ruleRefExpr{ - pos: position{line: 2147, col: 11, offset: 70276}, + pos: position{line: 2151, col: 11, offset: 70466}, name: "MarkedText", }, &ruleRefExpr{ - pos: position{line: 2148, col: 11, offset: 70297}, + pos: position{line: 2152, col: 11, offset: 70487}, name: "MonospaceText", }, &ruleRefExpr{ - pos: position{line: 2149, col: 11, offset: 70321}, + pos: position{line: 2153, col: 11, offset: 70511}, name: "SubscriptText", }, &ruleRefExpr{ - pos: position{line: 2150, col: 11, offset: 70345}, + pos: position{line: 2154, col: 11, offset: 70535}, name: "SuperscriptText", }, }, @@ -53152,29 +53547,29 @@ var g = &grammar{ }, { name: "SingleQuoteItalicText", - pos: position{line: 2167, col: 1, offset: 70967}, + pos: position{line: 2171, col: 1, offset: 71157}, expr: &actionExpr{ - pos: position{line: 2168, col: 5, offset: 70997}, + pos: position{line: 2172, col: 5, offset: 71187}, run: (*parser).callonSingleQuoteItalicText1, expr: &seqExpr{ - pos: position{line: 2168, col: 5, offset: 70997}, + pos: position{line: 2172, col: 5, offset: 71187}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2163, col: 40, offset: 70918}, + pos: position{line: 2167, col: 40, offset: 71108}, val: "_", ignoreCase: false, want: "\"_\"", }, &labeledExpr{ - pos: position{line: 2169, col: 5, offset: 71037}, + pos: position{line: 2173, col: 5, offset: 71227}, label: "elements", expr: &ruleRefExpr{ - pos: position{line: 2169, col: 15, offset: 71047}, + pos: position{line: 2173, col: 15, offset: 71237}, name: "SingleQuoteItalicTextElements", }, }, &litMatcher{ - pos: position{line: 2165, col: 38, offset: 70961}, + pos: position{line: 2169, col: 38, offset: 71151}, val: "_", ignoreCase: false, want: "\"_\"", @@ -53185,29 +53580,29 @@ var g = &grammar{ }, { name: "SingleQuoteItalicTextElements", - pos: position{line: 2174, col: 1, offset: 71214}, + pos: position{line: 2178, col: 1, offset: 71404}, expr: &actionExpr{ - pos: position{line: 2175, col: 5, offset: 71252}, + pos: position{line: 2179, col: 5, offset: 71442}, run: (*parser).callonSingleQuoteItalicTextElements1, expr: &seqExpr{ - pos: position{line: 2175, col: 5, offset: 71252}, + pos: position{line: 2179, col: 5, offset: 71442}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 2175, col: 5, offset: 71252}, + pos: position{line: 2179, col: 5, offset: 71442}, expr: ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, ¬Expr{ - pos: position{line: 2175, col: 10, offset: 71257}, + pos: position{line: 2179, col: 10, offset: 71447}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonSingleQuoteItalicTextElements7, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -53216,18 +53611,18 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 2176, col: 5, offset: 71296}, + pos: position{line: 2180, col: 5, offset: 71486}, label: "elements", expr: &oneOrMoreExpr{ - pos: position{line: 2176, col: 14, offset: 71305}, + pos: position{line: 2180, col: 14, offset: 71495}, expr: &ruleRefExpr{ - pos: position{line: 2176, col: 15, offset: 71306}, + pos: position{line: 2180, col: 15, offset: 71496}, name: "SingleQuoteItalicTextElement", }, }, }, &andCodeExpr{ - pos: position{line: 2177, col: 5, offset: 71341}, + pos: position{line: 2181, col: 5, offset: 71531}, run: (*parser).callonSingleQuoteItalicTextElements12, }, }, @@ -53236,20 +53631,20 @@ var g = &grammar{ }, { name: "SingleQuoteItalicTextElement", - pos: position{line: 2183, col: 1, offset: 71482}, + pos: position{line: 2187, col: 1, offset: 71672}, expr: &choiceExpr{ - pos: position{line: 2184, col: 5, offset: 71519}, + pos: position{line: 2188, col: 5, offset: 71709}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2095, col: 5, offset: 68714}, + pos: position{line: 2100, col: 5, offset: 68927}, run: (*parser).callonSingleQuoteItalicTextElement2, expr: &seqExpr{ - pos: position{line: 2095, col: 5, offset: 68714}, + pos: position{line: 2100, col: 5, offset: 68927}, exprs: []interface{}{ &oneOrMoreExpr{ - pos: position{line: 2095, col: 5, offset: 68714}, + pos: position{line: 2100, col: 5, offset: 68927}, expr: &charClassMatcher{ - pos: position{line: 2095, col: 5, offset: 68714}, + pos: position{line: 2100, col: 5, offset: 68927}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -53258,15 +53653,15 @@ var g = &grammar{ }, }, &andExpr{ - pos: position{line: 2095, col: 15, offset: 68724}, + pos: position{line: 2100, col: 15, offset: 68937}, expr: &choiceExpr{ - pos: position{line: 2095, col: 17, offset: 68726}, + pos: position{line: 2100, col: 17, offset: 68939}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonSingleQuoteItalicTextElement8, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -53274,7 +53669,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 2092, col: 24, offset: 68686}, + pos: position{line: 2097, col: 24, offset: 68899}, val: "_", ignoreCase: false, want: "\"_\"", @@ -53286,12 +53681,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 3180, col: 11, offset: 103464}, + pos: position{line: 3076, col: 11, offset: 100101}, run: (*parser).callonSingleQuoteItalicTextElement11, expr: &oneOrMoreExpr{ - pos: position{line: 3180, col: 11, offset: 103464}, + pos: position{line: 3076, col: 11, offset: 100101}, expr: &charClassMatcher{ - pos: position{line: 3180, col: 12, offset: 103465}, + pos: position{line: 3076, col: 12, offset: 100102}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -53300,28 +53695,28 @@ var g = &grammar{ }, }, &seqExpr{ - pos: position{line: 2186, col: 7, offset: 71553}, + pos: position{line: 2190, col: 7, offset: 71743}, exprs: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonSingleQuoteItalicTextElement15, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -53330,27 +53725,27 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2186, col: 15, offset: 71561}, + pos: position{line: 2190, col: 15, offset: 71751}, expr: &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonSingleQuoteItalicTextElement21, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -53362,35 +53757,35 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 641, col: 5, offset: 20613}, + pos: position{line: 648, col: 5, offset: 20883}, run: (*parser).callonSingleQuoteItalicTextElement26, expr: &seqExpr{ - pos: position{line: 641, col: 5, offset: 20613}, + pos: position{line: 648, col: 5, offset: 20883}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 641, col: 5, offset: 20613}, + pos: position{line: 648, col: 5, offset: 20883}, run: (*parser).callonSingleQuoteItalicTextElement28, }, &labeledExpr{ - pos: position{line: 644, col: 5, offset: 20682}, + pos: position{line: 651, col: 5, offset: 20952}, label: "element", expr: &choiceExpr{ - pos: position{line: 644, col: 14, offset: 20691}, + pos: position{line: 651, col: 14, offset: 20961}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 664, col: 25, offset: 21344}, + pos: position{line: 671, col: 25, offset: 21614}, run: (*parser).callonSingleQuoteItalicTextElement31, expr: &seqExpr{ - pos: position{line: 664, col: 25, offset: 21344}, + pos: position{line: 671, col: 25, offset: 21614}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 664, col: 25, offset: 21344}, + pos: position{line: 671, col: 25, offset: 21614}, val: "{counter:", ignoreCase: false, want: "\"{counter:\"", }, &labeledExpr{ - pos: position{line: 664, col: 37, offset: 21356}, + pos: position{line: 671, col: 37, offset: 21626}, label: "name", expr: &actionExpr{ pos: position{line: 324, col: 18, offset: 10072}, @@ -53424,33 +53819,33 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 664, col: 56, offset: 21375}, + pos: position{line: 671, col: 56, offset: 21645}, label: "start", expr: &zeroOrOneExpr{ - pos: position{line: 664, col: 62, offset: 21381}, + pos: position{line: 671, col: 62, offset: 21651}, expr: &actionExpr{ - pos: position{line: 672, col: 17, offset: 21676}, + pos: position{line: 679, col: 17, offset: 21946}, run: (*parser).callonSingleQuoteItalicTextElement42, expr: &seqExpr{ - pos: position{line: 672, col: 17, offset: 21676}, + pos: position{line: 679, col: 17, offset: 21946}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 672, col: 17, offset: 21676}, + pos: position{line: 679, col: 17, offset: 21946}, val: ":", ignoreCase: false, want: "\":\"", }, &labeledExpr{ - pos: position{line: 672, col: 21, offset: 21680}, + pos: position{line: 679, col: 21, offset: 21950}, label: "start", expr: &choiceExpr{ - pos: position{line: 672, col: 28, offset: 21687}, + pos: position{line: 679, col: 28, offset: 21957}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 672, col: 28, offset: 21687}, + pos: position{line: 679, col: 28, offset: 21957}, run: (*parser).callonSingleQuoteItalicTextElement47, expr: &charClassMatcher{ - pos: position{line: 672, col: 28, offset: 21687}, + pos: position{line: 679, col: 28, offset: 21957}, val: "[A-Za-z]", ranges: []rune{'A', 'Z', 'a', 'z'}, ignoreCase: false, @@ -53458,12 +53853,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 674, col: 9, offset: 21741}, + pos: position{line: 681, col: 9, offset: 22011}, run: (*parser).callonSingleQuoteItalicTextElement49, expr: &oneOrMoreExpr{ - pos: position{line: 674, col: 9, offset: 21741}, + pos: position{line: 681, col: 9, offset: 22011}, expr: &charClassMatcher{ - pos: position{line: 674, col: 9, offset: 21741}, + pos: position{line: 681, col: 9, offset: 22011}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -53480,7 +53875,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 664, col: 78, offset: 21397}, + pos: position{line: 671, col: 78, offset: 21667}, val: "}", ignoreCase: false, want: "\"}\"", @@ -53489,19 +53884,19 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 668, col: 25, offset: 21515}, + pos: position{line: 675, col: 25, offset: 21785}, run: (*parser).callonSingleQuoteItalicTextElement53, expr: &seqExpr{ - pos: position{line: 668, col: 25, offset: 21515}, + pos: position{line: 675, col: 25, offset: 21785}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 668, col: 25, offset: 21515}, + pos: position{line: 675, col: 25, offset: 21785}, val: "{counter2:", ignoreCase: false, want: "\"{counter2:\"", }, &labeledExpr{ - pos: position{line: 668, col: 38, offset: 21528}, + pos: position{line: 675, col: 38, offset: 21798}, label: "name", expr: &actionExpr{ pos: position{line: 324, col: 18, offset: 10072}, @@ -53535,33 +53930,33 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 668, col: 57, offset: 21547}, + pos: position{line: 675, col: 57, offset: 21817}, label: "start", expr: &zeroOrOneExpr{ - pos: position{line: 668, col: 63, offset: 21553}, + pos: position{line: 675, col: 63, offset: 21823}, expr: &actionExpr{ - pos: position{line: 672, col: 17, offset: 21676}, + pos: position{line: 679, col: 17, offset: 21946}, run: (*parser).callonSingleQuoteItalicTextElement64, expr: &seqExpr{ - pos: position{line: 672, col: 17, offset: 21676}, + pos: position{line: 679, col: 17, offset: 21946}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 672, col: 17, offset: 21676}, + pos: position{line: 679, col: 17, offset: 21946}, val: ":", ignoreCase: false, want: "\":\"", }, &labeledExpr{ - pos: position{line: 672, col: 21, offset: 21680}, + pos: position{line: 679, col: 21, offset: 21950}, label: "start", expr: &choiceExpr{ - pos: position{line: 672, col: 28, offset: 21687}, + pos: position{line: 679, col: 28, offset: 21957}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 672, col: 28, offset: 21687}, + pos: position{line: 679, col: 28, offset: 21957}, run: (*parser).callonSingleQuoteItalicTextElement69, expr: &charClassMatcher{ - pos: position{line: 672, col: 28, offset: 21687}, + pos: position{line: 679, col: 28, offset: 21957}, val: "[A-Za-z]", ranges: []rune{'A', 'Z', 'a', 'z'}, ignoreCase: false, @@ -53569,12 +53964,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 674, col: 9, offset: 21741}, + pos: position{line: 681, col: 9, offset: 22011}, run: (*parser).callonSingleQuoteItalicTextElement71, expr: &oneOrMoreExpr{ - pos: position{line: 674, col: 9, offset: 21741}, + pos: position{line: 681, col: 9, offset: 22011}, expr: &charClassMatcher{ - pos: position{line: 674, col: 9, offset: 21741}, + pos: position{line: 681, col: 9, offset: 22011}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -53591,7 +53986,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 668, col: 79, offset: 21569}, + pos: position{line: 675, col: 79, offset: 21839}, val: "}", ignoreCase: false, want: "\"}\"", @@ -53600,19 +53995,19 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 650, col: 5, offset: 20820}, + pos: position{line: 657, col: 5, offset: 21090}, run: (*parser).callonSingleQuoteItalicTextElement75, expr: &seqExpr{ - pos: position{line: 650, col: 5, offset: 20820}, + pos: position{line: 657, col: 5, offset: 21090}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 650, col: 5, offset: 20820}, + pos: position{line: 657, col: 5, offset: 21090}, val: "\\{", ignoreCase: false, want: "\"\\\\{\"", }, &labeledExpr{ - pos: position{line: 650, col: 13, offset: 20828}, + pos: position{line: 657, col: 13, offset: 21098}, label: "name", expr: &actionExpr{ pos: position{line: 324, col: 18, offset: 10072}, @@ -53646,7 +54041,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 650, col: 32, offset: 20847}, + pos: position{line: 657, col: 32, offset: 21117}, val: "}", ignoreCase: false, want: "\"}\"", @@ -53655,19 +54050,19 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 657, col: 5, offset: 21088}, + pos: position{line: 664, col: 5, offset: 21358}, run: (*parser).callonSingleQuoteItalicTextElement85, expr: &seqExpr{ - pos: position{line: 657, col: 5, offset: 21088}, + pos: position{line: 664, col: 5, offset: 21358}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 657, col: 5, offset: 21088}, + pos: position{line: 664, col: 5, offset: 21358}, val: "{", ignoreCase: false, want: "\"{\"", }, &labeledExpr{ - pos: position{line: 657, col: 9, offset: 21092}, + pos: position{line: 664, col: 9, offset: 21362}, label: "name", expr: &actionExpr{ pos: position{line: 324, col: 18, offset: 10072}, @@ -53701,7 +54096,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 657, col: 28, offset: 21111}, + pos: position{line: 664, col: 28, offset: 21381}, val: "}", ignoreCase: false, want: "\"}\"", @@ -53716,53 +54111,53 @@ var g = &grammar{ }, }, &ruleRefExpr{ - pos: position{line: 2188, col: 7, offset: 71635}, + pos: position{line: 2192, col: 7, offset: 71825}, name: "InlineMacro", }, &actionExpr{ - pos: position{line: 2859, col: 5, offset: 93679}, + pos: position{line: 2745, col: 5, offset: 90112}, run: (*parser).callonSingleQuoteItalicTextElement96, expr: &seqExpr{ - pos: position{line: 2859, col: 5, offset: 93679}, + pos: position{line: 2745, col: 5, offset: 90112}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 2859, col: 5, offset: 93679}, + pos: position{line: 2745, col: 5, offset: 90112}, run: (*parser).callonSingleQuoteItalicTextElement98, }, &labeledExpr{ - pos: position{line: 2862, col: 5, offset: 93755}, + pos: position{line: 2748, col: 5, offset: 90188}, label: "element", expr: &choiceExpr{ - pos: position{line: 2864, col: 9, offset: 93853}, + pos: position{line: 2750, col: 9, offset: 90286}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2864, col: 9, offset: 93853}, + pos: position{line: 2750, col: 9, offset: 90286}, run: (*parser).callonSingleQuoteItalicTextElement101, expr: &choiceExpr{ - pos: position{line: 692, col: 27, offset: 22395}, + pos: position{line: 699, col: 27, offset: 22665}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 692, col: 27, offset: 22395}, + pos: position{line: 699, col: 27, offset: 22665}, run: (*parser).callonSingleQuoteItalicTextElement103, expr: &seqExpr{ - pos: position{line: 692, col: 27, offset: 22395}, + pos: position{line: 699, col: 27, offset: 22665}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 692, col: 27, offset: 22395}, + pos: position{line: 699, col: 27, offset: 22665}, val: "<<", ignoreCase: false, want: "\"<<\"", }, &labeledExpr{ - pos: position{line: 692, col: 32, offset: 22400}, + pos: position{line: 699, col: 32, offset: 22670}, label: "id", expr: &actionExpr{ - pos: position{line: 3161, col: 7, offset: 103049}, + pos: position{line: 3057, col: 7, offset: 99686}, run: (*parser).callonSingleQuoteItalicTextElement107, expr: &oneOrMoreExpr{ - pos: position{line: 3161, col: 7, offset: 103049}, + pos: position{line: 3057, col: 7, offset: 99686}, expr: &charClassMatcher{ - pos: position{line: 3161, col: 7, offset: 103049}, + pos: position{line: 3057, col: 7, offset: 99686}, val: "[^[]<>,]", chars: []rune{'[', ']', '<', '>', ','}, ignoreCase: false, @@ -53772,12 +54167,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 692, col: 40, offset: 22408}, + pos: position{line: 699, col: 40, offset: 22678}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonSingleQuoteItalicTextElement111, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -53786,27 +54181,27 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 692, col: 47, offset: 22415}, + pos: position{line: 699, col: 47, offset: 22685}, val: ",", ignoreCase: false, want: "\",\"", }, &labeledExpr{ - pos: position{line: 692, col: 51, offset: 22419}, + pos: position{line: 699, col: 51, offset: 22689}, label: "label", expr: &oneOrMoreExpr{ - pos: position{line: 702, col: 24, offset: 22820}, + pos: position{line: 709, col: 24, offset: 23090}, expr: &choiceExpr{ - pos: position{line: 703, col: 5, offset: 22826}, + pos: position{line: 710, col: 5, offset: 23096}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 703, col: 6, offset: 22827}, + pos: position{line: 710, col: 6, offset: 23097}, run: (*parser).callonSingleQuoteItalicTextElement117, expr: &seqExpr{ - pos: position{line: 703, col: 6, offset: 22827}, + pos: position{line: 710, col: 6, offset: 23097}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 703, col: 6, offset: 22827}, + pos: position{line: 710, col: 6, offset: 23097}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -53814,9 +54209,9 @@ var g = &grammar{ inverted: false, }, &oneOrMoreExpr{ - pos: position{line: 703, col: 14, offset: 22835}, + pos: position{line: 710, col: 14, offset: 23105}, expr: &charClassMatcher{ - pos: position{line: 703, col: 14, offset: 22835}, + pos: position{line: 710, col: 14, offset: 23105}, val: "[^\\r\\n{<>]", chars: []rune{'\r', '\n', '{', '<', '>'}, ignoreCase: false, @@ -53827,19 +54222,19 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 650, col: 5, offset: 20820}, + pos: position{line: 657, col: 5, offset: 21090}, run: (*parser).callonSingleQuoteItalicTextElement122, expr: &seqExpr{ - pos: position{line: 650, col: 5, offset: 20820}, + pos: position{line: 657, col: 5, offset: 21090}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 650, col: 5, offset: 20820}, + pos: position{line: 657, col: 5, offset: 21090}, val: "\\{", ignoreCase: false, want: "\"\\\\{\"", }, &labeledExpr{ - pos: position{line: 650, col: 13, offset: 20828}, + pos: position{line: 657, col: 13, offset: 21098}, label: "name", expr: &actionExpr{ pos: position{line: 324, col: 18, offset: 10072}, @@ -53873,7 +54268,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 650, col: 32, offset: 20847}, + pos: position{line: 657, col: 32, offset: 21117}, val: "}", ignoreCase: false, want: "\"}\"", @@ -53882,19 +54277,19 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 657, col: 5, offset: 21088}, + pos: position{line: 664, col: 5, offset: 21358}, run: (*parser).callonSingleQuoteItalicTextElement132, expr: &seqExpr{ - pos: position{line: 657, col: 5, offset: 21088}, + pos: position{line: 664, col: 5, offset: 21358}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 657, col: 5, offset: 21088}, + pos: position{line: 664, col: 5, offset: 21358}, val: "{", ignoreCase: false, want: "\"{\"", }, &labeledExpr{ - pos: position{line: 657, col: 9, offset: 21092}, + pos: position{line: 664, col: 9, offset: 21362}, label: "name", expr: &actionExpr{ pos: position{line: 324, col: 18, offset: 10072}, @@ -53928,7 +54323,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 657, col: 28, offset: 21111}, + pos: position{line: 664, col: 28, offset: 21381}, val: "}", ignoreCase: false, want: "\"}\"", @@ -53937,10 +54332,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 707, col: 8, offset: 23061}, + pos: position{line: 714, col: 8, offset: 23331}, run: (*parser).callonSingleQuoteItalicTextElement142, expr: &litMatcher{ - pos: position{line: 707, col: 8, offset: 23061}, + pos: position{line: 714, col: 8, offset: 23331}, val: "{", ignoreCase: false, want: "\"{\"", @@ -53951,7 +54346,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 692, col: 79, offset: 22447}, + pos: position{line: 699, col: 79, offset: 22717}, val: ">>", ignoreCase: false, want: "\">>\"", @@ -53960,27 +54355,27 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 694, col: 9, offset: 22520}, + pos: position{line: 701, col: 9, offset: 22790}, run: (*parser).callonSingleQuoteItalicTextElement145, expr: &seqExpr{ - pos: position{line: 694, col: 9, offset: 22520}, + pos: position{line: 701, col: 9, offset: 22790}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 694, col: 9, offset: 22520}, + pos: position{line: 701, col: 9, offset: 22790}, val: "<<", ignoreCase: false, want: "\"<<\"", }, &labeledExpr{ - pos: position{line: 694, col: 14, offset: 22525}, + pos: position{line: 701, col: 14, offset: 22795}, label: "id", expr: &actionExpr{ - pos: position{line: 3161, col: 7, offset: 103049}, + pos: position{line: 3057, col: 7, offset: 99686}, run: (*parser).callonSingleQuoteItalicTextElement149, expr: &oneOrMoreExpr{ - pos: position{line: 3161, col: 7, offset: 103049}, + pos: position{line: 3057, col: 7, offset: 99686}, expr: &charClassMatcher{ - pos: position{line: 3161, col: 7, offset: 103049}, + pos: position{line: 3057, col: 7, offset: 99686}, val: "[^[]<>,]", chars: []rune{'[', ']', '<', '>', ','}, ignoreCase: false, @@ -53990,7 +54385,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 694, col: 22, offset: 22533}, + pos: position{line: 701, col: 22, offset: 22803}, val: ">>", ignoreCase: false, want: "\">>\"", @@ -54002,10 +54397,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2867, col: 11, offset: 93957}, + pos: position{line: 2753, col: 11, offset: 90390}, run: (*parser).callonSingleQuoteItalicTextElement153, expr: &charClassMatcher{ - pos: position{line: 2867, col: 12, offset: 93958}, + pos: position{line: 2753, col: 12, offset: 90391}, val: "[<>&]", chars: []rune{'<', '>', '&'}, ignoreCase: false, @@ -54019,65 +54414,95 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2892, col: 5, offset: 94851}, + pos: position{line: 2778, col: 5, offset: 91284}, run: (*parser).callonSingleQuoteItalicTextElement155, expr: &seqExpr{ - pos: position{line: 2892, col: 5, offset: 94851}, + pos: position{line: 2778, col: 5, offset: 91284}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2892, col: 5, offset: 94851}, + pos: position{line: 2778, col: 5, offset: 91284}, val: "\\", ignoreCase: false, want: "\"\\\\\"", }, &choiceExpr{ - pos: position{line: 2892, col: 10, offset: 94856}, + pos: position{line: 2778, col: 10, offset: 91289}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2900, col: 15, offset: 95132}, + pos: position{line: 2787, col: 5, offset: 91579}, run: (*parser).callonSingleQuoteItalicTextElement159, expr: &litMatcher{ - pos: position{line: 2900, col: 15, offset: 95132}, + pos: position{line: 2787, col: 5, offset: 91579}, + val: "\"`", + ignoreCase: false, + want: "\"\\\"`\"", + }, + }, + &actionExpr{ + pos: position{line: 2790, col: 7, offset: 91637}, + run: (*parser).callonSingleQuoteItalicTextElement161, + expr: &litMatcher{ + pos: position{line: 2790, col: 7, offset: 91637}, + val: "`\"", + ignoreCase: false, + want: "\"`\\\"\"", + }, + }, + &actionExpr{ + pos: position{line: 2793, col: 7, offset: 91695}, + run: (*parser).callonSingleQuoteItalicTextElement163, + expr: &litMatcher{ + pos: position{line: 2793, col: 7, offset: 91695}, + val: "'`", + ignoreCase: false, + want: "\"'`\"", + }, + }, + &actionExpr{ + pos: position{line: 2796, col: 7, offset: 91751}, + run: (*parser).callonSingleQuoteItalicTextElement165, + expr: &litMatcher{ + pos: position{line: 2796, col: 7, offset: 91751}, val: "`'", ignoreCase: false, want: "\"`'\"", }, }, &actionExpr{ - pos: position{line: 2906, col: 14, offset: 95236}, - run: (*parser).callonSingleQuoteItalicTextElement161, + pos: position{line: 2802, col: 14, offset: 91873}, + run: (*parser).callonSingleQuoteItalicTextElement167, expr: &litMatcher{ - pos: position{line: 2906, col: 14, offset: 95236}, + pos: position{line: 2802, col: 14, offset: 91873}, val: "(C)", ignoreCase: false, want: "\"(C)\"", }, }, &actionExpr{ - pos: position{line: 2910, col: 14, offset: 95302}, - run: (*parser).callonSingleQuoteItalicTextElement163, + pos: position{line: 2806, col: 14, offset: 91939}, + run: (*parser).callonSingleQuoteItalicTextElement169, expr: &litMatcher{ - pos: position{line: 2910, col: 14, offset: 95302}, + pos: position{line: 2806, col: 14, offset: 91939}, val: "(TM)", ignoreCase: false, want: "\"(TM)\"", }, }, &actionExpr{ - pos: position{line: 2914, col: 15, offset: 95371}, - run: (*parser).callonSingleQuoteItalicTextElement165, + pos: position{line: 2810, col: 15, offset: 92008}, + run: (*parser).callonSingleQuoteItalicTextElement171, expr: &litMatcher{ - pos: position{line: 2914, col: 15, offset: 95371}, + pos: position{line: 2810, col: 15, offset: 92008}, val: "(R)", ignoreCase: false, want: "\"(R)\"", }, }, &actionExpr{ - pos: position{line: 2918, col: 13, offset: 95436}, - run: (*parser).callonSingleQuoteItalicTextElement167, + pos: position{line: 2814, col: 13, offset: 92073}, + run: (*parser).callonSingleQuoteItalicTextElement173, expr: &litMatcher{ - pos: position{line: 2918, col: 13, offset: 95436}, + pos: position{line: 2814, col: 13, offset: 92073}, val: "...", ignoreCase: false, want: "\"...\"", @@ -54089,63 +54514,93 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2900, col: 15, offset: 95132}, - run: (*parser).callonSingleQuoteItalicTextElement169, + pos: position{line: 2787, col: 5, offset: 91579}, + run: (*parser).callonSingleQuoteItalicTextElement175, expr: &litMatcher{ - pos: position{line: 2900, col: 15, offset: 95132}, + pos: position{line: 2787, col: 5, offset: 91579}, + val: "\"`", + ignoreCase: false, + want: "\"\\\"`\"", + }, + }, + &actionExpr{ + pos: position{line: 2790, col: 7, offset: 91637}, + run: (*parser).callonSingleQuoteItalicTextElement177, + expr: &litMatcher{ + pos: position{line: 2790, col: 7, offset: 91637}, + val: "`\"", + ignoreCase: false, + want: "\"`\\\"\"", + }, + }, + &actionExpr{ + pos: position{line: 2793, col: 7, offset: 91695}, + run: (*parser).callonSingleQuoteItalicTextElement179, + expr: &litMatcher{ + pos: position{line: 2793, col: 7, offset: 91695}, + val: "'`", + ignoreCase: false, + want: "\"'`\"", + }, + }, + &actionExpr{ + pos: position{line: 2796, col: 7, offset: 91751}, + run: (*parser).callonSingleQuoteItalicTextElement181, + expr: &litMatcher{ + pos: position{line: 2796, col: 7, offset: 91751}, val: "`'", ignoreCase: false, want: "\"`'\"", }, }, &actionExpr{ - pos: position{line: 2906, col: 14, offset: 95236}, - run: (*parser).callonSingleQuoteItalicTextElement171, + pos: position{line: 2802, col: 14, offset: 91873}, + run: (*parser).callonSingleQuoteItalicTextElement183, expr: &litMatcher{ - pos: position{line: 2906, col: 14, offset: 95236}, + pos: position{line: 2802, col: 14, offset: 91873}, val: "(C)", ignoreCase: false, want: "\"(C)\"", }, }, &actionExpr{ - pos: position{line: 2910, col: 14, offset: 95302}, - run: (*parser).callonSingleQuoteItalicTextElement173, + pos: position{line: 2806, col: 14, offset: 91939}, + run: (*parser).callonSingleQuoteItalicTextElement185, expr: &litMatcher{ - pos: position{line: 2910, col: 14, offset: 95302}, + pos: position{line: 2806, col: 14, offset: 91939}, val: "(TM)", ignoreCase: false, want: "\"(TM)\"", }, }, &actionExpr{ - pos: position{line: 2914, col: 15, offset: 95371}, - run: (*parser).callonSingleQuoteItalicTextElement175, + pos: position{line: 2810, col: 15, offset: 92008}, + run: (*parser).callonSingleQuoteItalicTextElement187, expr: &litMatcher{ - pos: position{line: 2914, col: 15, offset: 95371}, + pos: position{line: 2810, col: 15, offset: 92008}, val: "(R)", ignoreCase: false, want: "\"(R)\"", }, }, &actionExpr{ - pos: position{line: 2918, col: 13, offset: 95436}, - run: (*parser).callonSingleQuoteItalicTextElement177, + pos: position{line: 2814, col: 13, offset: 92073}, + run: (*parser).callonSingleQuoteItalicTextElement189, expr: &litMatcher{ - pos: position{line: 2918, col: 13, offset: 95436}, + pos: position{line: 2814, col: 13, offset: 92073}, val: "...", ignoreCase: false, want: "\"...\"", }, }, &actionExpr{ - pos: position{line: 2929, col: 5, offset: 95746}, - run: (*parser).callonSingleQuoteItalicTextElement179, + pos: position{line: 2825, col: 5, offset: 92383}, + run: (*parser).callonSingleQuoteItalicTextElement191, expr: &seqExpr{ - pos: position{line: 2929, col: 5, offset: 95746}, + pos: position{line: 2825, col: 5, offset: 92383}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 3090, col: 13, offset: 100713}, + pos: position{line: 2986, col: 13, offset: 97350}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -54153,15 +54608,15 @@ var g = &grammar{ inverted: false, }, &litMatcher{ - pos: position{line: 2929, col: 14, offset: 95755}, + pos: position{line: 2825, col: 14, offset: 92392}, val: "\\'", ignoreCase: false, want: "\"\\\\'\"", }, &andExpr{ - pos: position{line: 2929, col: 19, offset: 95760}, + pos: position{line: 2825, col: 19, offset: 92397}, expr: &charClassMatcher{ - pos: position{line: 2929, col: 20, offset: 95761}, + pos: position{line: 2825, col: 20, offset: 92398}, val: "[\\pL]", classes: []*unicode.RangeTable{rangeTable("L")}, ignoreCase: false, @@ -54172,13 +54627,13 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2935, col: 5, offset: 95992}, - run: (*parser).callonSingleQuoteItalicTextElement185, + pos: position{line: 2831, col: 5, offset: 92629}, + run: (*parser).callonSingleQuoteItalicTextElement197, expr: &seqExpr{ - pos: position{line: 2935, col: 5, offset: 95992}, + pos: position{line: 2831, col: 5, offset: 92629}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 3090, col: 13, offset: 100713}, + pos: position{line: 2986, col: 13, offset: 97350}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -54186,15 +54641,15 @@ var g = &grammar{ inverted: false, }, &litMatcher{ - pos: position{line: 2935, col: 14, offset: 96001}, + pos: position{line: 2831, col: 14, offset: 92638}, val: "'", ignoreCase: false, want: "\"'\"", }, &andExpr{ - pos: position{line: 2935, col: 18, offset: 96005}, + pos: position{line: 2831, col: 18, offset: 92642}, expr: &charClassMatcher{ - pos: position{line: 2935, col: 19, offset: 96006}, + pos: position{line: 2831, col: 19, offset: 92643}, val: "[\\pL]", classes: []*unicode.RangeTable{rangeTable("L")}, ignoreCase: false, @@ -54205,35 +54660,31 @@ var g = &grammar{ }, }, &ruleRefExpr{ - pos: position{line: 2191, col: 7, offset: 71739}, - name: "QuotedString", - }, - &ruleRefExpr{ - pos: position{line: 2192, col: 7, offset: 71758}, + pos: position{line: 2195, col: 7, offset: 71929}, name: "QuotedTextInSingleQuoteItalicText", }, &actionExpr{ - pos: position{line: 1212, col: 23, offset: 37871}, - run: (*parser).callonSingleQuoteItalicTextElement193, + pos: position{line: 1219, col: 23, offset: 38141}, + run: (*parser).callonSingleQuoteItalicTextElement204, expr: &seqExpr{ - pos: position{line: 1212, col: 23, offset: 37871}, + pos: position{line: 1219, col: 23, offset: 38141}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1210, col: 32, offset: 37839}, + pos: position{line: 1217, col: 32, offset: 38109}, val: "�", ignoreCase: false, want: "\"�\"", }, &labeledExpr{ - pos: position{line: 1212, col: 51, offset: 37899}, + pos: position{line: 1219, col: 51, offset: 38169}, label: "ref", expr: &actionExpr{ - pos: position{line: 1212, col: 56, offset: 37904}, - run: (*parser).callonSingleQuoteItalicTextElement197, + pos: position{line: 1219, col: 56, offset: 38174}, + run: (*parser).callonSingleQuoteItalicTextElement208, expr: &oneOrMoreExpr{ - pos: position{line: 1212, col: 56, offset: 37904}, + pos: position{line: 1219, col: 56, offset: 38174}, expr: &charClassMatcher{ - pos: position{line: 1212, col: 56, offset: 37904}, + pos: position{line: 1219, col: 56, offset: 38174}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -54243,7 +54694,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1210, col: 32, offset: 37839}, + pos: position{line: 1217, col: 32, offset: 38109}, val: "�", ignoreCase: false, want: "\"�\"", @@ -54252,31 +54703,31 @@ var g = &grammar{ }, }, &charClassMatcher{ - pos: position{line: 2221, col: 5, offset: 72484}, + pos: position{line: 2224, col: 5, offset: 72655}, val: "[^\\r\\n _]", chars: []rune{'\r', '\n', ' ', '_'}, ignoreCase: false, inverted: true, }, &actionExpr{ - pos: position{line: 2222, col: 7, offset: 72591}, - run: (*parser).callonSingleQuoteItalicTextElement202, + pos: position{line: 2225, col: 7, offset: 72762}, + run: (*parser).callonSingleQuoteItalicTextElement213, expr: &seqExpr{ - pos: position{line: 2222, col: 7, offset: 72591}, + pos: position{line: 2225, col: 7, offset: 72762}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2222, col: 7, offset: 72591}, + pos: position{line: 2225, col: 7, offset: 72762}, val: "_", ignoreCase: false, want: "\"_\"", }, &actionExpr{ - pos: position{line: 3094, col: 14, offset: 100787}, - run: (*parser).callonSingleQuoteItalicTextElement205, + pos: position{line: 2990, col: 14, offset: 97424}, + run: (*parser).callonSingleQuoteItalicTextElement216, expr: &oneOrMoreExpr{ - pos: position{line: 3094, col: 14, offset: 100787}, + pos: position{line: 2990, col: 14, offset: 97424}, expr: &charClassMatcher{ - pos: position{line: 3094, col: 14, offset: 100787}, + pos: position{line: 2990, col: 14, offset: 97424}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -54293,49 +54744,49 @@ var g = &grammar{ }, { name: "QuotedTextInSingleQuoteItalicText", - pos: position{line: 2196, col: 1, offset: 71863}, + pos: position{line: 2199, col: 1, offset: 72034}, expr: &choiceExpr{ - pos: position{line: 2198, col: 5, offset: 71927}, + pos: position{line: 2201, col: 5, offset: 72098}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2198, col: 5, offset: 71927}, + pos: position{line: 2201, col: 5, offset: 72098}, run: (*parser).callonQuotedTextInSingleQuoteItalicText2, expr: &seqExpr{ - pos: position{line: 2198, col: 5, offset: 71927}, + pos: position{line: 2201, col: 5, offset: 72098}, exprs: []interface{}{ &andExpr{ - pos: position{line: 2198, col: 5, offset: 71927}, + pos: position{line: 2201, col: 5, offset: 72098}, expr: &litMatcher{ - pos: position{line: 2198, col: 7, offset: 71929}, + pos: position{line: 2201, col: 7, offset: 72100}, val: "\\", ignoreCase: false, want: "\"\\\\\"", }, }, &labeledExpr{ - pos: position{line: 2199, col: 5, offset: 71938}, + pos: position{line: 2202, col: 5, offset: 72109}, label: "element", expr: &choiceExpr{ - pos: position{line: 2200, col: 9, offset: 71956}, + pos: position{line: 2203, col: 9, offset: 72127}, alternatives: []interface{}{ &ruleRefExpr{ - pos: position{line: 2200, col: 9, offset: 71956}, + pos: position{line: 2203, col: 9, offset: 72127}, name: "EscapedBoldText", }, &ruleRefExpr{ - pos: position{line: 2201, col: 11, offset: 71983}, + pos: position{line: 2204, col: 11, offset: 72154}, name: "EscapedMarkedText", }, &ruleRefExpr{ - pos: position{line: 2202, col: 11, offset: 72011}, + pos: position{line: 2205, col: 11, offset: 72182}, name: "EscapedMonospaceText", }, &ruleRefExpr{ - pos: position{line: 2203, col: 11, offset: 72042}, + pos: position{line: 2206, col: 11, offset: 72213}, name: "EscapedSubscriptText", }, &ruleRefExpr{ - pos: position{line: 2204, col: 11, offset: 72073}, + pos: position{line: 2207, col: 11, offset: 72244}, name: "EscapedSuperscriptText", }, }, @@ -54345,50 +54796,50 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2210, col: 5, offset: 72173}, + pos: position{line: 2213, col: 5, offset: 72344}, run: (*parser).callonQuotedTextInSingleQuoteItalicText13, expr: &seqExpr{ - pos: position{line: 2210, col: 5, offset: 72173}, + pos: position{line: 2213, col: 5, offset: 72344}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 2210, col: 5, offset: 72173}, + pos: position{line: 2213, col: 5, offset: 72344}, label: "attributes", expr: &zeroOrOneExpr{ - pos: position{line: 2210, col: 16, offset: 72184}, + pos: position{line: 2213, col: 16, offset: 72355}, expr: &ruleRefExpr{ - pos: position{line: 2210, col: 17, offset: 72185}, + pos: position{line: 2213, col: 17, offset: 72356}, name: "LongHandAttributes", }, }, }, &labeledExpr{ - pos: position{line: 2211, col: 5, offset: 72211}, + pos: position{line: 2214, col: 5, offset: 72382}, label: "text", expr: &choiceExpr{ - pos: position{line: 2211, col: 11, offset: 72217}, + pos: position{line: 2214, col: 11, offset: 72388}, alternatives: []interface{}{ &ruleRefExpr{ - pos: position{line: 2211, col: 11, offset: 72217}, + pos: position{line: 2214, col: 11, offset: 72388}, name: "BoldText", }, &ruleRefExpr{ - pos: position{line: 2212, col: 11, offset: 72236}, + pos: position{line: 2215, col: 11, offset: 72407}, name: "DoubleQuoteItalicText", }, &ruleRefExpr{ - pos: position{line: 2213, col: 11, offset: 72268}, + pos: position{line: 2216, col: 11, offset: 72439}, name: "MarkedText", }, &ruleRefExpr{ - pos: position{line: 2214, col: 11, offset: 72289}, + pos: position{line: 2217, col: 11, offset: 72460}, name: "MonospaceText", }, &ruleRefExpr{ - pos: position{line: 2215, col: 11, offset: 72313}, + pos: position{line: 2218, col: 11, offset: 72484}, name: "SubscriptText", }, &ruleRefExpr{ - pos: position{line: 2216, col: 11, offset: 72337}, + pos: position{line: 2219, col: 11, offset: 72508}, name: "SuperscriptText", }, }, @@ -54402,35 +54853,35 @@ var g = &grammar{ }, { name: "EscapedItalicText", - pos: position{line: 2226, col: 1, offset: 72769}, + pos: position{line: 2229, col: 1, offset: 72940}, expr: &choiceExpr{ - pos: position{line: 2228, col: 5, offset: 72834}, + pos: position{line: 2231, col: 5, offset: 73005}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2228, col: 5, offset: 72834}, + pos: position{line: 2231, col: 5, offset: 73005}, run: (*parser).callonEscapedItalicText2, expr: &seqExpr{ - pos: position{line: 2228, col: 5, offset: 72834}, + pos: position{line: 2231, col: 5, offset: 73005}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 2228, col: 5, offset: 72834}, + pos: position{line: 2231, col: 5, offset: 73005}, label: "backslashes", expr: &actionExpr{ - pos: position{line: 1939, col: 25, offset: 63647}, + pos: position{line: 1946, col: 25, offset: 63902}, run: (*parser).callonEscapedItalicText5, expr: &seqExpr{ - pos: position{line: 1939, col: 25, offset: 63647}, + pos: position{line: 1946, col: 25, offset: 63902}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1939, col: 25, offset: 63647}, + pos: position{line: 1946, col: 25, offset: 63902}, val: "\\\\", ignoreCase: false, want: "\"\\\\\\\\\"", }, &zeroOrMoreExpr{ - pos: position{line: 1939, col: 30, offset: 63652}, + pos: position{line: 1946, col: 30, offset: 63907}, expr: &litMatcher{ - pos: position{line: 1939, col: 30, offset: 63652}, + pos: position{line: 1946, col: 30, offset: 63907}, val: "\\", ignoreCase: false, want: "\"\\\\\"", @@ -54441,21 +54892,21 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 2228, col: 40, offset: 72869}, + pos: position{line: 2231, col: 40, offset: 73040}, val: "__", ignoreCase: false, want: "\"__\"", }, &labeledExpr{ - pos: position{line: 2228, col: 45, offset: 72874}, + pos: position{line: 2231, col: 45, offset: 73045}, label: "elements", expr: &ruleRefExpr{ - pos: position{line: 2228, col: 55, offset: 72884}, + pos: position{line: 2231, col: 55, offset: 73055}, name: "DoubleQuoteItalicTextElements", }, }, &litMatcher{ - pos: position{line: 2228, col: 86, offset: 72915}, + pos: position{line: 2231, col: 86, offset: 73086}, val: "__", ignoreCase: false, want: "\"__\"", @@ -54464,21 +54915,21 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2232, col: 7, offset: 73080}, + pos: position{line: 2235, col: 7, offset: 73251}, run: (*parser).callonEscapedItalicText14, expr: &seqExpr{ - pos: position{line: 2232, col: 7, offset: 73080}, + pos: position{line: 2235, col: 7, offset: 73251}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 2232, col: 7, offset: 73080}, + pos: position{line: 2235, col: 7, offset: 73251}, label: "backslashes", expr: &actionExpr{ - pos: position{line: 1935, col: 25, offset: 63574}, + pos: position{line: 1942, col: 25, offset: 63829}, run: (*parser).callonEscapedItalicText17, expr: &oneOrMoreExpr{ - pos: position{line: 1935, col: 25, offset: 63574}, + pos: position{line: 1942, col: 25, offset: 63829}, expr: &litMatcher{ - pos: position{line: 1935, col: 25, offset: 63574}, + pos: position{line: 1942, col: 25, offset: 63829}, val: "\\", ignoreCase: false, want: "\"\\\\\"", @@ -54487,21 +54938,21 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 2232, col: 42, offset: 73115}, + pos: position{line: 2235, col: 42, offset: 73286}, val: "__", ignoreCase: false, want: "\"__\"", }, &labeledExpr{ - pos: position{line: 2232, col: 47, offset: 73120}, + pos: position{line: 2235, col: 47, offset: 73291}, label: "elements", expr: &ruleRefExpr{ - pos: position{line: 2232, col: 57, offset: 73130}, + pos: position{line: 2235, col: 57, offset: 73301}, name: "SingleQuoteItalicTextElements", }, }, &litMatcher{ - pos: position{line: 2232, col: 88, offset: 73161}, + pos: position{line: 2235, col: 88, offset: 73332}, val: "_", ignoreCase: false, want: "\"_\"", @@ -54510,21 +54961,21 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2237, col: 7, offset: 73402}, + pos: position{line: 2240, col: 7, offset: 73573}, run: (*parser).callonEscapedItalicText24, expr: &seqExpr{ - pos: position{line: 2237, col: 7, offset: 73402}, + pos: position{line: 2240, col: 7, offset: 73573}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 2237, col: 7, offset: 73402}, + pos: position{line: 2240, col: 7, offset: 73573}, label: "backslashes", expr: &actionExpr{ - pos: position{line: 1935, col: 25, offset: 63574}, + pos: position{line: 1942, col: 25, offset: 63829}, run: (*parser).callonEscapedItalicText27, expr: &oneOrMoreExpr{ - pos: position{line: 1935, col: 25, offset: 63574}, + pos: position{line: 1942, col: 25, offset: 63829}, expr: &litMatcher{ - pos: position{line: 1935, col: 25, offset: 63574}, + pos: position{line: 1942, col: 25, offset: 63829}, val: "\\", ignoreCase: false, want: "\"\\\\\"", @@ -54533,21 +54984,21 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 2237, col: 42, offset: 73437}, + pos: position{line: 2240, col: 42, offset: 73608}, val: "_", ignoreCase: false, want: "\"_\"", }, &labeledExpr{ - pos: position{line: 2237, col: 46, offset: 73441}, + pos: position{line: 2240, col: 46, offset: 73612}, label: "elements", expr: &ruleRefExpr{ - pos: position{line: 2237, col: 56, offset: 73451}, + pos: position{line: 2240, col: 56, offset: 73622}, name: "SingleQuoteItalicTextElements", }, }, &litMatcher{ - pos: position{line: 2237, col: 87, offset: 73482}, + pos: position{line: 2240, col: 87, offset: 73653}, val: "_", ignoreCase: false, want: "\"_\"", @@ -54560,16 +55011,16 @@ var g = &grammar{ }, { name: "MonospaceText", - pos: position{line: 2244, col: 1, offset: 73801}, + pos: position{line: 2247, col: 1, offset: 73972}, expr: &choiceExpr{ - pos: position{line: 2244, col: 18, offset: 73818}, + pos: position{line: 2247, col: 18, offset: 73989}, alternatives: []interface{}{ &ruleRefExpr{ - pos: position{line: 2244, col: 18, offset: 73818}, + pos: position{line: 2247, col: 18, offset: 73989}, name: "DoubleQuoteMonospaceText", }, &ruleRefExpr{ - pos: position{line: 2244, col: 45, offset: 73845}, + pos: position{line: 2247, col: 45, offset: 74016}, name: "SingleQuoteMonospaceText", }, }, @@ -54577,29 +55028,29 @@ var g = &grammar{ }, { name: "DoubleQuoteMonospaceText", - pos: position{line: 2258, col: 1, offset: 74197}, + pos: position{line: 2261, col: 1, offset: 74368}, expr: &actionExpr{ - pos: position{line: 2259, col: 5, offset: 74230}, + pos: position{line: 2262, col: 5, offset: 74401}, run: (*parser).callonDoubleQuoteMonospaceText1, expr: &seqExpr{ - pos: position{line: 2259, col: 5, offset: 74230}, + pos: position{line: 2262, col: 5, offset: 74401}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2256, col: 38, offset: 74191}, + pos: position{line: 2259, col: 38, offset: 74362}, val: "``", ignoreCase: false, want: "\"``\"", }, &labeledExpr{ - pos: position{line: 2260, col: 5, offset: 74269}, + pos: position{line: 2263, col: 5, offset: 74440}, label: "elements", expr: &ruleRefExpr{ - pos: position{line: 2260, col: 15, offset: 74279}, + pos: position{line: 2263, col: 15, offset: 74450}, name: "DoubleQuoteMonospaceTextElements", }, }, &litMatcher{ - pos: position{line: 2256, col: 38, offset: 74191}, + pos: position{line: 2259, col: 38, offset: 74362}, val: "``", ignoreCase: false, want: "\"``\"", @@ -54610,49 +55061,49 @@ var g = &grammar{ }, { name: "DoubleQuoteMonospaceTextElements", - pos: position{line: 2265, col: 1, offset: 74451}, + pos: position{line: 2268, col: 1, offset: 74622}, expr: &oneOrMoreExpr{ - pos: position{line: 2265, col: 37, offset: 74487}, + pos: position{line: 2268, col: 37, offset: 74658}, expr: &ruleRefExpr{ - pos: position{line: 2265, col: 37, offset: 74487}, + pos: position{line: 2268, col: 37, offset: 74658}, name: "DoubleQuoteMonospaceTextElement", }, }, }, { name: "DoubleQuoteMonospaceTextElement", - pos: position{line: 2267, col: 1, offset: 74554}, + pos: position{line: 2270, col: 1, offset: 74725}, expr: &actionExpr{ - pos: position{line: 2268, col: 5, offset: 74594}, + pos: position{line: 2271, col: 5, offset: 74765}, run: (*parser).callonDoubleQuoteMonospaceTextElement1, expr: &seqExpr{ - pos: position{line: 2268, col: 5, offset: 74594}, + pos: position{line: 2271, col: 5, offset: 74765}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 2268, col: 5, offset: 74594}, + pos: position{line: 2271, col: 5, offset: 74765}, expr: &litMatcher{ - pos: position{line: 2256, col: 38, offset: 74191}, + pos: position{line: 2259, col: 38, offset: 74362}, val: "``", ignoreCase: false, want: "\"``\"", }, }, &labeledExpr{ - pos: position{line: 2269, col: 5, offset: 74633}, + pos: position{line: 2272, col: 5, offset: 74804}, label: "element", expr: &choiceExpr{ - pos: position{line: 2270, col: 9, offset: 74651}, + pos: position{line: 2273, col: 9, offset: 74822}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2249, col: 5, offset: 73928}, + pos: position{line: 2252, col: 5, offset: 74099}, run: (*parser).callonDoubleQuoteMonospaceTextElement7, expr: &seqExpr{ - pos: position{line: 2249, col: 5, offset: 73928}, + pos: position{line: 2252, col: 5, offset: 74099}, exprs: []interface{}{ &oneOrMoreExpr{ - pos: position{line: 2249, col: 5, offset: 73928}, + pos: position{line: 2252, col: 5, offset: 74099}, expr: &charClassMatcher{ - pos: position{line: 2249, col: 5, offset: 73928}, + pos: position{line: 2252, col: 5, offset: 74099}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -54661,15 +55112,15 @@ var g = &grammar{ }, }, &andExpr{ - pos: position{line: 2249, col: 15, offset: 73938}, + pos: position{line: 2252, col: 15, offset: 74109}, expr: &choiceExpr{ - pos: position{line: 2249, col: 17, offset: 73940}, + pos: position{line: 2252, col: 17, offset: 74111}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonDoubleQuoteMonospaceTextElement13, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -54677,7 +55128,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 2246, col: 27, offset: 73897}, + pos: position{line: 2249, col: 27, offset: 74068}, val: "`", ignoreCase: false, want: "\"`\"", @@ -54689,12 +55140,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 3180, col: 11, offset: 103464}, + pos: position{line: 3076, col: 11, offset: 100101}, run: (*parser).callonDoubleQuoteMonospaceTextElement16, expr: &oneOrMoreExpr{ - pos: position{line: 3180, col: 11, offset: 103464}, + pos: position{line: 3076, col: 11, offset: 100101}, expr: &charClassMatcher{ - pos: position{line: 3180, col: 12, offset: 103465}, + pos: position{line: 3076, col: 12, offset: 100102}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -54703,28 +55154,28 @@ var g = &grammar{ }, }, &seqExpr{ - pos: position{line: 2272, col: 11, offset: 74729}, + pos: position{line: 2275, col: 11, offset: 74900}, exprs: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonDoubleQuoteMonospaceTextElement20, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -54733,27 +55184,27 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2272, col: 19, offset: 74737}, + pos: position{line: 2275, col: 19, offset: 74908}, expr: &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonDoubleQuoteMonospaceTextElement26, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -54765,35 +55216,35 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 641, col: 5, offset: 20613}, + pos: position{line: 648, col: 5, offset: 20883}, run: (*parser).callonDoubleQuoteMonospaceTextElement31, expr: &seqExpr{ - pos: position{line: 641, col: 5, offset: 20613}, + pos: position{line: 648, col: 5, offset: 20883}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 641, col: 5, offset: 20613}, + pos: position{line: 648, col: 5, offset: 20883}, run: (*parser).callonDoubleQuoteMonospaceTextElement33, }, &labeledExpr{ - pos: position{line: 644, col: 5, offset: 20682}, + pos: position{line: 651, col: 5, offset: 20952}, label: "element", expr: &choiceExpr{ - pos: position{line: 644, col: 14, offset: 20691}, + pos: position{line: 651, col: 14, offset: 20961}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 664, col: 25, offset: 21344}, + pos: position{line: 671, col: 25, offset: 21614}, run: (*parser).callonDoubleQuoteMonospaceTextElement36, expr: &seqExpr{ - pos: position{line: 664, col: 25, offset: 21344}, + pos: position{line: 671, col: 25, offset: 21614}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 664, col: 25, offset: 21344}, + pos: position{line: 671, col: 25, offset: 21614}, val: "{counter:", ignoreCase: false, want: "\"{counter:\"", }, &labeledExpr{ - pos: position{line: 664, col: 37, offset: 21356}, + pos: position{line: 671, col: 37, offset: 21626}, label: "name", expr: &actionExpr{ pos: position{line: 324, col: 18, offset: 10072}, @@ -54827,33 +55278,33 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 664, col: 56, offset: 21375}, + pos: position{line: 671, col: 56, offset: 21645}, label: "start", expr: &zeroOrOneExpr{ - pos: position{line: 664, col: 62, offset: 21381}, + pos: position{line: 671, col: 62, offset: 21651}, expr: &actionExpr{ - pos: position{line: 672, col: 17, offset: 21676}, + pos: position{line: 679, col: 17, offset: 21946}, run: (*parser).callonDoubleQuoteMonospaceTextElement47, expr: &seqExpr{ - pos: position{line: 672, col: 17, offset: 21676}, + pos: position{line: 679, col: 17, offset: 21946}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 672, col: 17, offset: 21676}, + pos: position{line: 679, col: 17, offset: 21946}, val: ":", ignoreCase: false, want: "\":\"", }, &labeledExpr{ - pos: position{line: 672, col: 21, offset: 21680}, + pos: position{line: 679, col: 21, offset: 21950}, label: "start", expr: &choiceExpr{ - pos: position{line: 672, col: 28, offset: 21687}, + pos: position{line: 679, col: 28, offset: 21957}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 672, col: 28, offset: 21687}, + pos: position{line: 679, col: 28, offset: 21957}, run: (*parser).callonDoubleQuoteMonospaceTextElement52, expr: &charClassMatcher{ - pos: position{line: 672, col: 28, offset: 21687}, + pos: position{line: 679, col: 28, offset: 21957}, val: "[A-Za-z]", ranges: []rune{'A', 'Z', 'a', 'z'}, ignoreCase: false, @@ -54861,12 +55312,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 674, col: 9, offset: 21741}, + pos: position{line: 681, col: 9, offset: 22011}, run: (*parser).callonDoubleQuoteMonospaceTextElement54, expr: &oneOrMoreExpr{ - pos: position{line: 674, col: 9, offset: 21741}, + pos: position{line: 681, col: 9, offset: 22011}, expr: &charClassMatcher{ - pos: position{line: 674, col: 9, offset: 21741}, + pos: position{line: 681, col: 9, offset: 22011}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -54883,7 +55334,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 664, col: 78, offset: 21397}, + pos: position{line: 671, col: 78, offset: 21667}, val: "}", ignoreCase: false, want: "\"}\"", @@ -54892,19 +55343,19 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 668, col: 25, offset: 21515}, + pos: position{line: 675, col: 25, offset: 21785}, run: (*parser).callonDoubleQuoteMonospaceTextElement58, expr: &seqExpr{ - pos: position{line: 668, col: 25, offset: 21515}, + pos: position{line: 675, col: 25, offset: 21785}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 668, col: 25, offset: 21515}, + pos: position{line: 675, col: 25, offset: 21785}, val: "{counter2:", ignoreCase: false, want: "\"{counter2:\"", }, &labeledExpr{ - pos: position{line: 668, col: 38, offset: 21528}, + pos: position{line: 675, col: 38, offset: 21798}, label: "name", expr: &actionExpr{ pos: position{line: 324, col: 18, offset: 10072}, @@ -54938,33 +55389,33 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 668, col: 57, offset: 21547}, + pos: position{line: 675, col: 57, offset: 21817}, label: "start", expr: &zeroOrOneExpr{ - pos: position{line: 668, col: 63, offset: 21553}, + pos: position{line: 675, col: 63, offset: 21823}, expr: &actionExpr{ - pos: position{line: 672, col: 17, offset: 21676}, + pos: position{line: 679, col: 17, offset: 21946}, run: (*parser).callonDoubleQuoteMonospaceTextElement69, expr: &seqExpr{ - pos: position{line: 672, col: 17, offset: 21676}, + pos: position{line: 679, col: 17, offset: 21946}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 672, col: 17, offset: 21676}, + pos: position{line: 679, col: 17, offset: 21946}, val: ":", ignoreCase: false, want: "\":\"", }, &labeledExpr{ - pos: position{line: 672, col: 21, offset: 21680}, + pos: position{line: 679, col: 21, offset: 21950}, label: "start", expr: &choiceExpr{ - pos: position{line: 672, col: 28, offset: 21687}, + pos: position{line: 679, col: 28, offset: 21957}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 672, col: 28, offset: 21687}, + pos: position{line: 679, col: 28, offset: 21957}, run: (*parser).callonDoubleQuoteMonospaceTextElement74, expr: &charClassMatcher{ - pos: position{line: 672, col: 28, offset: 21687}, + pos: position{line: 679, col: 28, offset: 21957}, val: "[A-Za-z]", ranges: []rune{'A', 'Z', 'a', 'z'}, ignoreCase: false, @@ -54972,12 +55423,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 674, col: 9, offset: 21741}, + pos: position{line: 681, col: 9, offset: 22011}, run: (*parser).callonDoubleQuoteMonospaceTextElement76, expr: &oneOrMoreExpr{ - pos: position{line: 674, col: 9, offset: 21741}, + pos: position{line: 681, col: 9, offset: 22011}, expr: &charClassMatcher{ - pos: position{line: 674, col: 9, offset: 21741}, + pos: position{line: 681, col: 9, offset: 22011}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -54994,7 +55445,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 668, col: 79, offset: 21569}, + pos: position{line: 675, col: 79, offset: 21839}, val: "}", ignoreCase: false, want: "\"}\"", @@ -55003,19 +55454,19 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 650, col: 5, offset: 20820}, + pos: position{line: 657, col: 5, offset: 21090}, run: (*parser).callonDoubleQuoteMonospaceTextElement80, expr: &seqExpr{ - pos: position{line: 650, col: 5, offset: 20820}, + pos: position{line: 657, col: 5, offset: 21090}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 650, col: 5, offset: 20820}, + pos: position{line: 657, col: 5, offset: 21090}, val: "\\{", ignoreCase: false, want: "\"\\\\{\"", }, &labeledExpr{ - pos: position{line: 650, col: 13, offset: 20828}, + pos: position{line: 657, col: 13, offset: 21098}, label: "name", expr: &actionExpr{ pos: position{line: 324, col: 18, offset: 10072}, @@ -55049,7 +55500,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 650, col: 32, offset: 20847}, + pos: position{line: 657, col: 32, offset: 21117}, val: "}", ignoreCase: false, want: "\"}\"", @@ -55058,19 +55509,19 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 657, col: 5, offset: 21088}, + pos: position{line: 664, col: 5, offset: 21358}, run: (*parser).callonDoubleQuoteMonospaceTextElement90, expr: &seqExpr{ - pos: position{line: 657, col: 5, offset: 21088}, + pos: position{line: 664, col: 5, offset: 21358}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 657, col: 5, offset: 21088}, + pos: position{line: 664, col: 5, offset: 21358}, val: "{", ignoreCase: false, want: "\"{\"", }, &labeledExpr{ - pos: position{line: 657, col: 9, offset: 21092}, + pos: position{line: 664, col: 9, offset: 21362}, label: "name", expr: &actionExpr{ pos: position{line: 324, col: 18, offset: 10072}, @@ -55104,7 +55555,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 657, col: 28, offset: 21111}, + pos: position{line: 664, col: 28, offset: 21381}, val: "}", ignoreCase: false, want: "\"}\"", @@ -55119,53 +55570,53 @@ var g = &grammar{ }, }, &ruleRefExpr{ - pos: position{line: 2274, col: 11, offset: 74819}, + pos: position{line: 2277, col: 11, offset: 74990}, name: "InlineMacro", }, &actionExpr{ - pos: position{line: 2859, col: 5, offset: 93679}, + pos: position{line: 2745, col: 5, offset: 90112}, run: (*parser).callonDoubleQuoteMonospaceTextElement101, expr: &seqExpr{ - pos: position{line: 2859, col: 5, offset: 93679}, + pos: position{line: 2745, col: 5, offset: 90112}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 2859, col: 5, offset: 93679}, + pos: position{line: 2745, col: 5, offset: 90112}, run: (*parser).callonDoubleQuoteMonospaceTextElement103, }, &labeledExpr{ - pos: position{line: 2862, col: 5, offset: 93755}, + pos: position{line: 2748, col: 5, offset: 90188}, label: "element", expr: &choiceExpr{ - pos: position{line: 2864, col: 9, offset: 93853}, + pos: position{line: 2750, col: 9, offset: 90286}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2864, col: 9, offset: 93853}, + pos: position{line: 2750, col: 9, offset: 90286}, run: (*parser).callonDoubleQuoteMonospaceTextElement106, expr: &choiceExpr{ - pos: position{line: 692, col: 27, offset: 22395}, + pos: position{line: 699, col: 27, offset: 22665}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 692, col: 27, offset: 22395}, + pos: position{line: 699, col: 27, offset: 22665}, run: (*parser).callonDoubleQuoteMonospaceTextElement108, expr: &seqExpr{ - pos: position{line: 692, col: 27, offset: 22395}, + pos: position{line: 699, col: 27, offset: 22665}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 692, col: 27, offset: 22395}, + pos: position{line: 699, col: 27, offset: 22665}, val: "<<", ignoreCase: false, want: "\"<<\"", }, &labeledExpr{ - pos: position{line: 692, col: 32, offset: 22400}, + pos: position{line: 699, col: 32, offset: 22670}, label: "id", expr: &actionExpr{ - pos: position{line: 3161, col: 7, offset: 103049}, + pos: position{line: 3057, col: 7, offset: 99686}, run: (*parser).callonDoubleQuoteMonospaceTextElement112, expr: &oneOrMoreExpr{ - pos: position{line: 3161, col: 7, offset: 103049}, + pos: position{line: 3057, col: 7, offset: 99686}, expr: &charClassMatcher{ - pos: position{line: 3161, col: 7, offset: 103049}, + pos: position{line: 3057, col: 7, offset: 99686}, val: "[^[]<>,]", chars: []rune{'[', ']', '<', '>', ','}, ignoreCase: false, @@ -55175,12 +55626,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 692, col: 40, offset: 22408}, + pos: position{line: 699, col: 40, offset: 22678}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonDoubleQuoteMonospaceTextElement116, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -55189,27 +55640,27 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 692, col: 47, offset: 22415}, + pos: position{line: 699, col: 47, offset: 22685}, val: ",", ignoreCase: false, want: "\",\"", }, &labeledExpr{ - pos: position{line: 692, col: 51, offset: 22419}, + pos: position{line: 699, col: 51, offset: 22689}, label: "label", expr: &oneOrMoreExpr{ - pos: position{line: 702, col: 24, offset: 22820}, + pos: position{line: 709, col: 24, offset: 23090}, expr: &choiceExpr{ - pos: position{line: 703, col: 5, offset: 22826}, + pos: position{line: 710, col: 5, offset: 23096}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 703, col: 6, offset: 22827}, + pos: position{line: 710, col: 6, offset: 23097}, run: (*parser).callonDoubleQuoteMonospaceTextElement122, expr: &seqExpr{ - pos: position{line: 703, col: 6, offset: 22827}, + pos: position{line: 710, col: 6, offset: 23097}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 703, col: 6, offset: 22827}, + pos: position{line: 710, col: 6, offset: 23097}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -55217,9 +55668,9 @@ var g = &grammar{ inverted: false, }, &oneOrMoreExpr{ - pos: position{line: 703, col: 14, offset: 22835}, + pos: position{line: 710, col: 14, offset: 23105}, expr: &charClassMatcher{ - pos: position{line: 703, col: 14, offset: 22835}, + pos: position{line: 710, col: 14, offset: 23105}, val: "[^\\r\\n{<>]", chars: []rune{'\r', '\n', '{', '<', '>'}, ignoreCase: false, @@ -55230,19 +55681,19 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 650, col: 5, offset: 20820}, + pos: position{line: 657, col: 5, offset: 21090}, run: (*parser).callonDoubleQuoteMonospaceTextElement127, expr: &seqExpr{ - pos: position{line: 650, col: 5, offset: 20820}, + pos: position{line: 657, col: 5, offset: 21090}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 650, col: 5, offset: 20820}, + pos: position{line: 657, col: 5, offset: 21090}, val: "\\{", ignoreCase: false, want: "\"\\\\{\"", }, &labeledExpr{ - pos: position{line: 650, col: 13, offset: 20828}, + pos: position{line: 657, col: 13, offset: 21098}, label: "name", expr: &actionExpr{ pos: position{line: 324, col: 18, offset: 10072}, @@ -55276,7 +55727,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 650, col: 32, offset: 20847}, + pos: position{line: 657, col: 32, offset: 21117}, val: "}", ignoreCase: false, want: "\"}\"", @@ -55285,19 +55736,19 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 657, col: 5, offset: 21088}, + pos: position{line: 664, col: 5, offset: 21358}, run: (*parser).callonDoubleQuoteMonospaceTextElement137, expr: &seqExpr{ - pos: position{line: 657, col: 5, offset: 21088}, + pos: position{line: 664, col: 5, offset: 21358}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 657, col: 5, offset: 21088}, + pos: position{line: 664, col: 5, offset: 21358}, val: "{", ignoreCase: false, want: "\"{\"", }, &labeledExpr{ - pos: position{line: 657, col: 9, offset: 21092}, + pos: position{line: 664, col: 9, offset: 21362}, label: "name", expr: &actionExpr{ pos: position{line: 324, col: 18, offset: 10072}, @@ -55331,7 +55782,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 657, col: 28, offset: 21111}, + pos: position{line: 664, col: 28, offset: 21381}, val: "}", ignoreCase: false, want: "\"}\"", @@ -55340,10 +55791,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 707, col: 8, offset: 23061}, + pos: position{line: 714, col: 8, offset: 23331}, run: (*parser).callonDoubleQuoteMonospaceTextElement147, expr: &litMatcher{ - pos: position{line: 707, col: 8, offset: 23061}, + pos: position{line: 714, col: 8, offset: 23331}, val: "{", ignoreCase: false, want: "\"{\"", @@ -55354,7 +55805,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 692, col: 79, offset: 22447}, + pos: position{line: 699, col: 79, offset: 22717}, val: ">>", ignoreCase: false, want: "\">>\"", @@ -55363,27 +55814,27 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 694, col: 9, offset: 22520}, + pos: position{line: 701, col: 9, offset: 22790}, run: (*parser).callonDoubleQuoteMonospaceTextElement150, expr: &seqExpr{ - pos: position{line: 694, col: 9, offset: 22520}, + pos: position{line: 701, col: 9, offset: 22790}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 694, col: 9, offset: 22520}, + pos: position{line: 701, col: 9, offset: 22790}, val: "<<", ignoreCase: false, want: "\"<<\"", }, &labeledExpr{ - pos: position{line: 694, col: 14, offset: 22525}, + pos: position{line: 701, col: 14, offset: 22795}, label: "id", expr: &actionExpr{ - pos: position{line: 3161, col: 7, offset: 103049}, + pos: position{line: 3057, col: 7, offset: 99686}, run: (*parser).callonDoubleQuoteMonospaceTextElement154, expr: &oneOrMoreExpr{ - pos: position{line: 3161, col: 7, offset: 103049}, + pos: position{line: 3057, col: 7, offset: 99686}, expr: &charClassMatcher{ - pos: position{line: 3161, col: 7, offset: 103049}, + pos: position{line: 3057, col: 7, offset: 99686}, val: "[^[]<>,]", chars: []rune{'[', ']', '<', '>', ','}, ignoreCase: false, @@ -55393,7 +55844,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 694, col: 22, offset: 22533}, + pos: position{line: 701, col: 22, offset: 22803}, val: ">>", ignoreCase: false, want: "\">>\"", @@ -55405,10 +55856,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2867, col: 11, offset: 93957}, + pos: position{line: 2753, col: 11, offset: 90390}, run: (*parser).callonDoubleQuoteMonospaceTextElement158, expr: &charClassMatcher{ - pos: position{line: 2867, col: 12, offset: 93958}, + pos: position{line: 2753, col: 12, offset: 90391}, val: "[<>&]", chars: []rune{'<', '>', '&'}, ignoreCase: false, @@ -55422,65 +55873,95 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2892, col: 5, offset: 94851}, + pos: position{line: 2778, col: 5, offset: 91284}, run: (*parser).callonDoubleQuoteMonospaceTextElement160, expr: &seqExpr{ - pos: position{line: 2892, col: 5, offset: 94851}, + pos: position{line: 2778, col: 5, offset: 91284}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2892, col: 5, offset: 94851}, + pos: position{line: 2778, col: 5, offset: 91284}, val: "\\", ignoreCase: false, want: "\"\\\\\"", }, &choiceExpr{ - pos: position{line: 2892, col: 10, offset: 94856}, + pos: position{line: 2778, col: 10, offset: 91289}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2900, col: 15, offset: 95132}, + pos: position{line: 2787, col: 5, offset: 91579}, run: (*parser).callonDoubleQuoteMonospaceTextElement164, expr: &litMatcher{ - pos: position{line: 2900, col: 15, offset: 95132}, + pos: position{line: 2787, col: 5, offset: 91579}, + val: "\"`", + ignoreCase: false, + want: "\"\\\"`\"", + }, + }, + &actionExpr{ + pos: position{line: 2790, col: 7, offset: 91637}, + run: (*parser).callonDoubleQuoteMonospaceTextElement166, + expr: &litMatcher{ + pos: position{line: 2790, col: 7, offset: 91637}, + val: "`\"", + ignoreCase: false, + want: "\"`\\\"\"", + }, + }, + &actionExpr{ + pos: position{line: 2793, col: 7, offset: 91695}, + run: (*parser).callonDoubleQuoteMonospaceTextElement168, + expr: &litMatcher{ + pos: position{line: 2793, col: 7, offset: 91695}, + val: "'`", + ignoreCase: false, + want: "\"'`\"", + }, + }, + &actionExpr{ + pos: position{line: 2796, col: 7, offset: 91751}, + run: (*parser).callonDoubleQuoteMonospaceTextElement170, + expr: &litMatcher{ + pos: position{line: 2796, col: 7, offset: 91751}, val: "`'", ignoreCase: false, want: "\"`'\"", }, }, &actionExpr{ - pos: position{line: 2906, col: 14, offset: 95236}, - run: (*parser).callonDoubleQuoteMonospaceTextElement166, + pos: position{line: 2802, col: 14, offset: 91873}, + run: (*parser).callonDoubleQuoteMonospaceTextElement172, expr: &litMatcher{ - pos: position{line: 2906, col: 14, offset: 95236}, + pos: position{line: 2802, col: 14, offset: 91873}, val: "(C)", ignoreCase: false, want: "\"(C)\"", }, }, &actionExpr{ - pos: position{line: 2910, col: 14, offset: 95302}, - run: (*parser).callonDoubleQuoteMonospaceTextElement168, + pos: position{line: 2806, col: 14, offset: 91939}, + run: (*parser).callonDoubleQuoteMonospaceTextElement174, expr: &litMatcher{ - pos: position{line: 2910, col: 14, offset: 95302}, + pos: position{line: 2806, col: 14, offset: 91939}, val: "(TM)", ignoreCase: false, want: "\"(TM)\"", }, }, &actionExpr{ - pos: position{line: 2914, col: 15, offset: 95371}, - run: (*parser).callonDoubleQuoteMonospaceTextElement170, + pos: position{line: 2810, col: 15, offset: 92008}, + run: (*parser).callonDoubleQuoteMonospaceTextElement176, expr: &litMatcher{ - pos: position{line: 2914, col: 15, offset: 95371}, + pos: position{line: 2810, col: 15, offset: 92008}, val: "(R)", ignoreCase: false, want: "\"(R)\"", }, }, &actionExpr{ - pos: position{line: 2918, col: 13, offset: 95436}, - run: (*parser).callonDoubleQuoteMonospaceTextElement172, + pos: position{line: 2814, col: 13, offset: 92073}, + run: (*parser).callonDoubleQuoteMonospaceTextElement178, expr: &litMatcher{ - pos: position{line: 2918, col: 13, offset: 95436}, + pos: position{line: 2814, col: 13, offset: 92073}, val: "...", ignoreCase: false, want: "\"...\"", @@ -55492,63 +55973,93 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2900, col: 15, offset: 95132}, - run: (*parser).callonDoubleQuoteMonospaceTextElement174, + pos: position{line: 2787, col: 5, offset: 91579}, + run: (*parser).callonDoubleQuoteMonospaceTextElement180, + expr: &litMatcher{ + pos: position{line: 2787, col: 5, offset: 91579}, + val: "\"`", + ignoreCase: false, + want: "\"\\\"`\"", + }, + }, + &actionExpr{ + pos: position{line: 2790, col: 7, offset: 91637}, + run: (*parser).callonDoubleQuoteMonospaceTextElement182, + expr: &litMatcher{ + pos: position{line: 2790, col: 7, offset: 91637}, + val: "`\"", + ignoreCase: false, + want: "\"`\\\"\"", + }, + }, + &actionExpr{ + pos: position{line: 2793, col: 7, offset: 91695}, + run: (*parser).callonDoubleQuoteMonospaceTextElement184, + expr: &litMatcher{ + pos: position{line: 2793, col: 7, offset: 91695}, + val: "'`", + ignoreCase: false, + want: "\"'`\"", + }, + }, + &actionExpr{ + pos: position{line: 2796, col: 7, offset: 91751}, + run: (*parser).callonDoubleQuoteMonospaceTextElement186, expr: &litMatcher{ - pos: position{line: 2900, col: 15, offset: 95132}, + pos: position{line: 2796, col: 7, offset: 91751}, val: "`'", ignoreCase: false, want: "\"`'\"", }, }, &actionExpr{ - pos: position{line: 2906, col: 14, offset: 95236}, - run: (*parser).callonDoubleQuoteMonospaceTextElement176, + pos: position{line: 2802, col: 14, offset: 91873}, + run: (*parser).callonDoubleQuoteMonospaceTextElement188, expr: &litMatcher{ - pos: position{line: 2906, col: 14, offset: 95236}, + pos: position{line: 2802, col: 14, offset: 91873}, val: "(C)", ignoreCase: false, want: "\"(C)\"", }, }, &actionExpr{ - pos: position{line: 2910, col: 14, offset: 95302}, - run: (*parser).callonDoubleQuoteMonospaceTextElement178, + pos: position{line: 2806, col: 14, offset: 91939}, + run: (*parser).callonDoubleQuoteMonospaceTextElement190, expr: &litMatcher{ - pos: position{line: 2910, col: 14, offset: 95302}, + pos: position{line: 2806, col: 14, offset: 91939}, val: "(TM)", ignoreCase: false, want: "\"(TM)\"", }, }, &actionExpr{ - pos: position{line: 2914, col: 15, offset: 95371}, - run: (*parser).callonDoubleQuoteMonospaceTextElement180, + pos: position{line: 2810, col: 15, offset: 92008}, + run: (*parser).callonDoubleQuoteMonospaceTextElement192, expr: &litMatcher{ - pos: position{line: 2914, col: 15, offset: 95371}, + pos: position{line: 2810, col: 15, offset: 92008}, val: "(R)", ignoreCase: false, want: "\"(R)\"", }, }, &actionExpr{ - pos: position{line: 2918, col: 13, offset: 95436}, - run: (*parser).callonDoubleQuoteMonospaceTextElement182, + pos: position{line: 2814, col: 13, offset: 92073}, + run: (*parser).callonDoubleQuoteMonospaceTextElement194, expr: &litMatcher{ - pos: position{line: 2918, col: 13, offset: 95436}, + pos: position{line: 2814, col: 13, offset: 92073}, val: "...", ignoreCase: false, want: "\"...\"", }, }, &actionExpr{ - pos: position{line: 2929, col: 5, offset: 95746}, - run: (*parser).callonDoubleQuoteMonospaceTextElement184, + pos: position{line: 2825, col: 5, offset: 92383}, + run: (*parser).callonDoubleQuoteMonospaceTextElement196, expr: &seqExpr{ - pos: position{line: 2929, col: 5, offset: 95746}, + pos: position{line: 2825, col: 5, offset: 92383}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 3090, col: 13, offset: 100713}, + pos: position{line: 2986, col: 13, offset: 97350}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -55556,15 +56067,15 @@ var g = &grammar{ inverted: false, }, &litMatcher{ - pos: position{line: 2929, col: 14, offset: 95755}, + pos: position{line: 2825, col: 14, offset: 92392}, val: "\\'", ignoreCase: false, want: "\"\\\\'\"", }, &andExpr{ - pos: position{line: 2929, col: 19, offset: 95760}, + pos: position{line: 2825, col: 19, offset: 92397}, expr: &charClassMatcher{ - pos: position{line: 2929, col: 20, offset: 95761}, + pos: position{line: 2825, col: 20, offset: 92398}, val: "[\\pL]", classes: []*unicode.RangeTable{rangeTable("L")}, ignoreCase: false, @@ -55575,13 +56086,13 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2935, col: 5, offset: 95992}, - run: (*parser).callonDoubleQuoteMonospaceTextElement190, + pos: position{line: 2831, col: 5, offset: 92629}, + run: (*parser).callonDoubleQuoteMonospaceTextElement202, expr: &seqExpr{ - pos: position{line: 2935, col: 5, offset: 95992}, + pos: position{line: 2831, col: 5, offset: 92629}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 3090, col: 13, offset: 100713}, + pos: position{line: 2986, col: 13, offset: 97350}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -55589,15 +56100,15 @@ var g = &grammar{ inverted: false, }, &litMatcher{ - pos: position{line: 2935, col: 14, offset: 96001}, + pos: position{line: 2831, col: 14, offset: 92638}, val: "'", ignoreCase: false, want: "\"'\"", }, &andExpr{ - pos: position{line: 2935, col: 18, offset: 96005}, + pos: position{line: 2831, col: 18, offset: 92642}, expr: &charClassMatcher{ - pos: position{line: 2935, col: 19, offset: 96006}, + pos: position{line: 2831, col: 19, offset: 92643}, val: "[\\pL]", classes: []*unicode.RangeTable{rangeTable("L")}, ignoreCase: false, @@ -55607,42 +56118,38 @@ var g = &grammar{ }, }, }, - &ruleRefExpr{ - pos: position{line: 2277, col: 11, offset: 74935}, - name: "QuotedString", - }, &litMatcher{ - pos: position{line: 2904, col: 18, offset: 95200}, + pos: position{line: 2800, col: 18, offset: 91820}, val: "`'", ignoreCase: false, want: "\"`'\"", }, &ruleRefExpr{ - pos: position{line: 2279, col: 11, offset: 75025}, + pos: position{line: 2281, col: 11, offset: 75173}, name: "QuotedTextInDoubleQuoteMonospaceText", }, &actionExpr{ - pos: position{line: 1212, col: 23, offset: 37871}, - run: (*parser).callonDoubleQuoteMonospaceTextElement199, + pos: position{line: 1219, col: 23, offset: 38141}, + run: (*parser).callonDoubleQuoteMonospaceTextElement210, expr: &seqExpr{ - pos: position{line: 1212, col: 23, offset: 37871}, + pos: position{line: 1219, col: 23, offset: 38141}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1210, col: 32, offset: 37839}, + pos: position{line: 1217, col: 32, offset: 38109}, val: "�", ignoreCase: false, want: "\"�\"", }, &labeledExpr{ - pos: position{line: 1212, col: 51, offset: 37899}, + pos: position{line: 1219, col: 51, offset: 38169}, label: "ref", expr: &actionExpr{ - pos: position{line: 1212, col: 56, offset: 37904}, - run: (*parser).callonDoubleQuoteMonospaceTextElement203, + pos: position{line: 1219, col: 56, offset: 38174}, + run: (*parser).callonDoubleQuoteMonospaceTextElement214, expr: &oneOrMoreExpr{ - pos: position{line: 1212, col: 56, offset: 37904}, + pos: position{line: 1219, col: 56, offset: 38174}, expr: &charClassMatcher{ - pos: position{line: 1212, col: 56, offset: 37904}, + pos: position{line: 1219, col: 56, offset: 38174}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -55652,7 +56159,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1210, col: 32, offset: 37839}, + pos: position{line: 1217, col: 32, offset: 38109}, val: "�", ignoreCase: false, want: "\"�\"", @@ -55661,31 +56168,31 @@ var g = &grammar{ }, }, &charClassMatcher{ - pos: position{line: 2311, col: 5, offset: 75823}, + pos: position{line: 2313, col: 5, offset: 75971}, val: "[^\\r\\n`]", chars: []rune{'\r', '\n', '`'}, ignoreCase: false, inverted: true, }, &actionExpr{ - pos: position{line: 2312, col: 7, offset: 75925}, - run: (*parser).callonDoubleQuoteMonospaceTextElement208, + pos: position{line: 2314, col: 7, offset: 76073}, + run: (*parser).callonDoubleQuoteMonospaceTextElement219, expr: &seqExpr{ - pos: position{line: 2312, col: 7, offset: 75925}, + pos: position{line: 2314, col: 7, offset: 76073}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2312, col: 7, offset: 75925}, + pos: position{line: 2314, col: 7, offset: 76073}, val: "``", ignoreCase: false, want: "\"``\"", }, &actionExpr{ - pos: position{line: 3094, col: 14, offset: 100787}, - run: (*parser).callonDoubleQuoteMonospaceTextElement211, + pos: position{line: 2990, col: 14, offset: 97424}, + run: (*parser).callonDoubleQuoteMonospaceTextElement222, expr: &oneOrMoreExpr{ - pos: position{line: 3094, col: 14, offset: 100787}, + pos: position{line: 2990, col: 14, offset: 97424}, expr: &charClassMatcher{ - pos: position{line: 3094, col: 14, offset: 100787}, + pos: position{line: 2990, col: 14, offset: 97424}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -55706,49 +56213,49 @@ var g = &grammar{ }, { name: "QuotedTextInDoubleQuoteMonospaceText", - pos: position{line: 2285, col: 1, offset: 75189}, + pos: position{line: 2287, col: 1, offset: 75337}, expr: &choiceExpr{ - pos: position{line: 2287, col: 5, offset: 75256}, + pos: position{line: 2289, col: 5, offset: 75404}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2287, col: 5, offset: 75256}, + pos: position{line: 2289, col: 5, offset: 75404}, run: (*parser).callonQuotedTextInDoubleQuoteMonospaceText2, expr: &seqExpr{ - pos: position{line: 2287, col: 5, offset: 75256}, + pos: position{line: 2289, col: 5, offset: 75404}, exprs: []interface{}{ &andExpr{ - pos: position{line: 2287, col: 5, offset: 75256}, + pos: position{line: 2289, col: 5, offset: 75404}, expr: &litMatcher{ - pos: position{line: 2287, col: 7, offset: 75258}, + pos: position{line: 2289, col: 7, offset: 75406}, val: "\\", ignoreCase: false, want: "\"\\\\\"", }, }, &labeledExpr{ - pos: position{line: 2288, col: 5, offset: 75267}, + pos: position{line: 2290, col: 5, offset: 75415}, label: "element", expr: &choiceExpr{ - pos: position{line: 2289, col: 9, offset: 75285}, + pos: position{line: 2291, col: 9, offset: 75433}, alternatives: []interface{}{ &ruleRefExpr{ - pos: position{line: 2289, col: 9, offset: 75285}, + pos: position{line: 2291, col: 9, offset: 75433}, name: "EscapedBoldText", }, &ruleRefExpr{ - pos: position{line: 2290, col: 11, offset: 75312}, + pos: position{line: 2292, col: 11, offset: 75460}, name: "EscapedItalicText", }, &ruleRefExpr{ - pos: position{line: 2291, col: 11, offset: 75340}, + pos: position{line: 2293, col: 11, offset: 75488}, name: "EscapedMarkedText", }, &ruleRefExpr{ - pos: position{line: 2292, col: 11, offset: 75368}, + pos: position{line: 2294, col: 11, offset: 75516}, name: "EscapedSubscriptText", }, &ruleRefExpr{ - pos: position{line: 2293, col: 11, offset: 75399}, + pos: position{line: 2295, col: 11, offset: 75547}, name: "EscapedSuperscriptText", }, }, @@ -55758,50 +56265,50 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2299, col: 5, offset: 75499}, + pos: position{line: 2301, col: 5, offset: 75647}, run: (*parser).callonQuotedTextInDoubleQuoteMonospaceText13, expr: &seqExpr{ - pos: position{line: 2299, col: 5, offset: 75499}, + pos: position{line: 2301, col: 5, offset: 75647}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 2299, col: 5, offset: 75499}, + pos: position{line: 2301, col: 5, offset: 75647}, label: "attributes", expr: &zeroOrOneExpr{ - pos: position{line: 2299, col: 16, offset: 75510}, + pos: position{line: 2301, col: 16, offset: 75658}, expr: &ruleRefExpr{ - pos: position{line: 2299, col: 17, offset: 75511}, + pos: position{line: 2301, col: 17, offset: 75659}, name: "LongHandAttributes", }, }, }, &labeledExpr{ - pos: position{line: 2300, col: 5, offset: 75537}, + pos: position{line: 2302, col: 5, offset: 75685}, label: "text", expr: &choiceExpr{ - pos: position{line: 2301, col: 9, offset: 75552}, + pos: position{line: 2303, col: 9, offset: 75700}, alternatives: []interface{}{ &ruleRefExpr{ - pos: position{line: 2301, col: 9, offset: 75552}, + pos: position{line: 2303, col: 9, offset: 75700}, name: "SingleQuoteMonospaceText", }, &ruleRefExpr{ - pos: position{line: 2302, col: 11, offset: 75587}, + pos: position{line: 2304, col: 11, offset: 75735}, name: "BoldText", }, &ruleRefExpr{ - pos: position{line: 2303, col: 11, offset: 75606}, + pos: position{line: 2305, col: 11, offset: 75754}, name: "ItalicText", }, &ruleRefExpr{ - pos: position{line: 2304, col: 11, offset: 75627}, + pos: position{line: 2306, col: 11, offset: 75775}, name: "MarkedText", }, &ruleRefExpr{ - pos: position{line: 2305, col: 11, offset: 75648}, + pos: position{line: 2307, col: 11, offset: 75796}, name: "SubscriptText", }, &ruleRefExpr{ - pos: position{line: 2306, col: 11, offset: 75672}, + pos: position{line: 2308, col: 11, offset: 75820}, name: "SuperscriptText", }, }, @@ -55815,29 +56322,29 @@ var g = &grammar{ }, { name: "SingleQuoteMonospaceText", - pos: position{line: 2325, col: 1, offset: 76411}, + pos: position{line: 2327, col: 1, offset: 76559}, expr: &actionExpr{ - pos: position{line: 2326, col: 5, offset: 76444}, + pos: position{line: 2328, col: 5, offset: 76592}, run: (*parser).callonSingleQuoteMonospaceText1, expr: &seqExpr{ - pos: position{line: 2326, col: 5, offset: 76444}, + pos: position{line: 2328, col: 5, offset: 76592}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2321, col: 43, offset: 76359}, + pos: position{line: 2323, col: 43, offset: 76507}, val: "`", ignoreCase: false, want: "\"`\"", }, &labeledExpr{ - pos: position{line: 2327, col: 5, offset: 76488}, + pos: position{line: 2329, col: 5, offset: 76636}, label: "elements", expr: &ruleRefExpr{ - pos: position{line: 2327, col: 15, offset: 76498}, + pos: position{line: 2329, col: 15, offset: 76646}, name: "SingleQuoteMonospaceTextElements", }, }, &litMatcher{ - pos: position{line: 2323, col: 41, offset: 76405}, + pos: position{line: 2325, col: 41, offset: 76553}, val: "`", ignoreCase: false, want: "\"`\"", @@ -55848,29 +56355,29 @@ var g = &grammar{ }, { name: "SingleQuoteMonospaceTextElements", - pos: position{line: 2332, col: 1, offset: 76674}, + pos: position{line: 2334, col: 1, offset: 76822}, expr: &actionExpr{ - pos: position{line: 2333, col: 5, offset: 76715}, + pos: position{line: 2335, col: 5, offset: 76863}, run: (*parser).callonSingleQuoteMonospaceTextElements1, expr: &seqExpr{ - pos: position{line: 2333, col: 5, offset: 76715}, + pos: position{line: 2335, col: 5, offset: 76863}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 2333, col: 5, offset: 76715}, + pos: position{line: 2335, col: 5, offset: 76863}, expr: ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, ¬Expr{ - pos: position{line: 2333, col: 10, offset: 76720}, + pos: position{line: 2335, col: 10, offset: 76868}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonSingleQuoteMonospaceTextElements7, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -55879,18 +56386,18 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 2334, col: 5, offset: 76759}, + pos: position{line: 2336, col: 5, offset: 76907}, label: "elements", expr: &oneOrMoreExpr{ - pos: position{line: 2334, col: 14, offset: 76768}, + pos: position{line: 2336, col: 14, offset: 76916}, expr: &ruleRefExpr{ - pos: position{line: 2334, col: 15, offset: 76769}, + pos: position{line: 2336, col: 15, offset: 76917}, name: "SingleQuoteMonospaceTextElement", }, }, }, &andCodeExpr{ - pos: position{line: 2335, col: 5, offset: 76807}, + pos: position{line: 2337, col: 5, offset: 76955}, run: (*parser).callonSingleQuoteMonospaceTextElements12, }, }, @@ -55899,20 +56406,20 @@ var g = &grammar{ }, { name: "SingleQuoteMonospaceTextElement", - pos: position{line: 2341, col: 1, offset: 76948}, + pos: position{line: 2343, col: 1, offset: 77096}, expr: &choiceExpr{ - pos: position{line: 2342, col: 5, offset: 76989}, + pos: position{line: 2344, col: 5, offset: 77137}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3102, col: 5, offset: 101168}, + pos: position{line: 2998, col: 5, offset: 97805}, run: (*parser).callonSingleQuoteMonospaceTextElement2, expr: &seqExpr{ - pos: position{line: 3102, col: 5, offset: 101168}, + pos: position{line: 2998, col: 5, offset: 97805}, exprs: []interface{}{ &oneOrMoreExpr{ - pos: position{line: 3102, col: 5, offset: 101168}, + pos: position{line: 2998, col: 5, offset: 97805}, expr: &charClassMatcher{ - pos: position{line: 3102, col: 5, offset: 101168}, + pos: position{line: 2998, col: 5, offset: 97805}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -55921,21 +56428,21 @@ var g = &grammar{ }, }, &andExpr{ - pos: position{line: 3102, col: 15, offset: 101178}, + pos: position{line: 2998, col: 15, offset: 97815}, expr: &choiceExpr{ - pos: position{line: 3102, col: 17, offset: 101180}, + pos: position{line: 2998, col: 17, offset: 97817}, alternatives: []interface{}{ &charClassMatcher{ - pos: position{line: 3102, col: 17, offset: 101180}, + pos: position{line: 2998, col: 17, offset: 97817}, val: "[\\r\\n ,]]", chars: []rune{'\r', '\n', ' ', ',', ']'}, ignoreCase: false, inverted: false, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -55945,15 +56452,15 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 3104, col: 9, offset: 101262}, + pos: position{line: 3000, col: 9, offset: 97899}, run: (*parser).callonSingleQuoteMonospaceTextElement11, expr: &seqExpr{ - pos: position{line: 3104, col: 9, offset: 101262}, + pos: position{line: 3000, col: 9, offset: 97899}, exprs: []interface{}{ &oneOrMoreExpr{ - pos: position{line: 3104, col: 9, offset: 101262}, + pos: position{line: 3000, col: 9, offset: 97899}, expr: &charClassMatcher{ - pos: position{line: 3104, col: 9, offset: 101262}, + pos: position{line: 3000, col: 9, offset: 97899}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -55962,21 +56469,21 @@ var g = &grammar{ }, }, &oneOrMoreExpr{ - pos: position{line: 3104, col: 19, offset: 101272}, + pos: position{line: 3000, col: 19, offset: 97909}, expr: &seqExpr{ - pos: position{line: 3104, col: 20, offset: 101273}, + pos: position{line: 3000, col: 20, offset: 97910}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 3104, col: 20, offset: 101273}, + pos: position{line: 3000, col: 20, offset: 97910}, val: "[=*_`]", chars: []rune{'=', '*', '_', '`'}, ignoreCase: false, inverted: false, }, &oneOrMoreExpr{ - pos: position{line: 3104, col: 27, offset: 101280}, + pos: position{line: 3000, col: 27, offset: 97917}, expr: &charClassMatcher{ - pos: position{line: 3104, col: 27, offset: 101280}, + pos: position{line: 3000, col: 27, offset: 97917}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -55991,12 +56498,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 3180, col: 11, offset: 103464}, + pos: position{line: 3076, col: 11, offset: 100101}, run: (*parser).callonSingleQuoteMonospaceTextElement20, expr: &oneOrMoreExpr{ - pos: position{line: 3180, col: 11, offset: 103464}, + pos: position{line: 3076, col: 11, offset: 100101}, expr: &charClassMatcher{ - pos: position{line: 3180, col: 12, offset: 103465}, + pos: position{line: 3076, col: 12, offset: 100102}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -56005,28 +56512,28 @@ var g = &grammar{ }, }, &seqExpr{ - pos: position{line: 2344, col: 7, offset: 77014}, + pos: position{line: 2346, col: 7, offset: 77162}, exprs: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonSingleQuoteMonospaceTextElement24, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -56035,27 +56542,27 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2344, col: 15, offset: 77022}, + pos: position{line: 2346, col: 15, offset: 77170}, expr: &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonSingleQuoteMonospaceTextElement30, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -56067,35 +56574,35 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 641, col: 5, offset: 20613}, + pos: position{line: 648, col: 5, offset: 20883}, run: (*parser).callonSingleQuoteMonospaceTextElement35, expr: &seqExpr{ - pos: position{line: 641, col: 5, offset: 20613}, + pos: position{line: 648, col: 5, offset: 20883}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 641, col: 5, offset: 20613}, + pos: position{line: 648, col: 5, offset: 20883}, run: (*parser).callonSingleQuoteMonospaceTextElement37, }, &labeledExpr{ - pos: position{line: 644, col: 5, offset: 20682}, + pos: position{line: 651, col: 5, offset: 20952}, label: "element", expr: &choiceExpr{ - pos: position{line: 644, col: 14, offset: 20691}, + pos: position{line: 651, col: 14, offset: 20961}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 664, col: 25, offset: 21344}, + pos: position{line: 671, col: 25, offset: 21614}, run: (*parser).callonSingleQuoteMonospaceTextElement40, expr: &seqExpr{ - pos: position{line: 664, col: 25, offset: 21344}, + pos: position{line: 671, col: 25, offset: 21614}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 664, col: 25, offset: 21344}, + pos: position{line: 671, col: 25, offset: 21614}, val: "{counter:", ignoreCase: false, want: "\"{counter:\"", }, &labeledExpr{ - pos: position{line: 664, col: 37, offset: 21356}, + pos: position{line: 671, col: 37, offset: 21626}, label: "name", expr: &actionExpr{ pos: position{line: 324, col: 18, offset: 10072}, @@ -56129,33 +56636,33 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 664, col: 56, offset: 21375}, + pos: position{line: 671, col: 56, offset: 21645}, label: "start", expr: &zeroOrOneExpr{ - pos: position{line: 664, col: 62, offset: 21381}, + pos: position{line: 671, col: 62, offset: 21651}, expr: &actionExpr{ - pos: position{line: 672, col: 17, offset: 21676}, + pos: position{line: 679, col: 17, offset: 21946}, run: (*parser).callonSingleQuoteMonospaceTextElement51, expr: &seqExpr{ - pos: position{line: 672, col: 17, offset: 21676}, + pos: position{line: 679, col: 17, offset: 21946}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 672, col: 17, offset: 21676}, + pos: position{line: 679, col: 17, offset: 21946}, val: ":", ignoreCase: false, want: "\":\"", }, &labeledExpr{ - pos: position{line: 672, col: 21, offset: 21680}, + pos: position{line: 679, col: 21, offset: 21950}, label: "start", expr: &choiceExpr{ - pos: position{line: 672, col: 28, offset: 21687}, + pos: position{line: 679, col: 28, offset: 21957}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 672, col: 28, offset: 21687}, + pos: position{line: 679, col: 28, offset: 21957}, run: (*parser).callonSingleQuoteMonospaceTextElement56, expr: &charClassMatcher{ - pos: position{line: 672, col: 28, offset: 21687}, + pos: position{line: 679, col: 28, offset: 21957}, val: "[A-Za-z]", ranges: []rune{'A', 'Z', 'a', 'z'}, ignoreCase: false, @@ -56163,12 +56670,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 674, col: 9, offset: 21741}, + pos: position{line: 681, col: 9, offset: 22011}, run: (*parser).callonSingleQuoteMonospaceTextElement58, expr: &oneOrMoreExpr{ - pos: position{line: 674, col: 9, offset: 21741}, + pos: position{line: 681, col: 9, offset: 22011}, expr: &charClassMatcher{ - pos: position{line: 674, col: 9, offset: 21741}, + pos: position{line: 681, col: 9, offset: 22011}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -56185,7 +56692,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 664, col: 78, offset: 21397}, + pos: position{line: 671, col: 78, offset: 21667}, val: "}", ignoreCase: false, want: "\"}\"", @@ -56194,19 +56701,19 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 668, col: 25, offset: 21515}, + pos: position{line: 675, col: 25, offset: 21785}, run: (*parser).callonSingleQuoteMonospaceTextElement62, expr: &seqExpr{ - pos: position{line: 668, col: 25, offset: 21515}, + pos: position{line: 675, col: 25, offset: 21785}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 668, col: 25, offset: 21515}, + pos: position{line: 675, col: 25, offset: 21785}, val: "{counter2:", ignoreCase: false, want: "\"{counter2:\"", }, &labeledExpr{ - pos: position{line: 668, col: 38, offset: 21528}, + pos: position{line: 675, col: 38, offset: 21798}, label: "name", expr: &actionExpr{ pos: position{line: 324, col: 18, offset: 10072}, @@ -56240,33 +56747,33 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 668, col: 57, offset: 21547}, + pos: position{line: 675, col: 57, offset: 21817}, label: "start", expr: &zeroOrOneExpr{ - pos: position{line: 668, col: 63, offset: 21553}, + pos: position{line: 675, col: 63, offset: 21823}, expr: &actionExpr{ - pos: position{line: 672, col: 17, offset: 21676}, + pos: position{line: 679, col: 17, offset: 21946}, run: (*parser).callonSingleQuoteMonospaceTextElement73, expr: &seqExpr{ - pos: position{line: 672, col: 17, offset: 21676}, + pos: position{line: 679, col: 17, offset: 21946}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 672, col: 17, offset: 21676}, + pos: position{line: 679, col: 17, offset: 21946}, val: ":", ignoreCase: false, want: "\":\"", }, &labeledExpr{ - pos: position{line: 672, col: 21, offset: 21680}, + pos: position{line: 679, col: 21, offset: 21950}, label: "start", expr: &choiceExpr{ - pos: position{line: 672, col: 28, offset: 21687}, + pos: position{line: 679, col: 28, offset: 21957}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 672, col: 28, offset: 21687}, + pos: position{line: 679, col: 28, offset: 21957}, run: (*parser).callonSingleQuoteMonospaceTextElement78, expr: &charClassMatcher{ - pos: position{line: 672, col: 28, offset: 21687}, + pos: position{line: 679, col: 28, offset: 21957}, val: "[A-Za-z]", ranges: []rune{'A', 'Z', 'a', 'z'}, ignoreCase: false, @@ -56274,12 +56781,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 674, col: 9, offset: 21741}, + pos: position{line: 681, col: 9, offset: 22011}, run: (*parser).callonSingleQuoteMonospaceTextElement80, expr: &oneOrMoreExpr{ - pos: position{line: 674, col: 9, offset: 21741}, + pos: position{line: 681, col: 9, offset: 22011}, expr: &charClassMatcher{ - pos: position{line: 674, col: 9, offset: 21741}, + pos: position{line: 681, col: 9, offset: 22011}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -56296,7 +56803,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 668, col: 79, offset: 21569}, + pos: position{line: 675, col: 79, offset: 21839}, val: "}", ignoreCase: false, want: "\"}\"", @@ -56305,19 +56812,19 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 650, col: 5, offset: 20820}, + pos: position{line: 657, col: 5, offset: 21090}, run: (*parser).callonSingleQuoteMonospaceTextElement84, expr: &seqExpr{ - pos: position{line: 650, col: 5, offset: 20820}, + pos: position{line: 657, col: 5, offset: 21090}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 650, col: 5, offset: 20820}, + pos: position{line: 657, col: 5, offset: 21090}, val: "\\{", ignoreCase: false, want: "\"\\\\{\"", }, &labeledExpr{ - pos: position{line: 650, col: 13, offset: 20828}, + pos: position{line: 657, col: 13, offset: 21098}, label: "name", expr: &actionExpr{ pos: position{line: 324, col: 18, offset: 10072}, @@ -56351,7 +56858,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 650, col: 32, offset: 20847}, + pos: position{line: 657, col: 32, offset: 21117}, val: "}", ignoreCase: false, want: "\"}\"", @@ -56360,19 +56867,19 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 657, col: 5, offset: 21088}, + pos: position{line: 664, col: 5, offset: 21358}, run: (*parser).callonSingleQuoteMonospaceTextElement94, expr: &seqExpr{ - pos: position{line: 657, col: 5, offset: 21088}, + pos: position{line: 664, col: 5, offset: 21358}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 657, col: 5, offset: 21088}, + pos: position{line: 664, col: 5, offset: 21358}, val: "{", ignoreCase: false, want: "\"{\"", }, &labeledExpr{ - pos: position{line: 657, col: 9, offset: 21092}, + pos: position{line: 664, col: 9, offset: 21362}, label: "name", expr: &actionExpr{ pos: position{line: 324, col: 18, offset: 10072}, @@ -56406,7 +56913,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 657, col: 28, offset: 21111}, + pos: position{line: 664, col: 28, offset: 21381}, val: "}", ignoreCase: false, want: "\"}\"", @@ -56421,53 +56928,53 @@ var g = &grammar{ }, }, &ruleRefExpr{ - pos: position{line: 2346, col: 7, offset: 77096}, + pos: position{line: 2348, col: 7, offset: 77244}, name: "InlineMacro", }, &actionExpr{ - pos: position{line: 2859, col: 5, offset: 93679}, + pos: position{line: 2745, col: 5, offset: 90112}, run: (*parser).callonSingleQuoteMonospaceTextElement105, expr: &seqExpr{ - pos: position{line: 2859, col: 5, offset: 93679}, + pos: position{line: 2745, col: 5, offset: 90112}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 2859, col: 5, offset: 93679}, + pos: position{line: 2745, col: 5, offset: 90112}, run: (*parser).callonSingleQuoteMonospaceTextElement107, }, &labeledExpr{ - pos: position{line: 2862, col: 5, offset: 93755}, + pos: position{line: 2748, col: 5, offset: 90188}, label: "element", expr: &choiceExpr{ - pos: position{line: 2864, col: 9, offset: 93853}, + pos: position{line: 2750, col: 9, offset: 90286}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2864, col: 9, offset: 93853}, + pos: position{line: 2750, col: 9, offset: 90286}, run: (*parser).callonSingleQuoteMonospaceTextElement110, expr: &choiceExpr{ - pos: position{line: 692, col: 27, offset: 22395}, + pos: position{line: 699, col: 27, offset: 22665}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 692, col: 27, offset: 22395}, + pos: position{line: 699, col: 27, offset: 22665}, run: (*parser).callonSingleQuoteMonospaceTextElement112, expr: &seqExpr{ - pos: position{line: 692, col: 27, offset: 22395}, + pos: position{line: 699, col: 27, offset: 22665}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 692, col: 27, offset: 22395}, + pos: position{line: 699, col: 27, offset: 22665}, val: "<<", ignoreCase: false, want: "\"<<\"", }, &labeledExpr{ - pos: position{line: 692, col: 32, offset: 22400}, + pos: position{line: 699, col: 32, offset: 22670}, label: "id", expr: &actionExpr{ - pos: position{line: 3161, col: 7, offset: 103049}, + pos: position{line: 3057, col: 7, offset: 99686}, run: (*parser).callonSingleQuoteMonospaceTextElement116, expr: &oneOrMoreExpr{ - pos: position{line: 3161, col: 7, offset: 103049}, + pos: position{line: 3057, col: 7, offset: 99686}, expr: &charClassMatcher{ - pos: position{line: 3161, col: 7, offset: 103049}, + pos: position{line: 3057, col: 7, offset: 99686}, val: "[^[]<>,]", chars: []rune{'[', ']', '<', '>', ','}, ignoreCase: false, @@ -56477,12 +56984,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 692, col: 40, offset: 22408}, + pos: position{line: 699, col: 40, offset: 22678}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonSingleQuoteMonospaceTextElement120, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -56491,27 +56998,27 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 692, col: 47, offset: 22415}, + pos: position{line: 699, col: 47, offset: 22685}, val: ",", ignoreCase: false, want: "\",\"", }, &labeledExpr{ - pos: position{line: 692, col: 51, offset: 22419}, + pos: position{line: 699, col: 51, offset: 22689}, label: "label", expr: &oneOrMoreExpr{ - pos: position{line: 702, col: 24, offset: 22820}, + pos: position{line: 709, col: 24, offset: 23090}, expr: &choiceExpr{ - pos: position{line: 703, col: 5, offset: 22826}, + pos: position{line: 710, col: 5, offset: 23096}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 703, col: 6, offset: 22827}, + pos: position{line: 710, col: 6, offset: 23097}, run: (*parser).callonSingleQuoteMonospaceTextElement126, expr: &seqExpr{ - pos: position{line: 703, col: 6, offset: 22827}, + pos: position{line: 710, col: 6, offset: 23097}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 703, col: 6, offset: 22827}, + pos: position{line: 710, col: 6, offset: 23097}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -56519,9 +57026,9 @@ var g = &grammar{ inverted: false, }, &oneOrMoreExpr{ - pos: position{line: 703, col: 14, offset: 22835}, + pos: position{line: 710, col: 14, offset: 23105}, expr: &charClassMatcher{ - pos: position{line: 703, col: 14, offset: 22835}, + pos: position{line: 710, col: 14, offset: 23105}, val: "[^\\r\\n{<>]", chars: []rune{'\r', '\n', '{', '<', '>'}, ignoreCase: false, @@ -56532,19 +57039,19 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 650, col: 5, offset: 20820}, + pos: position{line: 657, col: 5, offset: 21090}, run: (*parser).callonSingleQuoteMonospaceTextElement131, expr: &seqExpr{ - pos: position{line: 650, col: 5, offset: 20820}, + pos: position{line: 657, col: 5, offset: 21090}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 650, col: 5, offset: 20820}, + pos: position{line: 657, col: 5, offset: 21090}, val: "\\{", ignoreCase: false, want: "\"\\\\{\"", }, &labeledExpr{ - pos: position{line: 650, col: 13, offset: 20828}, + pos: position{line: 657, col: 13, offset: 21098}, label: "name", expr: &actionExpr{ pos: position{line: 324, col: 18, offset: 10072}, @@ -56578,7 +57085,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 650, col: 32, offset: 20847}, + pos: position{line: 657, col: 32, offset: 21117}, val: "}", ignoreCase: false, want: "\"}\"", @@ -56587,19 +57094,19 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 657, col: 5, offset: 21088}, + pos: position{line: 664, col: 5, offset: 21358}, run: (*parser).callonSingleQuoteMonospaceTextElement141, expr: &seqExpr{ - pos: position{line: 657, col: 5, offset: 21088}, + pos: position{line: 664, col: 5, offset: 21358}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 657, col: 5, offset: 21088}, + pos: position{line: 664, col: 5, offset: 21358}, val: "{", ignoreCase: false, want: "\"{\"", }, &labeledExpr{ - pos: position{line: 657, col: 9, offset: 21092}, + pos: position{line: 664, col: 9, offset: 21362}, label: "name", expr: &actionExpr{ pos: position{line: 324, col: 18, offset: 10072}, @@ -56633,7 +57140,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 657, col: 28, offset: 21111}, + pos: position{line: 664, col: 28, offset: 21381}, val: "}", ignoreCase: false, want: "\"}\"", @@ -56642,10 +57149,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 707, col: 8, offset: 23061}, + pos: position{line: 714, col: 8, offset: 23331}, run: (*parser).callonSingleQuoteMonospaceTextElement151, expr: &litMatcher{ - pos: position{line: 707, col: 8, offset: 23061}, + pos: position{line: 714, col: 8, offset: 23331}, val: "{", ignoreCase: false, want: "\"{\"", @@ -56656,7 +57163,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 692, col: 79, offset: 22447}, + pos: position{line: 699, col: 79, offset: 22717}, val: ">>", ignoreCase: false, want: "\">>\"", @@ -56665,27 +57172,27 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 694, col: 9, offset: 22520}, + pos: position{line: 701, col: 9, offset: 22790}, run: (*parser).callonSingleQuoteMonospaceTextElement154, expr: &seqExpr{ - pos: position{line: 694, col: 9, offset: 22520}, + pos: position{line: 701, col: 9, offset: 22790}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 694, col: 9, offset: 22520}, + pos: position{line: 701, col: 9, offset: 22790}, val: "<<", ignoreCase: false, want: "\"<<\"", }, &labeledExpr{ - pos: position{line: 694, col: 14, offset: 22525}, + pos: position{line: 701, col: 14, offset: 22795}, label: "id", expr: &actionExpr{ - pos: position{line: 3161, col: 7, offset: 103049}, + pos: position{line: 3057, col: 7, offset: 99686}, run: (*parser).callonSingleQuoteMonospaceTextElement158, expr: &oneOrMoreExpr{ - pos: position{line: 3161, col: 7, offset: 103049}, + pos: position{line: 3057, col: 7, offset: 99686}, expr: &charClassMatcher{ - pos: position{line: 3161, col: 7, offset: 103049}, + pos: position{line: 3057, col: 7, offset: 99686}, val: "[^[]<>,]", chars: []rune{'[', ']', '<', '>', ','}, ignoreCase: false, @@ -56695,7 +57202,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 694, col: 22, offset: 22533}, + pos: position{line: 701, col: 22, offset: 22803}, val: ">>", ignoreCase: false, want: "\">>\"", @@ -56707,10 +57214,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2867, col: 11, offset: 93957}, + pos: position{line: 2753, col: 11, offset: 90390}, run: (*parser).callonSingleQuoteMonospaceTextElement162, expr: &charClassMatcher{ - pos: position{line: 2867, col: 12, offset: 93958}, + pos: position{line: 2753, col: 12, offset: 90391}, val: "[<>&]", chars: []rune{'<', '>', '&'}, ignoreCase: false, @@ -56724,65 +57231,95 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2892, col: 5, offset: 94851}, + pos: position{line: 2778, col: 5, offset: 91284}, run: (*parser).callonSingleQuoteMonospaceTextElement164, expr: &seqExpr{ - pos: position{line: 2892, col: 5, offset: 94851}, + pos: position{line: 2778, col: 5, offset: 91284}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2892, col: 5, offset: 94851}, + pos: position{line: 2778, col: 5, offset: 91284}, val: "\\", ignoreCase: false, want: "\"\\\\\"", }, &choiceExpr{ - pos: position{line: 2892, col: 10, offset: 94856}, + pos: position{line: 2778, col: 10, offset: 91289}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2900, col: 15, offset: 95132}, + pos: position{line: 2787, col: 5, offset: 91579}, run: (*parser).callonSingleQuoteMonospaceTextElement168, expr: &litMatcher{ - pos: position{line: 2900, col: 15, offset: 95132}, + pos: position{line: 2787, col: 5, offset: 91579}, + val: "\"`", + ignoreCase: false, + want: "\"\\\"`\"", + }, + }, + &actionExpr{ + pos: position{line: 2790, col: 7, offset: 91637}, + run: (*parser).callonSingleQuoteMonospaceTextElement170, + expr: &litMatcher{ + pos: position{line: 2790, col: 7, offset: 91637}, + val: "`\"", + ignoreCase: false, + want: "\"`\\\"\"", + }, + }, + &actionExpr{ + pos: position{line: 2793, col: 7, offset: 91695}, + run: (*parser).callonSingleQuoteMonospaceTextElement172, + expr: &litMatcher{ + pos: position{line: 2793, col: 7, offset: 91695}, + val: "'`", + ignoreCase: false, + want: "\"'`\"", + }, + }, + &actionExpr{ + pos: position{line: 2796, col: 7, offset: 91751}, + run: (*parser).callonSingleQuoteMonospaceTextElement174, + expr: &litMatcher{ + pos: position{line: 2796, col: 7, offset: 91751}, val: "`'", ignoreCase: false, want: "\"`'\"", }, }, &actionExpr{ - pos: position{line: 2906, col: 14, offset: 95236}, - run: (*parser).callonSingleQuoteMonospaceTextElement170, + pos: position{line: 2802, col: 14, offset: 91873}, + run: (*parser).callonSingleQuoteMonospaceTextElement176, expr: &litMatcher{ - pos: position{line: 2906, col: 14, offset: 95236}, + pos: position{line: 2802, col: 14, offset: 91873}, val: "(C)", ignoreCase: false, want: "\"(C)\"", }, }, &actionExpr{ - pos: position{line: 2910, col: 14, offset: 95302}, - run: (*parser).callonSingleQuoteMonospaceTextElement172, + pos: position{line: 2806, col: 14, offset: 91939}, + run: (*parser).callonSingleQuoteMonospaceTextElement178, expr: &litMatcher{ - pos: position{line: 2910, col: 14, offset: 95302}, + pos: position{line: 2806, col: 14, offset: 91939}, val: "(TM)", ignoreCase: false, want: "\"(TM)\"", }, }, &actionExpr{ - pos: position{line: 2914, col: 15, offset: 95371}, - run: (*parser).callonSingleQuoteMonospaceTextElement174, + pos: position{line: 2810, col: 15, offset: 92008}, + run: (*parser).callonSingleQuoteMonospaceTextElement180, expr: &litMatcher{ - pos: position{line: 2914, col: 15, offset: 95371}, + pos: position{line: 2810, col: 15, offset: 92008}, val: "(R)", ignoreCase: false, want: "\"(R)\"", }, }, &actionExpr{ - pos: position{line: 2918, col: 13, offset: 95436}, - run: (*parser).callonSingleQuoteMonospaceTextElement176, + pos: position{line: 2814, col: 13, offset: 92073}, + run: (*parser).callonSingleQuoteMonospaceTextElement182, expr: &litMatcher{ - pos: position{line: 2918, col: 13, offset: 95436}, + pos: position{line: 2814, col: 13, offset: 92073}, val: "...", ignoreCase: false, want: "\"...\"", @@ -56794,63 +57331,93 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2900, col: 15, offset: 95132}, - run: (*parser).callonSingleQuoteMonospaceTextElement178, + pos: position{line: 2787, col: 5, offset: 91579}, + run: (*parser).callonSingleQuoteMonospaceTextElement184, + expr: &litMatcher{ + pos: position{line: 2787, col: 5, offset: 91579}, + val: "\"`", + ignoreCase: false, + want: "\"\\\"`\"", + }, + }, + &actionExpr{ + pos: position{line: 2790, col: 7, offset: 91637}, + run: (*parser).callonSingleQuoteMonospaceTextElement186, expr: &litMatcher{ - pos: position{line: 2900, col: 15, offset: 95132}, + pos: position{line: 2790, col: 7, offset: 91637}, + val: "`\"", + ignoreCase: false, + want: "\"`\\\"\"", + }, + }, + &actionExpr{ + pos: position{line: 2793, col: 7, offset: 91695}, + run: (*parser).callonSingleQuoteMonospaceTextElement188, + expr: &litMatcher{ + pos: position{line: 2793, col: 7, offset: 91695}, + val: "'`", + ignoreCase: false, + want: "\"'`\"", + }, + }, + &actionExpr{ + pos: position{line: 2796, col: 7, offset: 91751}, + run: (*parser).callonSingleQuoteMonospaceTextElement190, + expr: &litMatcher{ + pos: position{line: 2796, col: 7, offset: 91751}, val: "`'", ignoreCase: false, want: "\"`'\"", }, }, &actionExpr{ - pos: position{line: 2906, col: 14, offset: 95236}, - run: (*parser).callonSingleQuoteMonospaceTextElement180, + pos: position{line: 2802, col: 14, offset: 91873}, + run: (*parser).callonSingleQuoteMonospaceTextElement192, expr: &litMatcher{ - pos: position{line: 2906, col: 14, offset: 95236}, + pos: position{line: 2802, col: 14, offset: 91873}, val: "(C)", ignoreCase: false, want: "\"(C)\"", }, }, &actionExpr{ - pos: position{line: 2910, col: 14, offset: 95302}, - run: (*parser).callonSingleQuoteMonospaceTextElement182, + pos: position{line: 2806, col: 14, offset: 91939}, + run: (*parser).callonSingleQuoteMonospaceTextElement194, expr: &litMatcher{ - pos: position{line: 2910, col: 14, offset: 95302}, + pos: position{line: 2806, col: 14, offset: 91939}, val: "(TM)", ignoreCase: false, want: "\"(TM)\"", }, }, &actionExpr{ - pos: position{line: 2914, col: 15, offset: 95371}, - run: (*parser).callonSingleQuoteMonospaceTextElement184, + pos: position{line: 2810, col: 15, offset: 92008}, + run: (*parser).callonSingleQuoteMonospaceTextElement196, expr: &litMatcher{ - pos: position{line: 2914, col: 15, offset: 95371}, + pos: position{line: 2810, col: 15, offset: 92008}, val: "(R)", ignoreCase: false, want: "\"(R)\"", }, }, &actionExpr{ - pos: position{line: 2918, col: 13, offset: 95436}, - run: (*parser).callonSingleQuoteMonospaceTextElement186, + pos: position{line: 2814, col: 13, offset: 92073}, + run: (*parser).callonSingleQuoteMonospaceTextElement198, expr: &litMatcher{ - pos: position{line: 2918, col: 13, offset: 95436}, + pos: position{line: 2814, col: 13, offset: 92073}, val: "...", ignoreCase: false, want: "\"...\"", }, }, &actionExpr{ - pos: position{line: 2929, col: 5, offset: 95746}, - run: (*parser).callonSingleQuoteMonospaceTextElement188, + pos: position{line: 2825, col: 5, offset: 92383}, + run: (*parser).callonSingleQuoteMonospaceTextElement200, expr: &seqExpr{ - pos: position{line: 2929, col: 5, offset: 95746}, + pos: position{line: 2825, col: 5, offset: 92383}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 3090, col: 13, offset: 100713}, + pos: position{line: 2986, col: 13, offset: 97350}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -56858,15 +57425,15 @@ var g = &grammar{ inverted: false, }, &litMatcher{ - pos: position{line: 2929, col: 14, offset: 95755}, + pos: position{line: 2825, col: 14, offset: 92392}, val: "\\'", ignoreCase: false, want: "\"\\\\'\"", }, &andExpr{ - pos: position{line: 2929, col: 19, offset: 95760}, + pos: position{line: 2825, col: 19, offset: 92397}, expr: &charClassMatcher{ - pos: position{line: 2929, col: 20, offset: 95761}, + pos: position{line: 2825, col: 20, offset: 92398}, val: "[\\pL]", classes: []*unicode.RangeTable{rangeTable("L")}, ignoreCase: false, @@ -56877,13 +57444,13 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2935, col: 5, offset: 95992}, - run: (*parser).callonSingleQuoteMonospaceTextElement194, + pos: position{line: 2831, col: 5, offset: 92629}, + run: (*parser).callonSingleQuoteMonospaceTextElement206, expr: &seqExpr{ - pos: position{line: 2935, col: 5, offset: 95992}, + pos: position{line: 2831, col: 5, offset: 92629}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 3090, col: 13, offset: 100713}, + pos: position{line: 2986, col: 13, offset: 97350}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -56891,15 +57458,15 @@ var g = &grammar{ inverted: false, }, &litMatcher{ - pos: position{line: 2935, col: 14, offset: 96001}, + pos: position{line: 2831, col: 14, offset: 92638}, val: "'", ignoreCase: false, want: "\"'\"", }, &andExpr{ - pos: position{line: 2935, col: 18, offset: 96005}, + pos: position{line: 2831, col: 18, offset: 92642}, expr: &charClassMatcher{ - pos: position{line: 2935, col: 19, offset: 96006}, + pos: position{line: 2831, col: 19, offset: 92643}, val: "[\\pL]", classes: []*unicode.RangeTable{rangeTable("L")}, ignoreCase: false, @@ -56910,41 +57477,37 @@ var g = &grammar{ }, }, &ruleRefExpr{ - pos: position{line: 2349, col: 7, offset: 77200}, - name: "QuotedString", - }, - &ruleRefExpr{ - pos: position{line: 2350, col: 7, offset: 77219}, + pos: position{line: 2351, col: 7, offset: 77348}, name: "QuotedTextInSingleQuoteMonospaceText", }, &litMatcher{ - pos: position{line: 2904, col: 18, offset: 95200}, + pos: position{line: 2800, col: 18, offset: 91820}, val: "`'", ignoreCase: false, want: "\"`'\"", }, &actionExpr{ - pos: position{line: 1212, col: 23, offset: 37871}, - run: (*parser).callonSingleQuoteMonospaceTextElement203, + pos: position{line: 1219, col: 23, offset: 38141}, + run: (*parser).callonSingleQuoteMonospaceTextElement214, expr: &seqExpr{ - pos: position{line: 1212, col: 23, offset: 37871}, + pos: position{line: 1219, col: 23, offset: 38141}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1210, col: 32, offset: 37839}, + pos: position{line: 1217, col: 32, offset: 38109}, val: "�", ignoreCase: false, want: "\"�\"", }, &labeledExpr{ - pos: position{line: 1212, col: 51, offset: 37899}, + pos: position{line: 1219, col: 51, offset: 38169}, label: "ref", expr: &actionExpr{ - pos: position{line: 1212, col: 56, offset: 37904}, - run: (*parser).callonSingleQuoteMonospaceTextElement207, + pos: position{line: 1219, col: 56, offset: 38174}, + run: (*parser).callonSingleQuoteMonospaceTextElement218, expr: &oneOrMoreExpr{ - pos: position{line: 1212, col: 56, offset: 37904}, + pos: position{line: 1219, col: 56, offset: 38174}, expr: &charClassMatcher{ - pos: position{line: 1212, col: 56, offset: 37904}, + pos: position{line: 1219, col: 56, offset: 38174}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -56954,7 +57517,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1210, col: 32, offset: 37839}, + pos: position{line: 1217, col: 32, offset: 38109}, val: "�", ignoreCase: false, want: "\"�\"", @@ -56963,34 +57526,34 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2381, col: 5, offset: 77984}, - run: (*parser).callonSingleQuoteMonospaceTextElement211, + pos: position{line: 2382, col: 5, offset: 78113}, + run: (*parser).callonSingleQuoteMonospaceTextElement222, expr: &choiceExpr{ - pos: position{line: 2381, col: 6, offset: 77985}, + pos: position{line: 2382, col: 6, offset: 78114}, alternatives: []interface{}{ &charClassMatcher{ - pos: position{line: 2381, col: 6, offset: 77985}, + pos: position{line: 2382, col: 6, offset: 78114}, val: "[^\\r\\n` ]", chars: []rune{'\r', '\n', '`', ' '}, ignoreCase: false, inverted: true, }, &seqExpr{ - pos: position{line: 2382, col: 7, offset: 78097}, + pos: position{line: 2383, col: 7, offset: 78226}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2246, col: 27, offset: 73897}, + pos: position{line: 2249, col: 27, offset: 74068}, val: "`", ignoreCase: false, want: "\"`\"", }, &actionExpr{ - pos: position{line: 3094, col: 14, offset: 100787}, - run: (*parser).callonSingleQuoteMonospaceTextElement216, + pos: position{line: 2990, col: 14, offset: 97424}, + run: (*parser).callonSingleQuoteMonospaceTextElement227, expr: &oneOrMoreExpr{ - pos: position{line: 3094, col: 14, offset: 100787}, + pos: position{line: 2990, col: 14, offset: 97424}, expr: &charClassMatcher{ - pos: position{line: 3094, col: 14, offset: 100787}, + pos: position{line: 2990, col: 14, offset: 97424}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -57009,49 +57572,49 @@ var g = &grammar{ }, { name: "QuotedTextInSingleQuoteMonospaceText", - pos: position{line: 2355, col: 1, offset: 77350}, + pos: position{line: 2356, col: 1, offset: 77479}, expr: &choiceExpr{ - pos: position{line: 2357, col: 5, offset: 77417}, + pos: position{line: 2358, col: 5, offset: 77546}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2357, col: 5, offset: 77417}, + pos: position{line: 2358, col: 5, offset: 77546}, run: (*parser).callonQuotedTextInSingleQuoteMonospaceText2, expr: &seqExpr{ - pos: position{line: 2357, col: 5, offset: 77417}, + pos: position{line: 2358, col: 5, offset: 77546}, exprs: []interface{}{ &andExpr{ - pos: position{line: 2357, col: 5, offset: 77417}, + pos: position{line: 2358, col: 5, offset: 77546}, expr: &litMatcher{ - pos: position{line: 2357, col: 7, offset: 77419}, + pos: position{line: 2358, col: 7, offset: 77548}, val: "\\", ignoreCase: false, want: "\"\\\\\"", }, }, &labeledExpr{ - pos: position{line: 2358, col: 5, offset: 77428}, + pos: position{line: 2359, col: 5, offset: 77557}, label: "element", expr: &choiceExpr{ - pos: position{line: 2359, col: 9, offset: 77446}, + pos: position{line: 2360, col: 9, offset: 77575}, alternatives: []interface{}{ &ruleRefExpr{ - pos: position{line: 2359, col: 9, offset: 77446}, + pos: position{line: 2360, col: 9, offset: 77575}, name: "EscapedBoldText", }, &ruleRefExpr{ - pos: position{line: 2360, col: 11, offset: 77473}, + pos: position{line: 2361, col: 11, offset: 77602}, name: "EscapedItalicText", }, &ruleRefExpr{ - pos: position{line: 2361, col: 11, offset: 77501}, + pos: position{line: 2362, col: 11, offset: 77630}, name: "EscapedMarkedText", }, &ruleRefExpr{ - pos: position{line: 2362, col: 11, offset: 77529}, + pos: position{line: 2363, col: 11, offset: 77658}, name: "EscapedSubscriptText", }, &ruleRefExpr{ - pos: position{line: 2363, col: 11, offset: 77560}, + pos: position{line: 2364, col: 11, offset: 77689}, name: "EscapedSuperscriptText", }, }, @@ -57061,50 +57624,50 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2369, col: 5, offset: 77660}, + pos: position{line: 2370, col: 5, offset: 77789}, run: (*parser).callonQuotedTextInSingleQuoteMonospaceText13, expr: &seqExpr{ - pos: position{line: 2369, col: 5, offset: 77660}, + pos: position{line: 2370, col: 5, offset: 77789}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 2369, col: 5, offset: 77660}, + pos: position{line: 2370, col: 5, offset: 77789}, label: "attributes", expr: &zeroOrOneExpr{ - pos: position{line: 2369, col: 16, offset: 77671}, + pos: position{line: 2370, col: 16, offset: 77800}, expr: &ruleRefExpr{ - pos: position{line: 2369, col: 17, offset: 77672}, + pos: position{line: 2370, col: 17, offset: 77801}, name: "LongHandAttributes", }, }, }, &labeledExpr{ - pos: position{line: 2370, col: 5, offset: 77698}, + pos: position{line: 2371, col: 5, offset: 77827}, label: "text", expr: &choiceExpr{ - pos: position{line: 2371, col: 9, offset: 77713}, + pos: position{line: 2372, col: 9, offset: 77842}, alternatives: []interface{}{ &ruleRefExpr{ - pos: position{line: 2371, col: 9, offset: 77713}, + pos: position{line: 2372, col: 9, offset: 77842}, name: "DoubleQuoteMonospaceText", }, &ruleRefExpr{ - pos: position{line: 2372, col: 11, offset: 77748}, + pos: position{line: 2373, col: 11, offset: 77877}, name: "BoldText", }, &ruleRefExpr{ - pos: position{line: 2373, col: 11, offset: 77767}, + pos: position{line: 2374, col: 11, offset: 77896}, name: "ItalicText", }, &ruleRefExpr{ - pos: position{line: 2374, col: 11, offset: 77788}, + pos: position{line: 2375, col: 11, offset: 77917}, name: "MarkedText", }, &ruleRefExpr{ - pos: position{line: 2375, col: 11, offset: 77809}, + pos: position{line: 2376, col: 11, offset: 77938}, name: "SubscriptText", }, &ruleRefExpr{ - pos: position{line: 2376, col: 11, offset: 77833}, + pos: position{line: 2377, col: 11, offset: 77962}, name: "SuperscriptText", }, }, @@ -57118,35 +57681,35 @@ var g = &grammar{ }, { name: "EscapedMonospaceText", - pos: position{line: 2386, col: 1, offset: 78298}, + pos: position{line: 2387, col: 1, offset: 78427}, expr: &choiceExpr{ - pos: position{line: 2388, col: 5, offset: 78369}, + pos: position{line: 2389, col: 5, offset: 78498}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2388, col: 5, offset: 78369}, + pos: position{line: 2389, col: 5, offset: 78498}, run: (*parser).callonEscapedMonospaceText2, expr: &seqExpr{ - pos: position{line: 2388, col: 5, offset: 78369}, + pos: position{line: 2389, col: 5, offset: 78498}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 2388, col: 5, offset: 78369}, + pos: position{line: 2389, col: 5, offset: 78498}, label: "backslashes", expr: &actionExpr{ - pos: position{line: 1939, col: 25, offset: 63647}, + pos: position{line: 1946, col: 25, offset: 63902}, run: (*parser).callonEscapedMonospaceText5, expr: &seqExpr{ - pos: position{line: 1939, col: 25, offset: 63647}, + pos: position{line: 1946, col: 25, offset: 63902}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1939, col: 25, offset: 63647}, + pos: position{line: 1946, col: 25, offset: 63902}, val: "\\\\", ignoreCase: false, want: "\"\\\\\\\\\"", }, &zeroOrMoreExpr{ - pos: position{line: 1939, col: 30, offset: 63652}, + pos: position{line: 1946, col: 30, offset: 63907}, expr: &litMatcher{ - pos: position{line: 1939, col: 30, offset: 63652}, + pos: position{line: 1946, col: 30, offset: 63907}, val: "\\", ignoreCase: false, want: "\"\\\\\"", @@ -57157,21 +57720,21 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 2388, col: 40, offset: 78404}, + pos: position{line: 2389, col: 40, offset: 78533}, val: "``", ignoreCase: false, want: "\"``\"", }, &labeledExpr{ - pos: position{line: 2388, col: 45, offset: 78409}, + pos: position{line: 2389, col: 45, offset: 78538}, label: "elements", expr: &ruleRefExpr{ - pos: position{line: 2388, col: 55, offset: 78419}, + pos: position{line: 2389, col: 55, offset: 78548}, name: "DoubleQuoteMonospaceTextElements", }, }, &litMatcher{ - pos: position{line: 2388, col: 89, offset: 78453}, + pos: position{line: 2389, col: 89, offset: 78582}, val: "``", ignoreCase: false, want: "\"``\"", @@ -57180,21 +57743,21 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2392, col: 7, offset: 78622}, + pos: position{line: 2393, col: 7, offset: 78751}, run: (*parser).callonEscapedMonospaceText14, expr: &seqExpr{ - pos: position{line: 2392, col: 7, offset: 78622}, + pos: position{line: 2393, col: 7, offset: 78751}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 2392, col: 7, offset: 78622}, + pos: position{line: 2393, col: 7, offset: 78751}, label: "backslashes", expr: &actionExpr{ - pos: position{line: 1935, col: 25, offset: 63574}, + pos: position{line: 1942, col: 25, offset: 63829}, run: (*parser).callonEscapedMonospaceText17, expr: &oneOrMoreExpr{ - pos: position{line: 1935, col: 25, offset: 63574}, + pos: position{line: 1942, col: 25, offset: 63829}, expr: &litMatcher{ - pos: position{line: 1935, col: 25, offset: 63574}, + pos: position{line: 1942, col: 25, offset: 63829}, val: "\\", ignoreCase: false, want: "\"\\\\\"", @@ -57203,21 +57766,21 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 2392, col: 42, offset: 78657}, + pos: position{line: 2393, col: 42, offset: 78786}, val: "``", ignoreCase: false, want: "\"``\"", }, &labeledExpr{ - pos: position{line: 2392, col: 47, offset: 78662}, + pos: position{line: 2393, col: 47, offset: 78791}, label: "elements", expr: &ruleRefExpr{ - pos: position{line: 2392, col: 57, offset: 78672}, + pos: position{line: 2393, col: 57, offset: 78801}, name: "SingleQuoteMonospaceTextElements", }, }, &litMatcher{ - pos: position{line: 2392, col: 91, offset: 78706}, + pos: position{line: 2393, col: 91, offset: 78835}, val: "`", ignoreCase: false, want: "\"`\"", @@ -57226,21 +57789,21 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2397, col: 7, offset: 78912}, + pos: position{line: 2398, col: 7, offset: 79041}, run: (*parser).callonEscapedMonospaceText24, expr: &seqExpr{ - pos: position{line: 2397, col: 7, offset: 78912}, + pos: position{line: 2398, col: 7, offset: 79041}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 2397, col: 7, offset: 78912}, + pos: position{line: 2398, col: 7, offset: 79041}, label: "backslashes", expr: &actionExpr{ - pos: position{line: 1935, col: 25, offset: 63574}, + pos: position{line: 1942, col: 25, offset: 63829}, run: (*parser).callonEscapedMonospaceText27, expr: &oneOrMoreExpr{ - pos: position{line: 1935, col: 25, offset: 63574}, + pos: position{line: 1942, col: 25, offset: 63829}, expr: &litMatcher{ - pos: position{line: 1935, col: 25, offset: 63574}, + pos: position{line: 1942, col: 25, offset: 63829}, val: "\\", ignoreCase: false, want: "\"\\\\\"", @@ -57249,21 +57812,21 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 2397, col: 42, offset: 78947}, + pos: position{line: 2398, col: 42, offset: 79076}, val: "`", ignoreCase: false, want: "\"`\"", }, &labeledExpr{ - pos: position{line: 2397, col: 46, offset: 78951}, + pos: position{line: 2398, col: 46, offset: 79080}, label: "elements", expr: &ruleRefExpr{ - pos: position{line: 2397, col: 56, offset: 78961}, + pos: position{line: 2398, col: 56, offset: 79090}, name: "SingleQuoteMonospaceTextElements", }, }, &litMatcher{ - pos: position{line: 2397, col: 90, offset: 78995}, + pos: position{line: 2398, col: 90, offset: 79124}, val: "`", ignoreCase: false, want: "\"`\"", @@ -57276,16 +57839,16 @@ var g = &grammar{ }, { name: "MarkedText", - pos: position{line: 2404, col: 1, offset: 79247}, + pos: position{line: 2405, col: 1, offset: 79376}, expr: &choiceExpr{ - pos: position{line: 2404, col: 15, offset: 79261}, + pos: position{line: 2405, col: 15, offset: 79390}, alternatives: []interface{}{ &ruleRefExpr{ - pos: position{line: 2404, col: 15, offset: 79261}, + pos: position{line: 2405, col: 15, offset: 79390}, name: "DoubleQuoteMarkedText", }, &ruleRefExpr{ - pos: position{line: 2404, col: 39, offset: 79285}, + pos: position{line: 2405, col: 39, offset: 79414}, name: "SingleQuoteMarkedText", }, }, @@ -57293,29 +57856,29 @@ var g = &grammar{ }, { name: "DoubleQuoteMarkedText", - pos: position{line: 2418, col: 1, offset: 79623}, + pos: position{line: 2419, col: 1, offset: 79752}, expr: &actionExpr{ - pos: position{line: 2419, col: 5, offset: 79653}, + pos: position{line: 2420, col: 5, offset: 79782}, run: (*parser).callonDoubleQuoteMarkedText1, expr: &seqExpr{ - pos: position{line: 2419, col: 5, offset: 79653}, + pos: position{line: 2420, col: 5, offset: 79782}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2416, col: 35, offset: 79617}, + pos: position{line: 2417, col: 35, offset: 79746}, val: "##", ignoreCase: false, want: "\"##\"", }, &labeledExpr{ - pos: position{line: 2420, col: 5, offset: 79689}, + pos: position{line: 2421, col: 5, offset: 79818}, label: "elements", expr: &ruleRefExpr{ - pos: position{line: 2420, col: 15, offset: 79699}, + pos: position{line: 2421, col: 15, offset: 79828}, name: "DoubleQuoteMarkedTextElements", }, }, &litMatcher{ - pos: position{line: 2416, col: 35, offset: 79617}, + pos: position{line: 2417, col: 35, offset: 79746}, val: "##", ignoreCase: false, want: "\"##\"", @@ -57326,49 +57889,49 @@ var g = &grammar{ }, { name: "DoubleQuoteMarkedTextElements", - pos: position{line: 2425, col: 1, offset: 79862}, + pos: position{line: 2426, col: 1, offset: 79991}, expr: &zeroOrMoreExpr{ - pos: position{line: 2425, col: 34, offset: 79895}, + pos: position{line: 2426, col: 34, offset: 80024}, expr: &ruleRefExpr{ - pos: position{line: 2425, col: 34, offset: 79895}, + pos: position{line: 2426, col: 34, offset: 80024}, name: "DoubleQuoteMarkedTextElement", }, }, }, { name: "DoubleQuoteMarkedTextElement", - pos: position{line: 2427, col: 1, offset: 79926}, + pos: position{line: 2428, col: 1, offset: 80055}, expr: &actionExpr{ - pos: position{line: 2428, col: 5, offset: 79995}, + pos: position{line: 2429, col: 5, offset: 80124}, run: (*parser).callonDoubleQuoteMarkedTextElement1, expr: &seqExpr{ - pos: position{line: 2428, col: 5, offset: 79995}, + pos: position{line: 2429, col: 5, offset: 80124}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 2428, col: 5, offset: 79995}, + pos: position{line: 2429, col: 5, offset: 80124}, expr: &litMatcher{ - pos: position{line: 2416, col: 35, offset: 79617}, + pos: position{line: 2417, col: 35, offset: 79746}, val: "##", ignoreCase: false, want: "\"##\"", }, }, &labeledExpr{ - pos: position{line: 2429, col: 5, offset: 80031}, + pos: position{line: 2430, col: 5, offset: 80160}, label: "element", expr: &choiceExpr{ - pos: position{line: 2430, col: 9, offset: 80049}, + pos: position{line: 2431, col: 9, offset: 80178}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2409, col: 5, offset: 79359}, + pos: position{line: 2410, col: 5, offset: 79488}, run: (*parser).callonDoubleQuoteMarkedTextElement7, expr: &seqExpr{ - pos: position{line: 2409, col: 5, offset: 79359}, + pos: position{line: 2410, col: 5, offset: 79488}, exprs: []interface{}{ &oneOrMoreExpr{ - pos: position{line: 2409, col: 5, offset: 79359}, + pos: position{line: 2410, col: 5, offset: 79488}, expr: &charClassMatcher{ - pos: position{line: 2409, col: 5, offset: 79359}, + pos: position{line: 2410, col: 5, offset: 79488}, val: "[,?!;0-9\\pL]", chars: []rune{',', '?', '!', ';'}, ranges: []rune{'0', '9'}, @@ -57378,15 +57941,15 @@ var g = &grammar{ }, }, &andExpr{ - pos: position{line: 2409, col: 19, offset: 79373}, + pos: position{line: 2410, col: 19, offset: 79502}, expr: &choiceExpr{ - pos: position{line: 2409, col: 21, offset: 79375}, + pos: position{line: 2410, col: 21, offset: 79504}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonDoubleQuoteMarkedTextElement13, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -57394,7 +57957,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 2406, col: 24, offset: 79331}, + pos: position{line: 2407, col: 24, offset: 79460}, val: "#", ignoreCase: false, want: "\"#\"", @@ -57406,12 +57969,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 3180, col: 11, offset: 103464}, + pos: position{line: 3076, col: 11, offset: 100101}, run: (*parser).callonDoubleQuoteMarkedTextElement16, expr: &oneOrMoreExpr{ - pos: position{line: 3180, col: 11, offset: 103464}, + pos: position{line: 3076, col: 11, offset: 100101}, expr: &charClassMatcher{ - pos: position{line: 3180, col: 12, offset: 103465}, + pos: position{line: 3076, col: 12, offset: 100102}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -57420,28 +57983,28 @@ var g = &grammar{ }, }, &seqExpr{ - pos: position{line: 2432, col: 11, offset: 80124}, + pos: position{line: 2433, col: 11, offset: 80253}, exprs: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonDoubleQuoteMarkedTextElement20, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -57450,27 +58013,27 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2432, col: 19, offset: 80132}, + pos: position{line: 2433, col: 19, offset: 80261}, expr: &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonDoubleQuoteMarkedTextElement26, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -57482,35 +58045,35 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 641, col: 5, offset: 20613}, + pos: position{line: 648, col: 5, offset: 20883}, run: (*parser).callonDoubleQuoteMarkedTextElement31, expr: &seqExpr{ - pos: position{line: 641, col: 5, offset: 20613}, + pos: position{line: 648, col: 5, offset: 20883}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 641, col: 5, offset: 20613}, + pos: position{line: 648, col: 5, offset: 20883}, run: (*parser).callonDoubleQuoteMarkedTextElement33, }, &labeledExpr{ - pos: position{line: 644, col: 5, offset: 20682}, + pos: position{line: 651, col: 5, offset: 20952}, label: "element", expr: &choiceExpr{ - pos: position{line: 644, col: 14, offset: 20691}, + pos: position{line: 651, col: 14, offset: 20961}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 664, col: 25, offset: 21344}, + pos: position{line: 671, col: 25, offset: 21614}, run: (*parser).callonDoubleQuoteMarkedTextElement36, expr: &seqExpr{ - pos: position{line: 664, col: 25, offset: 21344}, + pos: position{line: 671, col: 25, offset: 21614}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 664, col: 25, offset: 21344}, + pos: position{line: 671, col: 25, offset: 21614}, val: "{counter:", ignoreCase: false, want: "\"{counter:\"", }, &labeledExpr{ - pos: position{line: 664, col: 37, offset: 21356}, + pos: position{line: 671, col: 37, offset: 21626}, label: "name", expr: &actionExpr{ pos: position{line: 324, col: 18, offset: 10072}, @@ -57544,33 +58107,33 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 664, col: 56, offset: 21375}, + pos: position{line: 671, col: 56, offset: 21645}, label: "start", expr: &zeroOrOneExpr{ - pos: position{line: 664, col: 62, offset: 21381}, + pos: position{line: 671, col: 62, offset: 21651}, expr: &actionExpr{ - pos: position{line: 672, col: 17, offset: 21676}, + pos: position{line: 679, col: 17, offset: 21946}, run: (*parser).callonDoubleQuoteMarkedTextElement47, expr: &seqExpr{ - pos: position{line: 672, col: 17, offset: 21676}, + pos: position{line: 679, col: 17, offset: 21946}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 672, col: 17, offset: 21676}, + pos: position{line: 679, col: 17, offset: 21946}, val: ":", ignoreCase: false, want: "\":\"", }, &labeledExpr{ - pos: position{line: 672, col: 21, offset: 21680}, + pos: position{line: 679, col: 21, offset: 21950}, label: "start", expr: &choiceExpr{ - pos: position{line: 672, col: 28, offset: 21687}, + pos: position{line: 679, col: 28, offset: 21957}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 672, col: 28, offset: 21687}, + pos: position{line: 679, col: 28, offset: 21957}, run: (*parser).callonDoubleQuoteMarkedTextElement52, expr: &charClassMatcher{ - pos: position{line: 672, col: 28, offset: 21687}, + pos: position{line: 679, col: 28, offset: 21957}, val: "[A-Za-z]", ranges: []rune{'A', 'Z', 'a', 'z'}, ignoreCase: false, @@ -57578,12 +58141,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 674, col: 9, offset: 21741}, + pos: position{line: 681, col: 9, offset: 22011}, run: (*parser).callonDoubleQuoteMarkedTextElement54, expr: &oneOrMoreExpr{ - pos: position{line: 674, col: 9, offset: 21741}, + pos: position{line: 681, col: 9, offset: 22011}, expr: &charClassMatcher{ - pos: position{line: 674, col: 9, offset: 21741}, + pos: position{line: 681, col: 9, offset: 22011}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -57600,7 +58163,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 664, col: 78, offset: 21397}, + pos: position{line: 671, col: 78, offset: 21667}, val: "}", ignoreCase: false, want: "\"}\"", @@ -57609,19 +58172,19 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 668, col: 25, offset: 21515}, + pos: position{line: 675, col: 25, offset: 21785}, run: (*parser).callonDoubleQuoteMarkedTextElement58, expr: &seqExpr{ - pos: position{line: 668, col: 25, offset: 21515}, + pos: position{line: 675, col: 25, offset: 21785}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 668, col: 25, offset: 21515}, + pos: position{line: 675, col: 25, offset: 21785}, val: "{counter2:", ignoreCase: false, want: "\"{counter2:\"", }, &labeledExpr{ - pos: position{line: 668, col: 38, offset: 21528}, + pos: position{line: 675, col: 38, offset: 21798}, label: "name", expr: &actionExpr{ pos: position{line: 324, col: 18, offset: 10072}, @@ -57655,33 +58218,33 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 668, col: 57, offset: 21547}, + pos: position{line: 675, col: 57, offset: 21817}, label: "start", expr: &zeroOrOneExpr{ - pos: position{line: 668, col: 63, offset: 21553}, + pos: position{line: 675, col: 63, offset: 21823}, expr: &actionExpr{ - pos: position{line: 672, col: 17, offset: 21676}, + pos: position{line: 679, col: 17, offset: 21946}, run: (*parser).callonDoubleQuoteMarkedTextElement69, expr: &seqExpr{ - pos: position{line: 672, col: 17, offset: 21676}, + pos: position{line: 679, col: 17, offset: 21946}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 672, col: 17, offset: 21676}, + pos: position{line: 679, col: 17, offset: 21946}, val: ":", ignoreCase: false, want: "\":\"", }, &labeledExpr{ - pos: position{line: 672, col: 21, offset: 21680}, + pos: position{line: 679, col: 21, offset: 21950}, label: "start", expr: &choiceExpr{ - pos: position{line: 672, col: 28, offset: 21687}, + pos: position{line: 679, col: 28, offset: 21957}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 672, col: 28, offset: 21687}, + pos: position{line: 679, col: 28, offset: 21957}, run: (*parser).callonDoubleQuoteMarkedTextElement74, expr: &charClassMatcher{ - pos: position{line: 672, col: 28, offset: 21687}, + pos: position{line: 679, col: 28, offset: 21957}, val: "[A-Za-z]", ranges: []rune{'A', 'Z', 'a', 'z'}, ignoreCase: false, @@ -57689,12 +58252,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 674, col: 9, offset: 21741}, + pos: position{line: 681, col: 9, offset: 22011}, run: (*parser).callonDoubleQuoteMarkedTextElement76, expr: &oneOrMoreExpr{ - pos: position{line: 674, col: 9, offset: 21741}, + pos: position{line: 681, col: 9, offset: 22011}, expr: &charClassMatcher{ - pos: position{line: 674, col: 9, offset: 21741}, + pos: position{line: 681, col: 9, offset: 22011}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -57711,7 +58274,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 668, col: 79, offset: 21569}, + pos: position{line: 675, col: 79, offset: 21839}, val: "}", ignoreCase: false, want: "\"}\"", @@ -57720,19 +58283,19 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 650, col: 5, offset: 20820}, + pos: position{line: 657, col: 5, offset: 21090}, run: (*parser).callonDoubleQuoteMarkedTextElement80, expr: &seqExpr{ - pos: position{line: 650, col: 5, offset: 20820}, + pos: position{line: 657, col: 5, offset: 21090}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 650, col: 5, offset: 20820}, + pos: position{line: 657, col: 5, offset: 21090}, val: "\\{", ignoreCase: false, want: "\"\\\\{\"", }, &labeledExpr{ - pos: position{line: 650, col: 13, offset: 20828}, + pos: position{line: 657, col: 13, offset: 21098}, label: "name", expr: &actionExpr{ pos: position{line: 324, col: 18, offset: 10072}, @@ -57766,7 +58329,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 650, col: 32, offset: 20847}, + pos: position{line: 657, col: 32, offset: 21117}, val: "}", ignoreCase: false, want: "\"}\"", @@ -57775,19 +58338,19 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 657, col: 5, offset: 21088}, + pos: position{line: 664, col: 5, offset: 21358}, run: (*parser).callonDoubleQuoteMarkedTextElement90, expr: &seqExpr{ - pos: position{line: 657, col: 5, offset: 21088}, + pos: position{line: 664, col: 5, offset: 21358}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 657, col: 5, offset: 21088}, + pos: position{line: 664, col: 5, offset: 21358}, val: "{", ignoreCase: false, want: "\"{\"", }, &labeledExpr{ - pos: position{line: 657, col: 9, offset: 21092}, + pos: position{line: 664, col: 9, offset: 21362}, label: "name", expr: &actionExpr{ pos: position{line: 324, col: 18, offset: 10072}, @@ -57821,7 +58384,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 657, col: 28, offset: 21111}, + pos: position{line: 664, col: 28, offset: 21381}, val: "}", ignoreCase: false, want: "\"}\"", @@ -57836,53 +58399,53 @@ var g = &grammar{ }, }, &ruleRefExpr{ - pos: position{line: 2434, col: 11, offset: 80214}, + pos: position{line: 2435, col: 11, offset: 80343}, name: "InlineMacro", }, &actionExpr{ - pos: position{line: 2859, col: 5, offset: 93679}, + pos: position{line: 2745, col: 5, offset: 90112}, run: (*parser).callonDoubleQuoteMarkedTextElement101, expr: &seqExpr{ - pos: position{line: 2859, col: 5, offset: 93679}, + pos: position{line: 2745, col: 5, offset: 90112}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 2859, col: 5, offset: 93679}, + pos: position{line: 2745, col: 5, offset: 90112}, run: (*parser).callonDoubleQuoteMarkedTextElement103, }, &labeledExpr{ - pos: position{line: 2862, col: 5, offset: 93755}, + pos: position{line: 2748, col: 5, offset: 90188}, label: "element", expr: &choiceExpr{ - pos: position{line: 2864, col: 9, offset: 93853}, + pos: position{line: 2750, col: 9, offset: 90286}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2864, col: 9, offset: 93853}, + pos: position{line: 2750, col: 9, offset: 90286}, run: (*parser).callonDoubleQuoteMarkedTextElement106, expr: &choiceExpr{ - pos: position{line: 692, col: 27, offset: 22395}, + pos: position{line: 699, col: 27, offset: 22665}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 692, col: 27, offset: 22395}, + pos: position{line: 699, col: 27, offset: 22665}, run: (*parser).callonDoubleQuoteMarkedTextElement108, expr: &seqExpr{ - pos: position{line: 692, col: 27, offset: 22395}, + pos: position{line: 699, col: 27, offset: 22665}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 692, col: 27, offset: 22395}, + pos: position{line: 699, col: 27, offset: 22665}, val: "<<", ignoreCase: false, want: "\"<<\"", }, &labeledExpr{ - pos: position{line: 692, col: 32, offset: 22400}, + pos: position{line: 699, col: 32, offset: 22670}, label: "id", expr: &actionExpr{ - pos: position{line: 3161, col: 7, offset: 103049}, + pos: position{line: 3057, col: 7, offset: 99686}, run: (*parser).callonDoubleQuoteMarkedTextElement112, expr: &oneOrMoreExpr{ - pos: position{line: 3161, col: 7, offset: 103049}, + pos: position{line: 3057, col: 7, offset: 99686}, expr: &charClassMatcher{ - pos: position{line: 3161, col: 7, offset: 103049}, + pos: position{line: 3057, col: 7, offset: 99686}, val: "[^[]<>,]", chars: []rune{'[', ']', '<', '>', ','}, ignoreCase: false, @@ -57892,12 +58455,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 692, col: 40, offset: 22408}, + pos: position{line: 699, col: 40, offset: 22678}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonDoubleQuoteMarkedTextElement116, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -57906,27 +58469,27 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 692, col: 47, offset: 22415}, + pos: position{line: 699, col: 47, offset: 22685}, val: ",", ignoreCase: false, want: "\",\"", }, &labeledExpr{ - pos: position{line: 692, col: 51, offset: 22419}, + pos: position{line: 699, col: 51, offset: 22689}, label: "label", expr: &oneOrMoreExpr{ - pos: position{line: 702, col: 24, offset: 22820}, + pos: position{line: 709, col: 24, offset: 23090}, expr: &choiceExpr{ - pos: position{line: 703, col: 5, offset: 22826}, + pos: position{line: 710, col: 5, offset: 23096}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 703, col: 6, offset: 22827}, + pos: position{line: 710, col: 6, offset: 23097}, run: (*parser).callonDoubleQuoteMarkedTextElement122, expr: &seqExpr{ - pos: position{line: 703, col: 6, offset: 22827}, + pos: position{line: 710, col: 6, offset: 23097}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 703, col: 6, offset: 22827}, + pos: position{line: 710, col: 6, offset: 23097}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -57934,9 +58497,9 @@ var g = &grammar{ inverted: false, }, &oneOrMoreExpr{ - pos: position{line: 703, col: 14, offset: 22835}, + pos: position{line: 710, col: 14, offset: 23105}, expr: &charClassMatcher{ - pos: position{line: 703, col: 14, offset: 22835}, + pos: position{line: 710, col: 14, offset: 23105}, val: "[^\\r\\n{<>]", chars: []rune{'\r', '\n', '{', '<', '>'}, ignoreCase: false, @@ -57947,19 +58510,19 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 650, col: 5, offset: 20820}, + pos: position{line: 657, col: 5, offset: 21090}, run: (*parser).callonDoubleQuoteMarkedTextElement127, expr: &seqExpr{ - pos: position{line: 650, col: 5, offset: 20820}, + pos: position{line: 657, col: 5, offset: 21090}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 650, col: 5, offset: 20820}, + pos: position{line: 657, col: 5, offset: 21090}, val: "\\{", ignoreCase: false, want: "\"\\\\{\"", }, &labeledExpr{ - pos: position{line: 650, col: 13, offset: 20828}, + pos: position{line: 657, col: 13, offset: 21098}, label: "name", expr: &actionExpr{ pos: position{line: 324, col: 18, offset: 10072}, @@ -57993,7 +58556,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 650, col: 32, offset: 20847}, + pos: position{line: 657, col: 32, offset: 21117}, val: "}", ignoreCase: false, want: "\"}\"", @@ -58002,19 +58565,19 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 657, col: 5, offset: 21088}, + pos: position{line: 664, col: 5, offset: 21358}, run: (*parser).callonDoubleQuoteMarkedTextElement137, expr: &seqExpr{ - pos: position{line: 657, col: 5, offset: 21088}, + pos: position{line: 664, col: 5, offset: 21358}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 657, col: 5, offset: 21088}, + pos: position{line: 664, col: 5, offset: 21358}, val: "{", ignoreCase: false, want: "\"{\"", }, &labeledExpr{ - pos: position{line: 657, col: 9, offset: 21092}, + pos: position{line: 664, col: 9, offset: 21362}, label: "name", expr: &actionExpr{ pos: position{line: 324, col: 18, offset: 10072}, @@ -58048,7 +58611,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 657, col: 28, offset: 21111}, + pos: position{line: 664, col: 28, offset: 21381}, val: "}", ignoreCase: false, want: "\"}\"", @@ -58057,10 +58620,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 707, col: 8, offset: 23061}, + pos: position{line: 714, col: 8, offset: 23331}, run: (*parser).callonDoubleQuoteMarkedTextElement147, expr: &litMatcher{ - pos: position{line: 707, col: 8, offset: 23061}, + pos: position{line: 714, col: 8, offset: 23331}, val: "{", ignoreCase: false, want: "\"{\"", @@ -58071,7 +58634,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 692, col: 79, offset: 22447}, + pos: position{line: 699, col: 79, offset: 22717}, val: ">>", ignoreCase: false, want: "\">>\"", @@ -58080,27 +58643,27 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 694, col: 9, offset: 22520}, + pos: position{line: 701, col: 9, offset: 22790}, run: (*parser).callonDoubleQuoteMarkedTextElement150, expr: &seqExpr{ - pos: position{line: 694, col: 9, offset: 22520}, + pos: position{line: 701, col: 9, offset: 22790}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 694, col: 9, offset: 22520}, + pos: position{line: 701, col: 9, offset: 22790}, val: "<<", ignoreCase: false, want: "\"<<\"", }, &labeledExpr{ - pos: position{line: 694, col: 14, offset: 22525}, + pos: position{line: 701, col: 14, offset: 22795}, label: "id", expr: &actionExpr{ - pos: position{line: 3161, col: 7, offset: 103049}, + pos: position{line: 3057, col: 7, offset: 99686}, run: (*parser).callonDoubleQuoteMarkedTextElement154, expr: &oneOrMoreExpr{ - pos: position{line: 3161, col: 7, offset: 103049}, + pos: position{line: 3057, col: 7, offset: 99686}, expr: &charClassMatcher{ - pos: position{line: 3161, col: 7, offset: 103049}, + pos: position{line: 3057, col: 7, offset: 99686}, val: "[^[]<>,]", chars: []rune{'[', ']', '<', '>', ','}, ignoreCase: false, @@ -58110,7 +58673,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 694, col: 22, offset: 22533}, + pos: position{line: 701, col: 22, offset: 22803}, val: ">>", ignoreCase: false, want: "\">>\"", @@ -58122,10 +58685,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2867, col: 11, offset: 93957}, + pos: position{line: 2753, col: 11, offset: 90390}, run: (*parser).callonDoubleQuoteMarkedTextElement158, expr: &charClassMatcher{ - pos: position{line: 2867, col: 12, offset: 93958}, + pos: position{line: 2753, col: 12, offset: 90391}, val: "[<>&]", chars: []rune{'<', '>', '&'}, ignoreCase: false, @@ -58139,65 +58702,95 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2892, col: 5, offset: 94851}, + pos: position{line: 2778, col: 5, offset: 91284}, run: (*parser).callonDoubleQuoteMarkedTextElement160, expr: &seqExpr{ - pos: position{line: 2892, col: 5, offset: 94851}, + pos: position{line: 2778, col: 5, offset: 91284}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2892, col: 5, offset: 94851}, + pos: position{line: 2778, col: 5, offset: 91284}, val: "\\", ignoreCase: false, want: "\"\\\\\"", }, &choiceExpr{ - pos: position{line: 2892, col: 10, offset: 94856}, + pos: position{line: 2778, col: 10, offset: 91289}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2900, col: 15, offset: 95132}, + pos: position{line: 2787, col: 5, offset: 91579}, run: (*parser).callonDoubleQuoteMarkedTextElement164, expr: &litMatcher{ - pos: position{line: 2900, col: 15, offset: 95132}, + pos: position{line: 2787, col: 5, offset: 91579}, + val: "\"`", + ignoreCase: false, + want: "\"\\\"`\"", + }, + }, + &actionExpr{ + pos: position{line: 2790, col: 7, offset: 91637}, + run: (*parser).callonDoubleQuoteMarkedTextElement166, + expr: &litMatcher{ + pos: position{line: 2790, col: 7, offset: 91637}, + val: "`\"", + ignoreCase: false, + want: "\"`\\\"\"", + }, + }, + &actionExpr{ + pos: position{line: 2793, col: 7, offset: 91695}, + run: (*parser).callonDoubleQuoteMarkedTextElement168, + expr: &litMatcher{ + pos: position{line: 2793, col: 7, offset: 91695}, + val: "'`", + ignoreCase: false, + want: "\"'`\"", + }, + }, + &actionExpr{ + pos: position{line: 2796, col: 7, offset: 91751}, + run: (*parser).callonDoubleQuoteMarkedTextElement170, + expr: &litMatcher{ + pos: position{line: 2796, col: 7, offset: 91751}, val: "`'", ignoreCase: false, want: "\"`'\"", }, }, &actionExpr{ - pos: position{line: 2906, col: 14, offset: 95236}, - run: (*parser).callonDoubleQuoteMarkedTextElement166, + pos: position{line: 2802, col: 14, offset: 91873}, + run: (*parser).callonDoubleQuoteMarkedTextElement172, expr: &litMatcher{ - pos: position{line: 2906, col: 14, offset: 95236}, + pos: position{line: 2802, col: 14, offset: 91873}, val: "(C)", ignoreCase: false, want: "\"(C)\"", }, }, &actionExpr{ - pos: position{line: 2910, col: 14, offset: 95302}, - run: (*parser).callonDoubleQuoteMarkedTextElement168, + pos: position{line: 2806, col: 14, offset: 91939}, + run: (*parser).callonDoubleQuoteMarkedTextElement174, expr: &litMatcher{ - pos: position{line: 2910, col: 14, offset: 95302}, + pos: position{line: 2806, col: 14, offset: 91939}, val: "(TM)", ignoreCase: false, want: "\"(TM)\"", }, }, &actionExpr{ - pos: position{line: 2914, col: 15, offset: 95371}, - run: (*parser).callonDoubleQuoteMarkedTextElement170, + pos: position{line: 2810, col: 15, offset: 92008}, + run: (*parser).callonDoubleQuoteMarkedTextElement176, expr: &litMatcher{ - pos: position{line: 2914, col: 15, offset: 95371}, + pos: position{line: 2810, col: 15, offset: 92008}, val: "(R)", ignoreCase: false, want: "\"(R)\"", }, }, &actionExpr{ - pos: position{line: 2918, col: 13, offset: 95436}, - run: (*parser).callonDoubleQuoteMarkedTextElement172, + pos: position{line: 2814, col: 13, offset: 92073}, + run: (*parser).callonDoubleQuoteMarkedTextElement178, expr: &litMatcher{ - pos: position{line: 2918, col: 13, offset: 95436}, + pos: position{line: 2814, col: 13, offset: 92073}, val: "...", ignoreCase: false, want: "\"...\"", @@ -58209,63 +58802,93 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2900, col: 15, offset: 95132}, - run: (*parser).callonDoubleQuoteMarkedTextElement174, + pos: position{line: 2787, col: 5, offset: 91579}, + run: (*parser).callonDoubleQuoteMarkedTextElement180, + expr: &litMatcher{ + pos: position{line: 2787, col: 5, offset: 91579}, + val: "\"`", + ignoreCase: false, + want: "\"\\\"`\"", + }, + }, + &actionExpr{ + pos: position{line: 2790, col: 7, offset: 91637}, + run: (*parser).callonDoubleQuoteMarkedTextElement182, expr: &litMatcher{ - pos: position{line: 2900, col: 15, offset: 95132}, + pos: position{line: 2790, col: 7, offset: 91637}, + val: "`\"", + ignoreCase: false, + want: "\"`\\\"\"", + }, + }, + &actionExpr{ + pos: position{line: 2793, col: 7, offset: 91695}, + run: (*parser).callonDoubleQuoteMarkedTextElement184, + expr: &litMatcher{ + pos: position{line: 2793, col: 7, offset: 91695}, + val: "'`", + ignoreCase: false, + want: "\"'`\"", + }, + }, + &actionExpr{ + pos: position{line: 2796, col: 7, offset: 91751}, + run: (*parser).callonDoubleQuoteMarkedTextElement186, + expr: &litMatcher{ + pos: position{line: 2796, col: 7, offset: 91751}, val: "`'", ignoreCase: false, want: "\"`'\"", }, }, &actionExpr{ - pos: position{line: 2906, col: 14, offset: 95236}, - run: (*parser).callonDoubleQuoteMarkedTextElement176, + pos: position{line: 2802, col: 14, offset: 91873}, + run: (*parser).callonDoubleQuoteMarkedTextElement188, expr: &litMatcher{ - pos: position{line: 2906, col: 14, offset: 95236}, + pos: position{line: 2802, col: 14, offset: 91873}, val: "(C)", ignoreCase: false, want: "\"(C)\"", }, }, &actionExpr{ - pos: position{line: 2910, col: 14, offset: 95302}, - run: (*parser).callonDoubleQuoteMarkedTextElement178, + pos: position{line: 2806, col: 14, offset: 91939}, + run: (*parser).callonDoubleQuoteMarkedTextElement190, expr: &litMatcher{ - pos: position{line: 2910, col: 14, offset: 95302}, + pos: position{line: 2806, col: 14, offset: 91939}, val: "(TM)", ignoreCase: false, want: "\"(TM)\"", }, }, &actionExpr{ - pos: position{line: 2914, col: 15, offset: 95371}, - run: (*parser).callonDoubleQuoteMarkedTextElement180, + pos: position{line: 2810, col: 15, offset: 92008}, + run: (*parser).callonDoubleQuoteMarkedTextElement192, expr: &litMatcher{ - pos: position{line: 2914, col: 15, offset: 95371}, + pos: position{line: 2810, col: 15, offset: 92008}, val: "(R)", ignoreCase: false, want: "\"(R)\"", }, }, &actionExpr{ - pos: position{line: 2918, col: 13, offset: 95436}, - run: (*parser).callonDoubleQuoteMarkedTextElement182, + pos: position{line: 2814, col: 13, offset: 92073}, + run: (*parser).callonDoubleQuoteMarkedTextElement194, expr: &litMatcher{ - pos: position{line: 2918, col: 13, offset: 95436}, + pos: position{line: 2814, col: 13, offset: 92073}, val: "...", ignoreCase: false, want: "\"...\"", }, }, &actionExpr{ - pos: position{line: 2929, col: 5, offset: 95746}, - run: (*parser).callonDoubleQuoteMarkedTextElement184, + pos: position{line: 2825, col: 5, offset: 92383}, + run: (*parser).callonDoubleQuoteMarkedTextElement196, expr: &seqExpr{ - pos: position{line: 2929, col: 5, offset: 95746}, + pos: position{line: 2825, col: 5, offset: 92383}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 3090, col: 13, offset: 100713}, + pos: position{line: 2986, col: 13, offset: 97350}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -58273,15 +58896,15 @@ var g = &grammar{ inverted: false, }, &litMatcher{ - pos: position{line: 2929, col: 14, offset: 95755}, + pos: position{line: 2825, col: 14, offset: 92392}, val: "\\'", ignoreCase: false, want: "\"\\\\'\"", }, &andExpr{ - pos: position{line: 2929, col: 19, offset: 95760}, + pos: position{line: 2825, col: 19, offset: 92397}, expr: &charClassMatcher{ - pos: position{line: 2929, col: 20, offset: 95761}, + pos: position{line: 2825, col: 20, offset: 92398}, val: "[\\pL]", classes: []*unicode.RangeTable{rangeTable("L")}, ignoreCase: false, @@ -58292,13 +58915,13 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2935, col: 5, offset: 95992}, - run: (*parser).callonDoubleQuoteMarkedTextElement190, + pos: position{line: 2831, col: 5, offset: 92629}, + run: (*parser).callonDoubleQuoteMarkedTextElement202, expr: &seqExpr{ - pos: position{line: 2935, col: 5, offset: 95992}, + pos: position{line: 2831, col: 5, offset: 92629}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 3090, col: 13, offset: 100713}, + pos: position{line: 2986, col: 13, offset: 97350}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -58306,15 +58929,15 @@ var g = &grammar{ inverted: false, }, &litMatcher{ - pos: position{line: 2935, col: 14, offset: 96001}, + pos: position{line: 2831, col: 14, offset: 92638}, val: "'", ignoreCase: false, want: "\"'\"", }, &andExpr{ - pos: position{line: 2935, col: 18, offset: 96005}, + pos: position{line: 2831, col: 18, offset: 92642}, expr: &charClassMatcher{ - pos: position{line: 2935, col: 19, offset: 96006}, + pos: position{line: 2831, col: 19, offset: 92643}, val: "[\\pL]", classes: []*unicode.RangeTable{rangeTable("L")}, ignoreCase: false, @@ -58325,35 +58948,31 @@ var g = &grammar{ }, }, &ruleRefExpr{ - pos: position{line: 2437, col: 11, offset: 80330}, - name: "QuotedString", - }, - &ruleRefExpr{ - pos: position{line: 2438, col: 11, offset: 80353}, + pos: position{line: 2438, col: 11, offset: 80459}, name: "QuotedTextInDoubleMarkedBoldText", }, &actionExpr{ - pos: position{line: 1212, col: 23, offset: 37871}, - run: (*parser).callonDoubleQuoteMarkedTextElement198, + pos: position{line: 1219, col: 23, offset: 38141}, + run: (*parser).callonDoubleQuoteMarkedTextElement209, expr: &seqExpr{ - pos: position{line: 1212, col: 23, offset: 37871}, + pos: position{line: 1219, col: 23, offset: 38141}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1210, col: 32, offset: 37839}, + pos: position{line: 1217, col: 32, offset: 38109}, val: "�", ignoreCase: false, want: "\"�\"", }, &labeledExpr{ - pos: position{line: 1212, col: 51, offset: 37899}, + pos: position{line: 1219, col: 51, offset: 38169}, label: "ref", expr: &actionExpr{ - pos: position{line: 1212, col: 56, offset: 37904}, - run: (*parser).callonDoubleQuoteMarkedTextElement202, + pos: position{line: 1219, col: 56, offset: 38174}, + run: (*parser).callonDoubleQuoteMarkedTextElement213, expr: &oneOrMoreExpr{ - pos: position{line: 1212, col: 56, offset: 37904}, + pos: position{line: 1219, col: 56, offset: 38174}, expr: &charClassMatcher{ - pos: position{line: 1212, col: 56, offset: 37904}, + pos: position{line: 1219, col: 56, offset: 38174}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -58363,7 +58982,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1210, col: 32, offset: 37839}, + pos: position{line: 1217, col: 32, offset: 38109}, val: "�", ignoreCase: false, want: "\"�\"", @@ -58372,31 +58991,31 @@ var g = &grammar{ }, }, &charClassMatcher{ - pos: position{line: 2471, col: 5, offset: 81137}, + pos: position{line: 2471, col: 5, offset: 81243}, val: "[^\\r\\n#]", chars: []rune{'\r', '\n', '#'}, ignoreCase: false, inverted: true, }, &actionExpr{ - pos: position{line: 2472, col: 7, offset: 81236}, - run: (*parser).callonDoubleQuoteMarkedTextElement207, + pos: position{line: 2472, col: 7, offset: 81342}, + run: (*parser).callonDoubleQuoteMarkedTextElement218, expr: &seqExpr{ - pos: position{line: 2472, col: 7, offset: 81236}, + pos: position{line: 2472, col: 7, offset: 81342}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2416, col: 35, offset: 79617}, + pos: position{line: 2417, col: 35, offset: 79746}, val: "##", ignoreCase: false, want: "\"##\"", }, &actionExpr{ - pos: position{line: 3094, col: 14, offset: 100787}, - run: (*parser).callonDoubleQuoteMarkedTextElement210, + pos: position{line: 2990, col: 14, offset: 97424}, + run: (*parser).callonDoubleQuoteMarkedTextElement221, expr: &oneOrMoreExpr{ - pos: position{line: 3094, col: 14, offset: 100787}, + pos: position{line: 2990, col: 14, offset: 97424}, expr: &charClassMatcher{ - pos: position{line: 3094, col: 14, offset: 100787}, + pos: position{line: 2990, col: 14, offset: 97424}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -58417,49 +59036,49 @@ var g = &grammar{ }, { name: "QuotedTextInDoubleMarkedBoldText", - pos: position{line: 2445, col: 1, offset: 80507}, + pos: position{line: 2445, col: 1, offset: 80613}, expr: &choiceExpr{ - pos: position{line: 2447, col: 5, offset: 80570}, + pos: position{line: 2447, col: 5, offset: 80676}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2447, col: 5, offset: 80570}, + pos: position{line: 2447, col: 5, offset: 80676}, run: (*parser).callonQuotedTextInDoubleMarkedBoldText2, expr: &seqExpr{ - pos: position{line: 2447, col: 5, offset: 80570}, + pos: position{line: 2447, col: 5, offset: 80676}, exprs: []interface{}{ &andExpr{ - pos: position{line: 2447, col: 5, offset: 80570}, + pos: position{line: 2447, col: 5, offset: 80676}, expr: &litMatcher{ - pos: position{line: 2447, col: 7, offset: 80572}, + pos: position{line: 2447, col: 7, offset: 80678}, val: "\\", ignoreCase: false, want: "\"\\\\\"", }, }, &labeledExpr{ - pos: position{line: 2448, col: 5, offset: 80581}, + pos: position{line: 2448, col: 5, offset: 80687}, label: "element", expr: &choiceExpr{ - pos: position{line: 2449, col: 9, offset: 80599}, + pos: position{line: 2449, col: 9, offset: 80705}, alternatives: []interface{}{ &ruleRefExpr{ - pos: position{line: 2449, col: 9, offset: 80599}, + pos: position{line: 2449, col: 9, offset: 80705}, name: "EscapedBoldText", }, &ruleRefExpr{ - pos: position{line: 2450, col: 11, offset: 80626}, + pos: position{line: 2450, col: 11, offset: 80732}, name: "EscapedItalicText", }, &ruleRefExpr{ - pos: position{line: 2451, col: 11, offset: 80654}, + pos: position{line: 2451, col: 11, offset: 80760}, name: "EscapedMonospaceText", }, &ruleRefExpr{ - pos: position{line: 2452, col: 11, offset: 80685}, + pos: position{line: 2452, col: 11, offset: 80791}, name: "EscapedSubscriptText", }, &ruleRefExpr{ - pos: position{line: 2453, col: 11, offset: 80716}, + pos: position{line: 2453, col: 11, offset: 80822}, name: "EscapedSuperscriptText", }, }, @@ -58469,50 +59088,50 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2459, col: 5, offset: 80816}, + pos: position{line: 2459, col: 5, offset: 80922}, run: (*parser).callonQuotedTextInDoubleMarkedBoldText13, expr: &seqExpr{ - pos: position{line: 2459, col: 5, offset: 80816}, + pos: position{line: 2459, col: 5, offset: 80922}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 2459, col: 5, offset: 80816}, + pos: position{line: 2459, col: 5, offset: 80922}, label: "attributes", expr: &zeroOrOneExpr{ - pos: position{line: 2459, col: 16, offset: 80827}, + pos: position{line: 2459, col: 16, offset: 80933}, expr: &ruleRefExpr{ - pos: position{line: 2459, col: 17, offset: 80828}, + pos: position{line: 2459, col: 17, offset: 80934}, name: "LongHandAttributes", }, }, }, &labeledExpr{ - pos: position{line: 2460, col: 5, offset: 80854}, + pos: position{line: 2460, col: 5, offset: 80960}, label: "text", expr: &choiceExpr{ - pos: position{line: 2461, col: 9, offset: 80869}, + pos: position{line: 2461, col: 9, offset: 80975}, alternatives: []interface{}{ &ruleRefExpr{ - pos: position{line: 2461, col: 9, offset: 80869}, + pos: position{line: 2461, col: 9, offset: 80975}, name: "SingleQuoteMarkedText", }, &ruleRefExpr{ - pos: position{line: 2462, col: 11, offset: 80901}, + pos: position{line: 2462, col: 11, offset: 81007}, name: "BoldText", }, &ruleRefExpr{ - pos: position{line: 2463, col: 11, offset: 80920}, + pos: position{line: 2463, col: 11, offset: 81026}, name: "ItalicText", }, &ruleRefExpr{ - pos: position{line: 2464, col: 11, offset: 80941}, + pos: position{line: 2464, col: 11, offset: 81047}, name: "MonospaceText", }, &ruleRefExpr{ - pos: position{line: 2465, col: 11, offset: 80965}, + pos: position{line: 2465, col: 11, offset: 81071}, name: "SubscriptText", }, &ruleRefExpr{ - pos: position{line: 2466, col: 11, offset: 80989}, + pos: position{line: 2466, col: 11, offset: 81095}, name: "SuperscriptText", }, }, @@ -58526,29 +59145,29 @@ var g = &grammar{ }, { name: "SingleQuoteMarkedText", - pos: position{line: 2483, col: 1, offset: 81643}, + pos: position{line: 2483, col: 1, offset: 81749}, expr: &actionExpr{ - pos: position{line: 2484, col: 5, offset: 81673}, + pos: position{line: 2484, col: 5, offset: 81779}, run: (*parser).callonSingleQuoteMarkedText1, expr: &seqExpr{ - pos: position{line: 2484, col: 5, offset: 81673}, + pos: position{line: 2484, col: 5, offset: 81779}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2479, col: 40, offset: 81595}, + pos: position{line: 2479, col: 40, offset: 81701}, val: "#", ignoreCase: false, want: "\"#\"", }, &labeledExpr{ - pos: position{line: 2485, col: 5, offset: 81713}, + pos: position{line: 2485, col: 5, offset: 81819}, label: "elements", expr: &ruleRefExpr{ - pos: position{line: 2485, col: 15, offset: 81723}, + pos: position{line: 2485, col: 15, offset: 81829}, name: "SingleQuoteMarkedTextElements", }, }, &litMatcher{ - pos: position{line: 2481, col: 38, offset: 81637}, + pos: position{line: 2481, col: 38, offset: 81743}, val: "#", ignoreCase: false, want: "\"#\"", @@ -58559,29 +59178,29 @@ var g = &grammar{ }, { name: "SingleQuoteMarkedTextElements", - pos: position{line: 2490, col: 1, offset: 81890}, + pos: position{line: 2490, col: 1, offset: 81996}, expr: &actionExpr{ - pos: position{line: 2491, col: 5, offset: 81928}, + pos: position{line: 2491, col: 5, offset: 82034}, run: (*parser).callonSingleQuoteMarkedTextElements1, expr: &seqExpr{ - pos: position{line: 2491, col: 5, offset: 81928}, + pos: position{line: 2491, col: 5, offset: 82034}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 2491, col: 5, offset: 81928}, + pos: position{line: 2491, col: 5, offset: 82034}, expr: ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, ¬Expr{ - pos: position{line: 2491, col: 10, offset: 81933}, + pos: position{line: 2491, col: 10, offset: 82039}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonSingleQuoteMarkedTextElements7, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -58590,18 +59209,18 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 2492, col: 5, offset: 81972}, + pos: position{line: 2492, col: 5, offset: 82078}, label: "elements", expr: &oneOrMoreExpr{ - pos: position{line: 2492, col: 14, offset: 81981}, + pos: position{line: 2492, col: 14, offset: 82087}, expr: &ruleRefExpr{ - pos: position{line: 2492, col: 15, offset: 81982}, + pos: position{line: 2492, col: 15, offset: 82088}, name: "SingleQuoteMarkedTextElement", }, }, }, &andCodeExpr{ - pos: position{line: 2493, col: 5, offset: 82018}, + pos: position{line: 2493, col: 5, offset: 82124}, run: (*parser).callonSingleQuoteMarkedTextElements12, }, }, @@ -58610,20 +59229,20 @@ var g = &grammar{ }, { name: "SingleQuoteMarkedTextElement", - pos: position{line: 2499, col: 1, offset: 82159}, + pos: position{line: 2499, col: 1, offset: 82265}, expr: &choiceExpr{ - pos: position{line: 2500, col: 5, offset: 82196}, + pos: position{line: 2500, col: 5, offset: 82302}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2409, col: 5, offset: 79359}, + pos: position{line: 2410, col: 5, offset: 79488}, run: (*parser).callonSingleQuoteMarkedTextElement2, expr: &seqExpr{ - pos: position{line: 2409, col: 5, offset: 79359}, + pos: position{line: 2410, col: 5, offset: 79488}, exprs: []interface{}{ &oneOrMoreExpr{ - pos: position{line: 2409, col: 5, offset: 79359}, + pos: position{line: 2410, col: 5, offset: 79488}, expr: &charClassMatcher{ - pos: position{line: 2409, col: 5, offset: 79359}, + pos: position{line: 2410, col: 5, offset: 79488}, val: "[,?!;0-9\\pL]", chars: []rune{',', '?', '!', ';'}, ranges: []rune{'0', '9'}, @@ -58633,15 +59252,15 @@ var g = &grammar{ }, }, &andExpr{ - pos: position{line: 2409, col: 19, offset: 79373}, + pos: position{line: 2410, col: 19, offset: 79502}, expr: &choiceExpr{ - pos: position{line: 2409, col: 21, offset: 79375}, + pos: position{line: 2410, col: 21, offset: 79504}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonSingleQuoteMarkedTextElement8, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -58649,7 +59268,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 2406, col: 24, offset: 79331}, + pos: position{line: 2407, col: 24, offset: 79460}, val: "#", ignoreCase: false, want: "\"#\"", @@ -58661,12 +59280,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 3180, col: 11, offset: 103464}, + pos: position{line: 3076, col: 11, offset: 100101}, run: (*parser).callonSingleQuoteMarkedTextElement11, expr: &oneOrMoreExpr{ - pos: position{line: 3180, col: 11, offset: 103464}, + pos: position{line: 3076, col: 11, offset: 100101}, expr: &charClassMatcher{ - pos: position{line: 3180, col: 12, offset: 103465}, + pos: position{line: 3076, col: 12, offset: 100102}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -58675,28 +59294,28 @@ var g = &grammar{ }, }, &seqExpr{ - pos: position{line: 2502, col: 7, offset: 82230}, + pos: position{line: 2502, col: 7, offset: 82336}, exprs: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonSingleQuoteMarkedTextElement15, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -58705,27 +59324,27 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2502, col: 15, offset: 82238}, + pos: position{line: 2502, col: 15, offset: 82344}, expr: &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonSingleQuoteMarkedTextElement21, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -58737,35 +59356,35 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 641, col: 5, offset: 20613}, + pos: position{line: 648, col: 5, offset: 20883}, run: (*parser).callonSingleQuoteMarkedTextElement26, expr: &seqExpr{ - pos: position{line: 641, col: 5, offset: 20613}, + pos: position{line: 648, col: 5, offset: 20883}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 641, col: 5, offset: 20613}, + pos: position{line: 648, col: 5, offset: 20883}, run: (*parser).callonSingleQuoteMarkedTextElement28, }, &labeledExpr{ - pos: position{line: 644, col: 5, offset: 20682}, + pos: position{line: 651, col: 5, offset: 20952}, label: "element", expr: &choiceExpr{ - pos: position{line: 644, col: 14, offset: 20691}, + pos: position{line: 651, col: 14, offset: 20961}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 664, col: 25, offset: 21344}, + pos: position{line: 671, col: 25, offset: 21614}, run: (*parser).callonSingleQuoteMarkedTextElement31, expr: &seqExpr{ - pos: position{line: 664, col: 25, offset: 21344}, + pos: position{line: 671, col: 25, offset: 21614}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 664, col: 25, offset: 21344}, + pos: position{line: 671, col: 25, offset: 21614}, val: "{counter:", ignoreCase: false, want: "\"{counter:\"", }, &labeledExpr{ - pos: position{line: 664, col: 37, offset: 21356}, + pos: position{line: 671, col: 37, offset: 21626}, label: "name", expr: &actionExpr{ pos: position{line: 324, col: 18, offset: 10072}, @@ -58799,33 +59418,33 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 664, col: 56, offset: 21375}, + pos: position{line: 671, col: 56, offset: 21645}, label: "start", expr: &zeroOrOneExpr{ - pos: position{line: 664, col: 62, offset: 21381}, + pos: position{line: 671, col: 62, offset: 21651}, expr: &actionExpr{ - pos: position{line: 672, col: 17, offset: 21676}, + pos: position{line: 679, col: 17, offset: 21946}, run: (*parser).callonSingleQuoteMarkedTextElement42, expr: &seqExpr{ - pos: position{line: 672, col: 17, offset: 21676}, + pos: position{line: 679, col: 17, offset: 21946}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 672, col: 17, offset: 21676}, + pos: position{line: 679, col: 17, offset: 21946}, val: ":", ignoreCase: false, want: "\":\"", }, &labeledExpr{ - pos: position{line: 672, col: 21, offset: 21680}, + pos: position{line: 679, col: 21, offset: 21950}, label: "start", expr: &choiceExpr{ - pos: position{line: 672, col: 28, offset: 21687}, + pos: position{line: 679, col: 28, offset: 21957}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 672, col: 28, offset: 21687}, + pos: position{line: 679, col: 28, offset: 21957}, run: (*parser).callonSingleQuoteMarkedTextElement47, expr: &charClassMatcher{ - pos: position{line: 672, col: 28, offset: 21687}, + pos: position{line: 679, col: 28, offset: 21957}, val: "[A-Za-z]", ranges: []rune{'A', 'Z', 'a', 'z'}, ignoreCase: false, @@ -58833,12 +59452,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 674, col: 9, offset: 21741}, + pos: position{line: 681, col: 9, offset: 22011}, run: (*parser).callonSingleQuoteMarkedTextElement49, expr: &oneOrMoreExpr{ - pos: position{line: 674, col: 9, offset: 21741}, + pos: position{line: 681, col: 9, offset: 22011}, expr: &charClassMatcher{ - pos: position{line: 674, col: 9, offset: 21741}, + pos: position{line: 681, col: 9, offset: 22011}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -58855,7 +59474,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 664, col: 78, offset: 21397}, + pos: position{line: 671, col: 78, offset: 21667}, val: "}", ignoreCase: false, want: "\"}\"", @@ -58864,19 +59483,19 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 668, col: 25, offset: 21515}, + pos: position{line: 675, col: 25, offset: 21785}, run: (*parser).callonSingleQuoteMarkedTextElement53, expr: &seqExpr{ - pos: position{line: 668, col: 25, offset: 21515}, + pos: position{line: 675, col: 25, offset: 21785}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 668, col: 25, offset: 21515}, + pos: position{line: 675, col: 25, offset: 21785}, val: "{counter2:", ignoreCase: false, want: "\"{counter2:\"", }, &labeledExpr{ - pos: position{line: 668, col: 38, offset: 21528}, + pos: position{line: 675, col: 38, offset: 21798}, label: "name", expr: &actionExpr{ pos: position{line: 324, col: 18, offset: 10072}, @@ -58910,33 +59529,33 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 668, col: 57, offset: 21547}, + pos: position{line: 675, col: 57, offset: 21817}, label: "start", expr: &zeroOrOneExpr{ - pos: position{line: 668, col: 63, offset: 21553}, + pos: position{line: 675, col: 63, offset: 21823}, expr: &actionExpr{ - pos: position{line: 672, col: 17, offset: 21676}, + pos: position{line: 679, col: 17, offset: 21946}, run: (*parser).callonSingleQuoteMarkedTextElement64, expr: &seqExpr{ - pos: position{line: 672, col: 17, offset: 21676}, + pos: position{line: 679, col: 17, offset: 21946}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 672, col: 17, offset: 21676}, + pos: position{line: 679, col: 17, offset: 21946}, val: ":", ignoreCase: false, want: "\":\"", }, &labeledExpr{ - pos: position{line: 672, col: 21, offset: 21680}, + pos: position{line: 679, col: 21, offset: 21950}, label: "start", expr: &choiceExpr{ - pos: position{line: 672, col: 28, offset: 21687}, + pos: position{line: 679, col: 28, offset: 21957}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 672, col: 28, offset: 21687}, + pos: position{line: 679, col: 28, offset: 21957}, run: (*parser).callonSingleQuoteMarkedTextElement69, expr: &charClassMatcher{ - pos: position{line: 672, col: 28, offset: 21687}, + pos: position{line: 679, col: 28, offset: 21957}, val: "[A-Za-z]", ranges: []rune{'A', 'Z', 'a', 'z'}, ignoreCase: false, @@ -58944,12 +59563,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 674, col: 9, offset: 21741}, + pos: position{line: 681, col: 9, offset: 22011}, run: (*parser).callonSingleQuoteMarkedTextElement71, expr: &oneOrMoreExpr{ - pos: position{line: 674, col: 9, offset: 21741}, + pos: position{line: 681, col: 9, offset: 22011}, expr: &charClassMatcher{ - pos: position{line: 674, col: 9, offset: 21741}, + pos: position{line: 681, col: 9, offset: 22011}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -58966,7 +59585,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 668, col: 79, offset: 21569}, + pos: position{line: 675, col: 79, offset: 21839}, val: "}", ignoreCase: false, want: "\"}\"", @@ -58975,19 +59594,19 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 650, col: 5, offset: 20820}, + pos: position{line: 657, col: 5, offset: 21090}, run: (*parser).callonSingleQuoteMarkedTextElement75, expr: &seqExpr{ - pos: position{line: 650, col: 5, offset: 20820}, + pos: position{line: 657, col: 5, offset: 21090}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 650, col: 5, offset: 20820}, + pos: position{line: 657, col: 5, offset: 21090}, val: "\\{", ignoreCase: false, want: "\"\\\\{\"", }, &labeledExpr{ - pos: position{line: 650, col: 13, offset: 20828}, + pos: position{line: 657, col: 13, offset: 21098}, label: "name", expr: &actionExpr{ pos: position{line: 324, col: 18, offset: 10072}, @@ -59021,7 +59640,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 650, col: 32, offset: 20847}, + pos: position{line: 657, col: 32, offset: 21117}, val: "}", ignoreCase: false, want: "\"}\"", @@ -59030,19 +59649,19 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 657, col: 5, offset: 21088}, + pos: position{line: 664, col: 5, offset: 21358}, run: (*parser).callonSingleQuoteMarkedTextElement85, expr: &seqExpr{ - pos: position{line: 657, col: 5, offset: 21088}, + pos: position{line: 664, col: 5, offset: 21358}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 657, col: 5, offset: 21088}, + pos: position{line: 664, col: 5, offset: 21358}, val: "{", ignoreCase: false, want: "\"{\"", }, &labeledExpr{ - pos: position{line: 657, col: 9, offset: 21092}, + pos: position{line: 664, col: 9, offset: 21362}, label: "name", expr: &actionExpr{ pos: position{line: 324, col: 18, offset: 10072}, @@ -59076,7 +59695,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 657, col: 28, offset: 21111}, + pos: position{line: 664, col: 28, offset: 21381}, val: "}", ignoreCase: false, want: "\"}\"", @@ -59091,53 +59710,53 @@ var g = &grammar{ }, }, &ruleRefExpr{ - pos: position{line: 2504, col: 7, offset: 82312}, + pos: position{line: 2504, col: 7, offset: 82418}, name: "InlineMacro", }, &actionExpr{ - pos: position{line: 2859, col: 5, offset: 93679}, + pos: position{line: 2745, col: 5, offset: 90112}, run: (*parser).callonSingleQuoteMarkedTextElement96, expr: &seqExpr{ - pos: position{line: 2859, col: 5, offset: 93679}, + pos: position{line: 2745, col: 5, offset: 90112}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 2859, col: 5, offset: 93679}, + pos: position{line: 2745, col: 5, offset: 90112}, run: (*parser).callonSingleQuoteMarkedTextElement98, }, &labeledExpr{ - pos: position{line: 2862, col: 5, offset: 93755}, + pos: position{line: 2748, col: 5, offset: 90188}, label: "element", expr: &choiceExpr{ - pos: position{line: 2864, col: 9, offset: 93853}, + pos: position{line: 2750, col: 9, offset: 90286}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2864, col: 9, offset: 93853}, + pos: position{line: 2750, col: 9, offset: 90286}, run: (*parser).callonSingleQuoteMarkedTextElement101, expr: &choiceExpr{ - pos: position{line: 692, col: 27, offset: 22395}, + pos: position{line: 699, col: 27, offset: 22665}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 692, col: 27, offset: 22395}, + pos: position{line: 699, col: 27, offset: 22665}, run: (*parser).callonSingleQuoteMarkedTextElement103, expr: &seqExpr{ - pos: position{line: 692, col: 27, offset: 22395}, + pos: position{line: 699, col: 27, offset: 22665}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 692, col: 27, offset: 22395}, + pos: position{line: 699, col: 27, offset: 22665}, val: "<<", ignoreCase: false, want: "\"<<\"", }, &labeledExpr{ - pos: position{line: 692, col: 32, offset: 22400}, + pos: position{line: 699, col: 32, offset: 22670}, label: "id", expr: &actionExpr{ - pos: position{line: 3161, col: 7, offset: 103049}, + pos: position{line: 3057, col: 7, offset: 99686}, run: (*parser).callonSingleQuoteMarkedTextElement107, expr: &oneOrMoreExpr{ - pos: position{line: 3161, col: 7, offset: 103049}, + pos: position{line: 3057, col: 7, offset: 99686}, expr: &charClassMatcher{ - pos: position{line: 3161, col: 7, offset: 103049}, + pos: position{line: 3057, col: 7, offset: 99686}, val: "[^[]<>,]", chars: []rune{'[', ']', '<', '>', ','}, ignoreCase: false, @@ -59147,12 +59766,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 692, col: 40, offset: 22408}, + pos: position{line: 699, col: 40, offset: 22678}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonSingleQuoteMarkedTextElement111, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -59161,27 +59780,27 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 692, col: 47, offset: 22415}, + pos: position{line: 699, col: 47, offset: 22685}, val: ",", ignoreCase: false, want: "\",\"", }, &labeledExpr{ - pos: position{line: 692, col: 51, offset: 22419}, + pos: position{line: 699, col: 51, offset: 22689}, label: "label", expr: &oneOrMoreExpr{ - pos: position{line: 702, col: 24, offset: 22820}, + pos: position{line: 709, col: 24, offset: 23090}, expr: &choiceExpr{ - pos: position{line: 703, col: 5, offset: 22826}, + pos: position{line: 710, col: 5, offset: 23096}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 703, col: 6, offset: 22827}, + pos: position{line: 710, col: 6, offset: 23097}, run: (*parser).callonSingleQuoteMarkedTextElement117, expr: &seqExpr{ - pos: position{line: 703, col: 6, offset: 22827}, + pos: position{line: 710, col: 6, offset: 23097}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 703, col: 6, offset: 22827}, + pos: position{line: 710, col: 6, offset: 23097}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -59189,9 +59808,9 @@ var g = &grammar{ inverted: false, }, &oneOrMoreExpr{ - pos: position{line: 703, col: 14, offset: 22835}, + pos: position{line: 710, col: 14, offset: 23105}, expr: &charClassMatcher{ - pos: position{line: 703, col: 14, offset: 22835}, + pos: position{line: 710, col: 14, offset: 23105}, val: "[^\\r\\n{<>]", chars: []rune{'\r', '\n', '{', '<', '>'}, ignoreCase: false, @@ -59202,19 +59821,19 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 650, col: 5, offset: 20820}, + pos: position{line: 657, col: 5, offset: 21090}, run: (*parser).callonSingleQuoteMarkedTextElement122, expr: &seqExpr{ - pos: position{line: 650, col: 5, offset: 20820}, + pos: position{line: 657, col: 5, offset: 21090}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 650, col: 5, offset: 20820}, + pos: position{line: 657, col: 5, offset: 21090}, val: "\\{", ignoreCase: false, want: "\"\\\\{\"", }, &labeledExpr{ - pos: position{line: 650, col: 13, offset: 20828}, + pos: position{line: 657, col: 13, offset: 21098}, label: "name", expr: &actionExpr{ pos: position{line: 324, col: 18, offset: 10072}, @@ -59248,7 +59867,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 650, col: 32, offset: 20847}, + pos: position{line: 657, col: 32, offset: 21117}, val: "}", ignoreCase: false, want: "\"}\"", @@ -59257,19 +59876,19 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 657, col: 5, offset: 21088}, + pos: position{line: 664, col: 5, offset: 21358}, run: (*parser).callonSingleQuoteMarkedTextElement132, expr: &seqExpr{ - pos: position{line: 657, col: 5, offset: 21088}, + pos: position{line: 664, col: 5, offset: 21358}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 657, col: 5, offset: 21088}, + pos: position{line: 664, col: 5, offset: 21358}, val: "{", ignoreCase: false, want: "\"{\"", }, &labeledExpr{ - pos: position{line: 657, col: 9, offset: 21092}, + pos: position{line: 664, col: 9, offset: 21362}, label: "name", expr: &actionExpr{ pos: position{line: 324, col: 18, offset: 10072}, @@ -59303,7 +59922,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 657, col: 28, offset: 21111}, + pos: position{line: 664, col: 28, offset: 21381}, val: "}", ignoreCase: false, want: "\"}\"", @@ -59312,10 +59931,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 707, col: 8, offset: 23061}, + pos: position{line: 714, col: 8, offset: 23331}, run: (*parser).callonSingleQuoteMarkedTextElement142, expr: &litMatcher{ - pos: position{line: 707, col: 8, offset: 23061}, + pos: position{line: 714, col: 8, offset: 23331}, val: "{", ignoreCase: false, want: "\"{\"", @@ -59326,7 +59945,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 692, col: 79, offset: 22447}, + pos: position{line: 699, col: 79, offset: 22717}, val: ">>", ignoreCase: false, want: "\">>\"", @@ -59335,27 +59954,27 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 694, col: 9, offset: 22520}, + pos: position{line: 701, col: 9, offset: 22790}, run: (*parser).callonSingleQuoteMarkedTextElement145, expr: &seqExpr{ - pos: position{line: 694, col: 9, offset: 22520}, + pos: position{line: 701, col: 9, offset: 22790}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 694, col: 9, offset: 22520}, + pos: position{line: 701, col: 9, offset: 22790}, val: "<<", ignoreCase: false, want: "\"<<\"", }, &labeledExpr{ - pos: position{line: 694, col: 14, offset: 22525}, + pos: position{line: 701, col: 14, offset: 22795}, label: "id", expr: &actionExpr{ - pos: position{line: 3161, col: 7, offset: 103049}, + pos: position{line: 3057, col: 7, offset: 99686}, run: (*parser).callonSingleQuoteMarkedTextElement149, expr: &oneOrMoreExpr{ - pos: position{line: 3161, col: 7, offset: 103049}, + pos: position{line: 3057, col: 7, offset: 99686}, expr: &charClassMatcher{ - pos: position{line: 3161, col: 7, offset: 103049}, + pos: position{line: 3057, col: 7, offset: 99686}, val: "[^[]<>,]", chars: []rune{'[', ']', '<', '>', ','}, ignoreCase: false, @@ -59365,7 +59984,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 694, col: 22, offset: 22533}, + pos: position{line: 701, col: 22, offset: 22803}, val: ">>", ignoreCase: false, want: "\">>\"", @@ -59377,10 +59996,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2867, col: 11, offset: 93957}, + pos: position{line: 2753, col: 11, offset: 90390}, run: (*parser).callonSingleQuoteMarkedTextElement153, expr: &charClassMatcher{ - pos: position{line: 2867, col: 12, offset: 93958}, + pos: position{line: 2753, col: 12, offset: 90391}, val: "[<>&]", chars: []rune{'<', '>', '&'}, ignoreCase: false, @@ -59394,65 +60013,95 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2892, col: 5, offset: 94851}, + pos: position{line: 2778, col: 5, offset: 91284}, run: (*parser).callonSingleQuoteMarkedTextElement155, expr: &seqExpr{ - pos: position{line: 2892, col: 5, offset: 94851}, + pos: position{line: 2778, col: 5, offset: 91284}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2892, col: 5, offset: 94851}, + pos: position{line: 2778, col: 5, offset: 91284}, val: "\\", ignoreCase: false, want: "\"\\\\\"", }, &choiceExpr{ - pos: position{line: 2892, col: 10, offset: 94856}, + pos: position{line: 2778, col: 10, offset: 91289}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2900, col: 15, offset: 95132}, + pos: position{line: 2787, col: 5, offset: 91579}, run: (*parser).callonSingleQuoteMarkedTextElement159, expr: &litMatcher{ - pos: position{line: 2900, col: 15, offset: 95132}, + pos: position{line: 2787, col: 5, offset: 91579}, + val: "\"`", + ignoreCase: false, + want: "\"\\\"`\"", + }, + }, + &actionExpr{ + pos: position{line: 2790, col: 7, offset: 91637}, + run: (*parser).callonSingleQuoteMarkedTextElement161, + expr: &litMatcher{ + pos: position{line: 2790, col: 7, offset: 91637}, + val: "`\"", + ignoreCase: false, + want: "\"`\\\"\"", + }, + }, + &actionExpr{ + pos: position{line: 2793, col: 7, offset: 91695}, + run: (*parser).callonSingleQuoteMarkedTextElement163, + expr: &litMatcher{ + pos: position{line: 2793, col: 7, offset: 91695}, + val: "'`", + ignoreCase: false, + want: "\"'`\"", + }, + }, + &actionExpr{ + pos: position{line: 2796, col: 7, offset: 91751}, + run: (*parser).callonSingleQuoteMarkedTextElement165, + expr: &litMatcher{ + pos: position{line: 2796, col: 7, offset: 91751}, val: "`'", ignoreCase: false, want: "\"`'\"", }, }, &actionExpr{ - pos: position{line: 2906, col: 14, offset: 95236}, - run: (*parser).callonSingleQuoteMarkedTextElement161, + pos: position{line: 2802, col: 14, offset: 91873}, + run: (*parser).callonSingleQuoteMarkedTextElement167, expr: &litMatcher{ - pos: position{line: 2906, col: 14, offset: 95236}, + pos: position{line: 2802, col: 14, offset: 91873}, val: "(C)", ignoreCase: false, want: "\"(C)\"", }, }, &actionExpr{ - pos: position{line: 2910, col: 14, offset: 95302}, - run: (*parser).callonSingleQuoteMarkedTextElement163, + pos: position{line: 2806, col: 14, offset: 91939}, + run: (*parser).callonSingleQuoteMarkedTextElement169, expr: &litMatcher{ - pos: position{line: 2910, col: 14, offset: 95302}, + pos: position{line: 2806, col: 14, offset: 91939}, val: "(TM)", ignoreCase: false, want: "\"(TM)\"", }, }, &actionExpr{ - pos: position{line: 2914, col: 15, offset: 95371}, - run: (*parser).callonSingleQuoteMarkedTextElement165, + pos: position{line: 2810, col: 15, offset: 92008}, + run: (*parser).callonSingleQuoteMarkedTextElement171, expr: &litMatcher{ - pos: position{line: 2914, col: 15, offset: 95371}, + pos: position{line: 2810, col: 15, offset: 92008}, val: "(R)", ignoreCase: false, want: "\"(R)\"", }, }, &actionExpr{ - pos: position{line: 2918, col: 13, offset: 95436}, - run: (*parser).callonSingleQuoteMarkedTextElement167, + pos: position{line: 2814, col: 13, offset: 92073}, + run: (*parser).callonSingleQuoteMarkedTextElement173, expr: &litMatcher{ - pos: position{line: 2918, col: 13, offset: 95436}, + pos: position{line: 2814, col: 13, offset: 92073}, val: "...", ignoreCase: false, want: "\"...\"", @@ -59464,63 +60113,93 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2900, col: 15, offset: 95132}, - run: (*parser).callonSingleQuoteMarkedTextElement169, + pos: position{line: 2787, col: 5, offset: 91579}, + run: (*parser).callonSingleQuoteMarkedTextElement175, + expr: &litMatcher{ + pos: position{line: 2787, col: 5, offset: 91579}, + val: "\"`", + ignoreCase: false, + want: "\"\\\"`\"", + }, + }, + &actionExpr{ + pos: position{line: 2790, col: 7, offset: 91637}, + run: (*parser).callonSingleQuoteMarkedTextElement177, + expr: &litMatcher{ + pos: position{line: 2790, col: 7, offset: 91637}, + val: "`\"", + ignoreCase: false, + want: "\"`\\\"\"", + }, + }, + &actionExpr{ + pos: position{line: 2793, col: 7, offset: 91695}, + run: (*parser).callonSingleQuoteMarkedTextElement179, + expr: &litMatcher{ + pos: position{line: 2793, col: 7, offset: 91695}, + val: "'`", + ignoreCase: false, + want: "\"'`\"", + }, + }, + &actionExpr{ + pos: position{line: 2796, col: 7, offset: 91751}, + run: (*parser).callonSingleQuoteMarkedTextElement181, expr: &litMatcher{ - pos: position{line: 2900, col: 15, offset: 95132}, + pos: position{line: 2796, col: 7, offset: 91751}, val: "`'", ignoreCase: false, want: "\"`'\"", }, }, &actionExpr{ - pos: position{line: 2906, col: 14, offset: 95236}, - run: (*parser).callonSingleQuoteMarkedTextElement171, + pos: position{line: 2802, col: 14, offset: 91873}, + run: (*parser).callonSingleQuoteMarkedTextElement183, expr: &litMatcher{ - pos: position{line: 2906, col: 14, offset: 95236}, + pos: position{line: 2802, col: 14, offset: 91873}, val: "(C)", ignoreCase: false, want: "\"(C)\"", }, }, &actionExpr{ - pos: position{line: 2910, col: 14, offset: 95302}, - run: (*parser).callonSingleQuoteMarkedTextElement173, + pos: position{line: 2806, col: 14, offset: 91939}, + run: (*parser).callonSingleQuoteMarkedTextElement185, expr: &litMatcher{ - pos: position{line: 2910, col: 14, offset: 95302}, + pos: position{line: 2806, col: 14, offset: 91939}, val: "(TM)", ignoreCase: false, want: "\"(TM)\"", }, }, &actionExpr{ - pos: position{line: 2914, col: 15, offset: 95371}, - run: (*parser).callonSingleQuoteMarkedTextElement175, + pos: position{line: 2810, col: 15, offset: 92008}, + run: (*parser).callonSingleQuoteMarkedTextElement187, expr: &litMatcher{ - pos: position{line: 2914, col: 15, offset: 95371}, + pos: position{line: 2810, col: 15, offset: 92008}, val: "(R)", ignoreCase: false, want: "\"(R)\"", }, }, &actionExpr{ - pos: position{line: 2918, col: 13, offset: 95436}, - run: (*parser).callonSingleQuoteMarkedTextElement177, + pos: position{line: 2814, col: 13, offset: 92073}, + run: (*parser).callonSingleQuoteMarkedTextElement189, expr: &litMatcher{ - pos: position{line: 2918, col: 13, offset: 95436}, + pos: position{line: 2814, col: 13, offset: 92073}, val: "...", ignoreCase: false, want: "\"...\"", }, }, &actionExpr{ - pos: position{line: 2929, col: 5, offset: 95746}, - run: (*parser).callonSingleQuoteMarkedTextElement179, + pos: position{line: 2825, col: 5, offset: 92383}, + run: (*parser).callonSingleQuoteMarkedTextElement191, expr: &seqExpr{ - pos: position{line: 2929, col: 5, offset: 95746}, + pos: position{line: 2825, col: 5, offset: 92383}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 3090, col: 13, offset: 100713}, + pos: position{line: 2986, col: 13, offset: 97350}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -59528,15 +60207,15 @@ var g = &grammar{ inverted: false, }, &litMatcher{ - pos: position{line: 2929, col: 14, offset: 95755}, + pos: position{line: 2825, col: 14, offset: 92392}, val: "\\'", ignoreCase: false, want: "\"\\\\'\"", }, &andExpr{ - pos: position{line: 2929, col: 19, offset: 95760}, + pos: position{line: 2825, col: 19, offset: 92397}, expr: &charClassMatcher{ - pos: position{line: 2929, col: 20, offset: 95761}, + pos: position{line: 2825, col: 20, offset: 92398}, val: "[\\pL]", classes: []*unicode.RangeTable{rangeTable("L")}, ignoreCase: false, @@ -59547,13 +60226,13 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2935, col: 5, offset: 95992}, - run: (*parser).callonSingleQuoteMarkedTextElement185, + pos: position{line: 2831, col: 5, offset: 92629}, + run: (*parser).callonSingleQuoteMarkedTextElement197, expr: &seqExpr{ - pos: position{line: 2935, col: 5, offset: 95992}, + pos: position{line: 2831, col: 5, offset: 92629}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 3090, col: 13, offset: 100713}, + pos: position{line: 2986, col: 13, offset: 97350}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -59561,15 +60240,15 @@ var g = &grammar{ inverted: false, }, &litMatcher{ - pos: position{line: 2935, col: 14, offset: 96001}, + pos: position{line: 2831, col: 14, offset: 92638}, val: "'", ignoreCase: false, want: "\"'\"", }, &andExpr{ - pos: position{line: 2935, col: 18, offset: 96005}, + pos: position{line: 2831, col: 18, offset: 92642}, expr: &charClassMatcher{ - pos: position{line: 2935, col: 19, offset: 96006}, + pos: position{line: 2831, col: 19, offset: 92643}, val: "[\\pL]", classes: []*unicode.RangeTable{rangeTable("L")}, ignoreCase: false, @@ -59580,35 +60259,31 @@ var g = &grammar{ }, }, &ruleRefExpr{ - pos: position{line: 2507, col: 7, offset: 82416}, - name: "QuotedString", - }, - &ruleRefExpr{ - pos: position{line: 2508, col: 7, offset: 82435}, + pos: position{line: 2507, col: 7, offset: 82522}, name: "QuotedTextInSingleQuoteMarkedText", }, &actionExpr{ - pos: position{line: 1212, col: 23, offset: 37871}, - run: (*parser).callonSingleQuoteMarkedTextElement193, + pos: position{line: 1219, col: 23, offset: 38141}, + run: (*parser).callonSingleQuoteMarkedTextElement204, expr: &seqExpr{ - pos: position{line: 1212, col: 23, offset: 37871}, + pos: position{line: 1219, col: 23, offset: 38141}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1210, col: 32, offset: 37839}, + pos: position{line: 1217, col: 32, offset: 38109}, val: "�", ignoreCase: false, want: "\"�\"", }, &labeledExpr{ - pos: position{line: 1212, col: 51, offset: 37899}, + pos: position{line: 1219, col: 51, offset: 38169}, label: "ref", expr: &actionExpr{ - pos: position{line: 1212, col: 56, offset: 37904}, - run: (*parser).callonSingleQuoteMarkedTextElement197, + pos: position{line: 1219, col: 56, offset: 38174}, + run: (*parser).callonSingleQuoteMarkedTextElement208, expr: &oneOrMoreExpr{ - pos: position{line: 1212, col: 56, offset: 37904}, + pos: position{line: 1219, col: 56, offset: 38174}, expr: &charClassMatcher{ - pos: position{line: 1212, col: 56, offset: 37904}, + pos: position{line: 1219, col: 56, offset: 38174}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -59618,7 +60293,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1210, col: 32, offset: 37839}, + pos: position{line: 1217, col: 32, offset: 38109}, val: "�", ignoreCase: false, want: "\"�\"", @@ -59627,31 +60302,31 @@ var g = &grammar{ }, }, &charClassMatcher{ - pos: position{line: 2538, col: 5, offset: 83171}, + pos: position{line: 2537, col: 5, offset: 83258}, val: "[^\\r\\n #]", chars: []rune{'\r', '\n', ' ', '#'}, ignoreCase: false, inverted: true, }, &actionExpr{ - pos: position{line: 2539, col: 7, offset: 83276}, - run: (*parser).callonSingleQuoteMarkedTextElement202, + pos: position{line: 2538, col: 7, offset: 83363}, + run: (*parser).callonSingleQuoteMarkedTextElement213, expr: &seqExpr{ - pos: position{line: 2539, col: 7, offset: 83276}, + pos: position{line: 2538, col: 7, offset: 83363}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2539, col: 7, offset: 83276}, + pos: position{line: 2538, col: 7, offset: 83363}, val: "#", ignoreCase: false, want: "\"#\"", }, &actionExpr{ - pos: position{line: 3094, col: 14, offset: 100787}, - run: (*parser).callonSingleQuoteMarkedTextElement205, + pos: position{line: 2990, col: 14, offset: 97424}, + run: (*parser).callonSingleQuoteMarkedTextElement216, expr: &oneOrMoreExpr{ - pos: position{line: 3094, col: 14, offset: 100787}, + pos: position{line: 2990, col: 14, offset: 97424}, expr: &charClassMatcher{ - pos: position{line: 3094, col: 14, offset: 100787}, + pos: position{line: 2990, col: 14, offset: 97424}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -59668,49 +60343,49 @@ var g = &grammar{ }, { name: "QuotedTextInSingleQuoteMarkedText", - pos: position{line: 2512, col: 1, offset: 82540}, + pos: position{line: 2511, col: 1, offset: 82627}, expr: &choiceExpr{ - pos: position{line: 2514, col: 5, offset: 82604}, + pos: position{line: 2513, col: 5, offset: 82691}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2514, col: 5, offset: 82604}, + pos: position{line: 2513, col: 5, offset: 82691}, run: (*parser).callonQuotedTextInSingleQuoteMarkedText2, expr: &seqExpr{ - pos: position{line: 2514, col: 5, offset: 82604}, + pos: position{line: 2513, col: 5, offset: 82691}, exprs: []interface{}{ &andExpr{ - pos: position{line: 2514, col: 5, offset: 82604}, + pos: position{line: 2513, col: 5, offset: 82691}, expr: &litMatcher{ - pos: position{line: 2514, col: 7, offset: 82606}, + pos: position{line: 2513, col: 7, offset: 82693}, val: "\\", ignoreCase: false, want: "\"\\\\\"", }, }, &labeledExpr{ - pos: position{line: 2515, col: 5, offset: 82615}, + pos: position{line: 2514, col: 5, offset: 82702}, label: "element", expr: &choiceExpr{ - pos: position{line: 2516, col: 9, offset: 82633}, + pos: position{line: 2515, col: 9, offset: 82720}, alternatives: []interface{}{ &ruleRefExpr{ - pos: position{line: 2516, col: 9, offset: 82633}, + pos: position{line: 2515, col: 9, offset: 82720}, name: "EscapedBoldText", }, &ruleRefExpr{ - pos: position{line: 2517, col: 11, offset: 82660}, + pos: position{line: 2516, col: 11, offset: 82747}, name: "EscapedItalicText", }, &ruleRefExpr{ - pos: position{line: 2518, col: 11, offset: 82688}, + pos: position{line: 2517, col: 11, offset: 82775}, name: "EscapedMonospaceText", }, &ruleRefExpr{ - pos: position{line: 2519, col: 11, offset: 82719}, + pos: position{line: 2518, col: 11, offset: 82806}, name: "EscapedSubscriptText", }, &ruleRefExpr{ - pos: position{line: 2520, col: 11, offset: 82750}, + pos: position{line: 2519, col: 11, offset: 82837}, name: "EscapedSuperscriptText", }, }, @@ -59720,50 +60395,50 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2526, col: 5, offset: 82850}, + pos: position{line: 2525, col: 5, offset: 82937}, run: (*parser).callonQuotedTextInSingleQuoteMarkedText13, expr: &seqExpr{ - pos: position{line: 2526, col: 5, offset: 82850}, + pos: position{line: 2525, col: 5, offset: 82937}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 2526, col: 5, offset: 82850}, + pos: position{line: 2525, col: 5, offset: 82937}, label: "attributes", expr: &zeroOrOneExpr{ - pos: position{line: 2526, col: 16, offset: 82861}, + pos: position{line: 2525, col: 16, offset: 82948}, expr: &ruleRefExpr{ - pos: position{line: 2526, col: 17, offset: 82862}, + pos: position{line: 2525, col: 17, offset: 82949}, name: "LongHandAttributes", }, }, }, &labeledExpr{ - pos: position{line: 2527, col: 5, offset: 82888}, + pos: position{line: 2526, col: 5, offset: 82975}, label: "text", expr: &choiceExpr{ - pos: position{line: 2528, col: 9, offset: 82903}, + pos: position{line: 2527, col: 9, offset: 82990}, alternatives: []interface{}{ &ruleRefExpr{ - pos: position{line: 2528, col: 9, offset: 82903}, + pos: position{line: 2527, col: 9, offset: 82990}, name: "DoubleQuoteMarkedText", }, &ruleRefExpr{ - pos: position{line: 2529, col: 11, offset: 82935}, + pos: position{line: 2528, col: 11, offset: 83022}, name: "BoldText", }, &ruleRefExpr{ - pos: position{line: 2530, col: 11, offset: 82954}, + pos: position{line: 2529, col: 11, offset: 83041}, name: "ItalicText", }, &ruleRefExpr{ - pos: position{line: 2531, col: 11, offset: 82975}, + pos: position{line: 2530, col: 11, offset: 83062}, name: "MonospaceText", }, &ruleRefExpr{ - pos: position{line: 2532, col: 11, offset: 82999}, + pos: position{line: 2531, col: 11, offset: 83086}, name: "SubscriptText", }, &ruleRefExpr{ - pos: position{line: 2533, col: 11, offset: 83023}, + pos: position{line: 2532, col: 11, offset: 83110}, name: "SuperscriptText", }, }, @@ -59777,35 +60452,35 @@ var g = &grammar{ }, { name: "EscapedMarkedText", - pos: position{line: 2543, col: 1, offset: 83451}, + pos: position{line: 2542, col: 1, offset: 83538}, expr: &choiceExpr{ - pos: position{line: 2545, col: 5, offset: 83515}, + pos: position{line: 2544, col: 5, offset: 83602}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2545, col: 5, offset: 83515}, + pos: position{line: 2544, col: 5, offset: 83602}, run: (*parser).callonEscapedMarkedText2, expr: &seqExpr{ - pos: position{line: 2545, col: 5, offset: 83515}, + pos: position{line: 2544, col: 5, offset: 83602}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 2545, col: 5, offset: 83515}, + pos: position{line: 2544, col: 5, offset: 83602}, label: "backslashes", expr: &actionExpr{ - pos: position{line: 1939, col: 25, offset: 63647}, + pos: position{line: 1946, col: 25, offset: 63902}, run: (*parser).callonEscapedMarkedText5, expr: &seqExpr{ - pos: position{line: 1939, col: 25, offset: 63647}, + pos: position{line: 1946, col: 25, offset: 63902}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1939, col: 25, offset: 63647}, + pos: position{line: 1946, col: 25, offset: 63902}, val: "\\\\", ignoreCase: false, want: "\"\\\\\\\\\"", }, &zeroOrMoreExpr{ - pos: position{line: 1939, col: 30, offset: 63652}, + pos: position{line: 1946, col: 30, offset: 63907}, expr: &litMatcher{ - pos: position{line: 1939, col: 30, offset: 63652}, + pos: position{line: 1946, col: 30, offset: 63907}, val: "\\", ignoreCase: false, want: "\"\\\\\"", @@ -59816,21 +60491,21 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 2545, col: 40, offset: 83550}, + pos: position{line: 2544, col: 40, offset: 83637}, val: "##", ignoreCase: false, want: "\"##\"", }, &labeledExpr{ - pos: position{line: 2545, col: 45, offset: 83555}, + pos: position{line: 2544, col: 45, offset: 83642}, label: "elements", expr: &ruleRefExpr{ - pos: position{line: 2545, col: 55, offset: 83565}, + pos: position{line: 2544, col: 55, offset: 83652}, name: "DoubleQuoteMarkedTextElements", }, }, &litMatcher{ - pos: position{line: 2545, col: 86, offset: 83596}, + pos: position{line: 2544, col: 86, offset: 83683}, val: "##", ignoreCase: false, want: "\"##\"", @@ -59839,21 +60514,21 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2549, col: 7, offset: 83761}, + pos: position{line: 2548, col: 7, offset: 83848}, run: (*parser).callonEscapedMarkedText14, expr: &seqExpr{ - pos: position{line: 2549, col: 7, offset: 83761}, + pos: position{line: 2548, col: 7, offset: 83848}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 2549, col: 7, offset: 83761}, + pos: position{line: 2548, col: 7, offset: 83848}, label: "backslashes", expr: &actionExpr{ - pos: position{line: 1935, col: 25, offset: 63574}, + pos: position{line: 1942, col: 25, offset: 63829}, run: (*parser).callonEscapedMarkedText17, expr: &oneOrMoreExpr{ - pos: position{line: 1935, col: 25, offset: 63574}, + pos: position{line: 1942, col: 25, offset: 63829}, expr: &litMatcher{ - pos: position{line: 1935, col: 25, offset: 63574}, + pos: position{line: 1942, col: 25, offset: 63829}, val: "\\", ignoreCase: false, want: "\"\\\\\"", @@ -59862,21 +60537,21 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 2549, col: 42, offset: 83796}, + pos: position{line: 2548, col: 42, offset: 83883}, val: "##", ignoreCase: false, want: "\"##\"", }, &labeledExpr{ - pos: position{line: 2549, col: 47, offset: 83801}, + pos: position{line: 2548, col: 47, offset: 83888}, label: "elements", expr: &ruleRefExpr{ - pos: position{line: 2549, col: 57, offset: 83811}, + pos: position{line: 2548, col: 57, offset: 83898}, name: "SingleQuoteMarkedTextElements", }, }, &litMatcher{ - pos: position{line: 2549, col: 88, offset: 83842}, + pos: position{line: 2548, col: 88, offset: 83929}, val: "#", ignoreCase: false, want: "\"#\"", @@ -59885,21 +60560,21 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2554, col: 7, offset: 84045}, + pos: position{line: 2553, col: 7, offset: 84132}, run: (*parser).callonEscapedMarkedText24, expr: &seqExpr{ - pos: position{line: 2554, col: 7, offset: 84045}, + pos: position{line: 2553, col: 7, offset: 84132}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 2554, col: 7, offset: 84045}, + pos: position{line: 2553, col: 7, offset: 84132}, label: "backslashes", expr: &actionExpr{ - pos: position{line: 1935, col: 25, offset: 63574}, + pos: position{line: 1942, col: 25, offset: 63829}, run: (*parser).callonEscapedMarkedText27, expr: &oneOrMoreExpr{ - pos: position{line: 1935, col: 25, offset: 63574}, + pos: position{line: 1942, col: 25, offset: 63829}, expr: &litMatcher{ - pos: position{line: 1935, col: 25, offset: 63574}, + pos: position{line: 1942, col: 25, offset: 63829}, val: "\\", ignoreCase: false, want: "\"\\\\\"", @@ -59908,21 +60583,21 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 2554, col: 42, offset: 84080}, + pos: position{line: 2553, col: 42, offset: 84167}, val: "#", ignoreCase: false, want: "\"#\"", }, &labeledExpr{ - pos: position{line: 2554, col: 46, offset: 84084}, + pos: position{line: 2553, col: 46, offset: 84171}, label: "elements", expr: &ruleRefExpr{ - pos: position{line: 2554, col: 56, offset: 84094}, + pos: position{line: 2553, col: 56, offset: 84181}, name: "SingleQuoteMarkedTextElements", }, }, &litMatcher{ - pos: position{line: 2554, col: 87, offset: 84125}, + pos: position{line: 2553, col: 87, offset: 84212}, val: "#", ignoreCase: false, want: "\"#\"", @@ -59935,29 +60610,29 @@ var g = &grammar{ }, { name: "SubscriptText", - pos: position{line: 2561, col: 1, offset: 84392}, + pos: position{line: 2560, col: 1, offset: 84479}, expr: &actionExpr{ - pos: position{line: 2562, col: 5, offset: 84414}, + pos: position{line: 2561, col: 5, offset: 84501}, run: (*parser).callonSubscriptText1, expr: &seqExpr{ - pos: position{line: 2562, col: 5, offset: 84414}, + pos: position{line: 2561, col: 5, offset: 84501}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2568, col: 27, offset: 84629}, + pos: position{line: 2567, col: 27, offset: 84716}, val: "~", ignoreCase: false, want: "\"~\"", }, &labeledExpr{ - pos: position{line: 2563, col: 5, offset: 84441}, + pos: position{line: 2562, col: 5, offset: 84528}, label: "element", expr: &ruleRefExpr{ - pos: position{line: 2563, col: 14, offset: 84450}, + pos: position{line: 2562, col: 14, offset: 84537}, name: "SubscriptTextElement", }, }, &litMatcher{ - pos: position{line: 2568, col: 27, offset: 84629}, + pos: position{line: 2567, col: 27, offset: 84716}, val: "~", ignoreCase: false, want: "\"~\"", @@ -59968,21 +60643,21 @@ var g = &grammar{ }, { name: "SubscriptTextElement", - pos: position{line: 2570, col: 1, offset: 84634}, + pos: position{line: 2569, col: 1, offset: 84721}, expr: &choiceExpr{ - pos: position{line: 2570, col: 25, offset: 84658}, + pos: position{line: 2569, col: 25, offset: 84745}, alternatives: []interface{}{ &ruleRefExpr{ - pos: position{line: 2570, col: 25, offset: 84658}, + pos: position{line: 2569, col: 25, offset: 84745}, name: "QuotedText", }, &actionExpr{ - pos: position{line: 2572, col: 21, offset: 84710}, + pos: position{line: 2571, col: 21, offset: 84797}, run: (*parser).callonSubscriptTextElement3, expr: &oneOrMoreExpr{ - pos: position{line: 2572, col: 21, offset: 84710}, + pos: position{line: 2571, col: 21, offset: 84797}, expr: &charClassMatcher{ - pos: position{line: 2572, col: 21, offset: 84710}, + pos: position{line: 2571, col: 21, offset: 84797}, val: "[^\\r\\n ~]", chars: []rune{'\r', '\n', ' ', '~'}, ignoreCase: false, @@ -59995,23 +60670,23 @@ var g = &grammar{ }, { name: "EscapedSubscriptText", - pos: position{line: 2576, col: 1, offset: 84795}, + pos: position{line: 2575, col: 1, offset: 84882}, expr: &actionExpr{ - pos: position{line: 2578, col: 5, offset: 84862}, + pos: position{line: 2577, col: 5, offset: 84949}, run: (*parser).callonEscapedSubscriptText1, expr: &seqExpr{ - pos: position{line: 2578, col: 5, offset: 84862}, + pos: position{line: 2577, col: 5, offset: 84949}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 2578, col: 5, offset: 84862}, + pos: position{line: 2577, col: 5, offset: 84949}, label: "backslashes", expr: &actionExpr{ - pos: position{line: 1935, col: 25, offset: 63574}, + pos: position{line: 1942, col: 25, offset: 63829}, run: (*parser).callonEscapedSubscriptText4, expr: &oneOrMoreExpr{ - pos: position{line: 1935, col: 25, offset: 63574}, + pos: position{line: 1942, col: 25, offset: 63829}, expr: &litMatcher{ - pos: position{line: 1935, col: 25, offset: 63574}, + pos: position{line: 1942, col: 25, offset: 63829}, val: "\\", ignoreCase: false, want: "\"\\\\\"", @@ -60020,21 +60695,21 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 2568, col: 27, offset: 84629}, + pos: position{line: 2567, col: 27, offset: 84716}, val: "~", ignoreCase: false, want: "\"~\"", }, &labeledExpr{ - pos: position{line: 2580, col: 5, offset: 84930}, + pos: position{line: 2579, col: 5, offset: 85017}, label: "element", expr: &ruleRefExpr{ - pos: position{line: 2580, col: 14, offset: 84939}, + pos: position{line: 2579, col: 14, offset: 85026}, name: "SubscriptTextElement", }, }, &litMatcher{ - pos: position{line: 2568, col: 27, offset: 84629}, + pos: position{line: 2567, col: 27, offset: 84716}, val: "~", ignoreCase: false, want: "\"~\"", @@ -60045,29 +60720,29 @@ var g = &grammar{ }, { name: "SuperscriptText", - pos: position{line: 2588, col: 1, offset: 85202}, + pos: position{line: 2587, col: 1, offset: 85289}, expr: &actionExpr{ - pos: position{line: 2589, col: 5, offset: 85226}, + pos: position{line: 2588, col: 5, offset: 85313}, run: (*parser).callonSuperscriptText1, expr: &seqExpr{ - pos: position{line: 2589, col: 5, offset: 85226}, + pos: position{line: 2588, col: 5, offset: 85313}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2595, col: 29, offset: 85453}, + pos: position{line: 2594, col: 29, offset: 85540}, val: "^", ignoreCase: false, want: "\"^\"", }, &labeledExpr{ - pos: position{line: 2590, col: 5, offset: 85256}, + pos: position{line: 2589, col: 5, offset: 85343}, label: "element", expr: &ruleRefExpr{ - pos: position{line: 2590, col: 14, offset: 85265}, + pos: position{line: 2589, col: 14, offset: 85352}, name: "SuperscriptTextElement", }, }, &litMatcher{ - pos: position{line: 2595, col: 29, offset: 85453}, + pos: position{line: 2594, col: 29, offset: 85540}, val: "^", ignoreCase: false, want: "\"^\"", @@ -60078,21 +60753,21 @@ var g = &grammar{ }, { name: "SuperscriptTextElement", - pos: position{line: 2597, col: 1, offset: 85458}, + pos: position{line: 2596, col: 1, offset: 85545}, expr: &choiceExpr{ - pos: position{line: 2597, col: 27, offset: 85484}, + pos: position{line: 2596, col: 27, offset: 85571}, alternatives: []interface{}{ &ruleRefExpr{ - pos: position{line: 2597, col: 27, offset: 85484}, + pos: position{line: 2596, col: 27, offset: 85571}, name: "QuotedText", }, &actionExpr{ - pos: position{line: 2599, col: 23, offset: 85540}, + pos: position{line: 2598, col: 23, offset: 85627}, run: (*parser).callonSuperscriptTextElement3, expr: &oneOrMoreExpr{ - pos: position{line: 2599, col: 23, offset: 85540}, + pos: position{line: 2598, col: 23, offset: 85627}, expr: &charClassMatcher{ - pos: position{line: 2599, col: 23, offset: 85540}, + pos: position{line: 2598, col: 23, offset: 85627}, val: "[^\\r\\n ^]", chars: []rune{'\r', '\n', ' ', '^'}, ignoreCase: false, @@ -60105,23 +60780,23 @@ var g = &grammar{ }, { name: "EscapedSuperscriptText", - pos: position{line: 2603, col: 1, offset: 85625}, + pos: position{line: 2602, col: 1, offset: 85712}, expr: &actionExpr{ - pos: position{line: 2605, col: 5, offset: 85697}, + pos: position{line: 2604, col: 5, offset: 85784}, run: (*parser).callonEscapedSuperscriptText1, expr: &seqExpr{ - pos: position{line: 2605, col: 5, offset: 85697}, + pos: position{line: 2604, col: 5, offset: 85784}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 2605, col: 5, offset: 85697}, + pos: position{line: 2604, col: 5, offset: 85784}, label: "backslashes", expr: &actionExpr{ - pos: position{line: 1935, col: 25, offset: 63574}, + pos: position{line: 1942, col: 25, offset: 63829}, run: (*parser).callonEscapedSuperscriptText4, expr: &oneOrMoreExpr{ - pos: position{line: 1935, col: 25, offset: 63574}, + pos: position{line: 1942, col: 25, offset: 63829}, expr: &litMatcher{ - pos: position{line: 1935, col: 25, offset: 63574}, + pos: position{line: 1942, col: 25, offset: 63829}, val: "\\", ignoreCase: false, want: "\"\\\\\"", @@ -60130,21 +60805,21 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 2595, col: 29, offset: 85453}, + pos: position{line: 2594, col: 29, offset: 85540}, val: "^", ignoreCase: false, want: "\"^\"", }, &labeledExpr{ - pos: position{line: 2607, col: 5, offset: 85767}, + pos: position{line: 2606, col: 5, offset: 85854}, label: "element", expr: &ruleRefExpr{ - pos: position{line: 2607, col: 14, offset: 85776}, + pos: position{line: 2606, col: 14, offset: 85863}, name: "SuperscriptTextElement", }, }, &litMatcher{ - pos: position{line: 2595, col: 29, offset: 85453}, + pos: position{line: 2594, col: 29, offset: 85540}, val: "^", ignoreCase: false, want: "\"^\"", @@ -60154,2691 +60829,307 @@ var g = &grammar{ }, }, { - name: "QuotedString", - pos: position{line: 2616, col: 1, offset: 86224}, - expr: &choiceExpr{ - pos: position{line: 2616, col: 17, offset: 86240}, - alternatives: []interface{}{ - &ruleRefExpr{ - pos: position{line: 2616, col: 17, offset: 86240}, - name: "SingleQuotedString", - }, - &ruleRefExpr{ - pos: position{line: 2616, col: 38, offset: 86261}, - name: "DoubleQuotedString", - }, - }, - }, - }, - { - name: "SingleQuotedString", - pos: position{line: 2618, col: 1, offset: 86281}, + name: "Substitutions", + pos: position{line: 2641, col: 1, offset: 87182}, expr: &actionExpr{ - pos: position{line: 2619, col: 5, offset: 86308}, - run: (*parser).callonSingleQuotedString1, + pos: position{line: 2642, col: 5, offset: 87236}, + run: (*parser).callonSubstitutions1, expr: &seqExpr{ - pos: position{line: 2619, col: 5, offset: 86308}, + pos: position{line: 2642, col: 5, offset: 87236}, exprs: []interface{}{ - &litMatcher{ - pos: position{line: 2631, col: 27, offset: 86683}, - val: "'`", - ignoreCase: false, - want: "\"'`\"", - }, - ¬Expr{ - pos: position{line: 2631, col: 32, offset: 86688}, - expr: &charClassMatcher{ - pos: position{line: 2631, col: 33, offset: 86689}, - val: "[ \\t\\r\\n]", - chars: []rune{' ', '\t', '\r', '\n'}, - ignoreCase: false, - inverted: false, - }, - }, &labeledExpr{ - pos: position{line: 2620, col: 5, offset: 86336}, + pos: position{line: 2642, col: 5, offset: 87236}, label: "elements", - expr: &ruleRefExpr{ - pos: position{line: 2620, col: 14, offset: 86345}, - name: "SingleQuotedStringElements", - }, - }, - &litMatcher{ - pos: position{line: 2633, col: 25, offset: 86724}, - val: "`'", - ignoreCase: false, - want: "\"`'\"", - }, - }, - }, - }, - }, - { - name: "SingleQuotedStringElements", - pos: position{line: 2625, col: 1, offset: 86489}, - expr: &actionExpr{ - pos: position{line: 2626, col: 5, offset: 86524}, - run: (*parser).callonSingleQuotedStringElements1, - expr: &labeledExpr{ - pos: position{line: 2626, col: 5, offset: 86524}, - label: "elements", - expr: &oneOrMoreExpr{ - pos: position{line: 2626, col: 14, offset: 86533}, - expr: &ruleRefExpr{ - pos: position{line: 2626, col: 15, offset: 86534}, - name: "SingleQuotedStringElement", - }, - }, - }, - }, - }, - { - name: "SingleQuotedStringElement", - pos: position{line: 2640, col: 1, offset: 86937}, - expr: &actionExpr{ - pos: position{line: 2641, col: 5, offset: 86971}, - run: (*parser).callonSingleQuotedStringElement1, - expr: &seqExpr{ - pos: position{line: 2641, col: 5, offset: 86971}, - exprs: []interface{}{ - ¬Expr{ - pos: position{line: 2641, col: 5, offset: 86971}, - expr: &litMatcher{ - pos: position{line: 2633, col: 25, offset: 86724}, - val: "`'", - ignoreCase: false, - want: "\"`'\"", - }, - }, - &labeledExpr{ - pos: position{line: 2642, col: 5, offset: 86997}, - label: "element", - expr: &choiceExpr{ - pos: position{line: 2643, col: 9, offset: 87015}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2635, col: 21, offset: 86750}, - run: (*parser).callonSingleQuotedStringElement7, - expr: &seqExpr{ - pos: position{line: 2635, col: 21, offset: 86750}, - exprs: []interface{}{ - &oneOrMoreExpr{ - pos: position{line: 2635, col: 21, offset: 86750}, - expr: &charClassMatcher{ - pos: position{line: 2635, col: 21, offset: 86750}, - val: "[0-9\\pL]", - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - &andExpr{ - pos: position{line: 2635, col: 31, offset: 86760}, - expr: &choiceExpr{ - pos: position{line: 2635, col: 33, offset: 86762}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, - run: (*parser).callonSingleQuotedStringElement13, - expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - &litMatcher{ - pos: position{line: 2633, col: 25, offset: 86724}, - val: "`'", - ignoreCase: false, - want: "\"`'\"", - }, - }, - }, - }, - }, - }, - }, - &seqExpr{ - pos: position{line: 2644, col: 11, offset: 87042}, + expr: &oneOrMoreExpr{ + pos: position{line: 2642, col: 14, offset: 87245}, + expr: &actionExpr{ + pos: position{line: 2643, col: 9, offset: 87255}, + run: (*parser).callonSubstitutions5, + expr: &seqExpr{ + pos: position{line: 2643, col: 9, offset: 87255}, exprs: []interface{}{ - &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, - run: (*parser).callonSingleQuotedStringElement17, - expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, ¬Expr{ - pos: position{line: 2644, col: 17, offset: 87048}, - expr: &litMatcher{ - pos: position{line: 2633, col: 25, offset: 86724}, - val: "`'", - ignoreCase: false, - want: "\"`'\"", + pos: position{line: 2643, col: 9, offset: 87255}, + expr: ¬Expr{ + pos: position{line: 3085, col: 8, offset: 100308}, + expr: &anyMatcher{ + line: 3085, col: 9, offset: 100309, + }, }, }, - }, - }, - &seqExpr{ - pos: position{line: 2645, col: 11, offset: 87080}, - exprs: []interface{}{ - &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, - run: (*parser).callonSingleQuotedStringElement22, + &labeledExpr{ + pos: position{line: 2644, col: 9, offset: 87268}, + label: "element", expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 2645, col: 13, offset: 87290}, alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 2645, col: 19, offset: 87088}, - expr: &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, - run: (*parser).callonSingleQuotedStringElement28, - expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 641, col: 5, offset: 20613}, - run: (*parser).callonSingleQuotedStringElement33, - expr: &seqExpr{ - pos: position{line: 641, col: 5, offset: 20613}, - exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 641, col: 5, offset: 20613}, - run: (*parser).callonSingleQuotedStringElement35, - }, - &labeledExpr{ - pos: position{line: 644, col: 5, offset: 20682}, - label: "element", - expr: &choiceExpr{ - pos: position{line: 644, col: 14, offset: 20691}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 664, col: 25, offset: 21344}, - run: (*parser).callonSingleQuotedStringElement38, - expr: &seqExpr{ - pos: position{line: 664, col: 25, offset: 21344}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 664, col: 25, offset: 21344}, - val: "{counter:", + &actionExpr{ + pos: position{line: 3005, col: 5, offset: 98023}, + run: (*parser).callonSubstitutions12, + expr: &seqExpr{ + pos: position{line: 3005, col: 5, offset: 98023}, + exprs: []interface{}{ + &oneOrMoreExpr{ + pos: position{line: 3005, col: 5, offset: 98023}, + expr: &charClassMatcher{ + pos: position{line: 3005, col: 5, offset: 98023}, + val: "[,;!?0-9\\pL]", + chars: []rune{',', ';', '!', '?'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, ignoreCase: false, - want: "\"{counter:\"", + inverted: false, }, - &labeledExpr{ - pos: position{line: 664, col: 37, offset: 21356}, - label: "name", - expr: &actionExpr{ - pos: position{line: 324, col: 18, offset: 10072}, - run: (*parser).callonSingleQuotedStringElement42, - expr: &seqExpr{ - pos: position{line: 324, col: 18, offset: 10072}, - exprs: []interface{}{ + }, + &choiceExpr{ + pos: position{line: 3006, col: 6, offset: 98073}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3072, col: 10, offset: 100034}, + run: (*parser).callonSubstitutions17, + expr: &charClassMatcher{ + pos: position{line: 3072, col: 11, offset: 100035}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + &andExpr{ + pos: position{line: 3006, col: 14, offset: 98081}, + expr: &choiceExpr{ + pos: position{line: 3006, col: 16, offset: 98083}, + alternatives: []interface{}{ &charClassMatcher{ - pos: position{line: 324, col: 18, offset: 10072}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, + pos: position{line: 3006, col: 16, offset: 98083}, + val: "[.�]", + chars: []rune{'.', '�'}, ignoreCase: false, inverted: false, }, - &zeroOrMoreExpr{ - pos: position{line: 324, col: 28, offset: 10082}, - expr: &charClassMatcher{ - pos: position{line: 324, col: 29, offset: 10083}, - val: "[-0-9\\pL]", - chars: []rune{'-'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 664, col: 56, offset: 21375}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 664, col: 62, offset: 21381}, - expr: &actionExpr{ - pos: position{line: 672, col: 17, offset: 21676}, - run: (*parser).callonSingleQuotedStringElement49, - expr: &seqExpr{ - pos: position{line: 672, col: 17, offset: 21676}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 672, col: 17, offset: 21676}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 672, col: 21, offset: 21680}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 672, col: 28, offset: 21687}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 672, col: 28, offset: 21687}, - run: (*parser).callonSingleQuotedStringElement54, - expr: &charClassMatcher{ - pos: position{line: 672, col: 28, offset: 21687}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 674, col: 9, offset: 21741}, - run: (*parser).callonSingleQuotedStringElement56, - expr: &oneOrMoreExpr{ - pos: position{line: 674, col: 9, offset: 21741}, - expr: &charClassMatcher{ - pos: position{line: 674, col: 9, offset: 21741}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, + &actionExpr{ + pos: position{line: 3081, col: 12, offset: 100218}, + run: (*parser).callonSubstitutions22, + expr: &choiceExpr{ + pos: position{line: 3081, col: 13, offset: 100219}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3081, col: 13, offset: 100219}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3081, col: 20, offset: 100226}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3081, col: 29, offset: 100235}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", }, }, }, }, + ¬Expr{ + pos: position{line: 3085, col: 8, offset: 100308}, + expr: &anyMatcher{ + line: 3085, col: 9, offset: 100309, + }, + }, }, }, }, }, - &litMatcher{ - pos: position{line: 664, col: 78, offset: 21397}, - val: "}", - ignoreCase: false, - want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 3072, col: 10, offset: 100034}, + run: (*parser).callonSubstitutions29, + expr: &charClassMatcher{ + pos: position{line: 3072, col: 11, offset: 100035}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + &actionExpr{ + pos: position{line: 3081, col: 12, offset: 100218}, + run: (*parser).callonSubstitutions31, + expr: &choiceExpr{ + pos: position{line: 3081, col: 13, offset: 100219}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3081, col: 13, offset: 100219}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3081, col: 20, offset: 100226}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3081, col: 29, offset: 100235}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1219, col: 23, offset: 38141}, + run: (*parser).callonSubstitutions36, + expr: &seqExpr{ + pos: position{line: 1219, col: 23, offset: 38141}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 1217, col: 32, offset: 38109}, + val: "�", + ignoreCase: false, + want: "\"�\"", + }, + &labeledExpr{ + pos: position{line: 1219, col: 51, offset: 38169}, + label: "ref", + expr: &actionExpr{ + pos: position{line: 1219, col: 56, offset: 38174}, + run: (*parser).callonSubstitutions40, + expr: &oneOrMoreExpr{ + pos: position{line: 1219, col: 56, offset: 38174}, + expr: &charClassMatcher{ + pos: position{line: 1219, col: 56, offset: 38174}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, }, }, + &litMatcher{ + pos: position{line: 1217, col: 32, offset: 38109}, + val: "�", + ignoreCase: false, + want: "\"�\"", + }, }, }, - &actionExpr{ - pos: position{line: 668, col: 25, offset: 21515}, - run: (*parser).callonSingleQuotedStringElement60, - expr: &seqExpr{ - pos: position{line: 668, col: 25, offset: 21515}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 668, col: 25, offset: 21515}, - val: "{counter2:", - ignoreCase: false, - want: "\"{counter2:\"", + }, + &actionExpr{ + pos: position{line: 1227, col: 5, offset: 38587}, + run: (*parser).callonSubstitutions44, + expr: &seqExpr{ + pos: position{line: 1227, col: 5, offset: 38587}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 1227, col: 5, offset: 38587}, + run: (*parser).callonSubstitutions46, + }, + &litMatcher{ + pos: position{line: 1230, col: 5, offset: 38689}, + val: "+", + ignoreCase: false, + want: "\"+\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 1230, col: 9, offset: 38693}, + expr: &actionExpr{ + pos: position{line: 3072, col: 10, offset: 100034}, + run: (*parser).callonSubstitutions49, + expr: &charClassMatcher{ + pos: position{line: 3072, col: 11, offset: 100035}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, }, - &labeledExpr{ - pos: position{line: 668, col: 38, offset: 21528}, - label: "name", - expr: &actionExpr{ - pos: position{line: 324, col: 18, offset: 10072}, - run: (*parser).callonSingleQuotedStringElement64, - expr: &seqExpr{ - pos: position{line: 324, col: 18, offset: 10072}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 324, col: 18, offset: 10072}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 324, col: 28, offset: 10082}, - expr: &charClassMatcher{ - pos: position{line: 324, col: 29, offset: 10083}, - val: "[-0-9\\pL]", - chars: []rune{'-'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, + }, + &andExpr{ + pos: position{line: 1230, col: 16, offset: 38700}, + expr: &choiceExpr{ + pos: position{line: 3088, col: 8, offset: 100358}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3081, col: 12, offset: 100218}, + run: (*parser).callonSubstitutions53, + expr: &choiceExpr{ + pos: position{line: 3081, col: 13, offset: 100219}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3081, col: 13, offset: 100219}, + val: "\n", ignoreCase: false, - inverted: false, + want: "\"\\n\"", }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 668, col: 57, offset: 21547}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 668, col: 63, offset: 21553}, - expr: &actionExpr{ - pos: position{line: 672, col: 17, offset: 21676}, - run: (*parser).callonSingleQuotedStringElement71, - expr: &seqExpr{ - pos: position{line: 672, col: 17, offset: 21676}, - exprs: []interface{}{ &litMatcher{ - pos: position{line: 672, col: 17, offset: 21676}, - val: ":", + pos: position{line: 3081, col: 20, offset: 100226}, + val: "\r\n", ignoreCase: false, - want: "\":\"", + want: "\"\\r\\n\"", }, - &labeledExpr{ - pos: position{line: 672, col: 21, offset: 21680}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 672, col: 28, offset: 21687}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 672, col: 28, offset: 21687}, - run: (*parser).callonSingleQuotedStringElement76, - expr: &charClassMatcher{ - pos: position{line: 672, col: 28, offset: 21687}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 674, col: 9, offset: 21741}, - run: (*parser).callonSingleQuotedStringElement78, - expr: &oneOrMoreExpr{ - pos: position{line: 674, col: 9, offset: 21741}, - expr: &charClassMatcher{ - pos: position{line: 674, col: 9, offset: 21741}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, + &litMatcher{ + pos: position{line: 3081, col: 29, offset: 100235}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", }, }, }, }, + ¬Expr{ + pos: position{line: 3085, col: 8, offset: 100308}, + expr: &anyMatcher{ + line: 3085, col: 9, offset: 100309, + }, + }, }, }, - &litMatcher{ - pos: position{line: 668, col: 79, offset: 21569}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, }, }, }, - &actionExpr{ - pos: position{line: 650, col: 5, offset: 20820}, - run: (*parser).callonSingleQuotedStringElement82, - expr: &seqExpr{ - pos: position{line: 650, col: 5, offset: 20820}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 650, col: 5, offset: 20820}, - val: "\\{", - ignoreCase: false, - want: "\"\\\\{\"", - }, - &labeledExpr{ - pos: position{line: 650, col: 13, offset: 20828}, - label: "name", - expr: &actionExpr{ - pos: position{line: 324, col: 18, offset: 10072}, - run: (*parser).callonSingleQuotedStringElement86, - expr: &seqExpr{ - pos: position{line: 324, col: 18, offset: 10072}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 324, col: 18, offset: 10072}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 324, col: 28, offset: 10082}, - expr: &charClassMatcher{ - pos: position{line: 324, col: 29, offset: 10083}, - val: "[-0-9\\pL]", - chars: []rune{'-'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 650, col: 32, offset: 20847}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 657, col: 5, offset: 21088}, - run: (*parser).callonSingleQuotedStringElement92, - expr: &seqExpr{ - pos: position{line: 657, col: 5, offset: 21088}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 657, col: 5, offset: 21088}, - val: "{", - ignoreCase: false, - want: "\"{\"", - }, - &labeledExpr{ - pos: position{line: 657, col: 9, offset: 21092}, - label: "name", - expr: &actionExpr{ - pos: position{line: 324, col: 18, offset: 10072}, - run: (*parser).callonSingleQuotedStringElement96, - expr: &seqExpr{ - pos: position{line: 324, col: 18, offset: 10072}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 324, col: 18, offset: 10072}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 324, col: 28, offset: 10082}, - expr: &charClassMatcher{ - pos: position{line: 324, col: 29, offset: 10083}, - val: "[-0-9\\pL]", - chars: []rune{'-'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 657, col: 28, offset: 21111}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &ruleRefExpr{ - pos: position{line: 2647, col: 11, offset: 87170}, - name: "InlineMacro", - }, - &actionExpr{ - pos: position{line: 2859, col: 5, offset: 93679}, - run: (*parser).callonSingleQuotedStringElement103, - expr: &seqExpr{ - pos: position{line: 2859, col: 5, offset: 93679}, - exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 2859, col: 5, offset: 93679}, - run: (*parser).callonSingleQuotedStringElement105, - }, - &labeledExpr{ - pos: position{line: 2862, col: 5, offset: 93755}, - label: "element", - expr: &choiceExpr{ - pos: position{line: 2864, col: 9, offset: 93853}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2864, col: 9, offset: 93853}, - run: (*parser).callonSingleQuotedStringElement108, - expr: &choiceExpr{ - pos: position{line: 692, col: 27, offset: 22395}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 692, col: 27, offset: 22395}, - run: (*parser).callonSingleQuotedStringElement110, - expr: &seqExpr{ - pos: position{line: 692, col: 27, offset: 22395}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 692, col: 27, offset: 22395}, - val: "<<", - ignoreCase: false, - want: "\"<<\"", - }, - &labeledExpr{ - pos: position{line: 692, col: 32, offset: 22400}, - label: "id", - expr: &actionExpr{ - pos: position{line: 3161, col: 7, offset: 103049}, - run: (*parser).callonSingleQuotedStringElement114, - expr: &oneOrMoreExpr{ - pos: position{line: 3161, col: 7, offset: 103049}, - expr: &charClassMatcher{ - pos: position{line: 3161, col: 7, offset: 103049}, - val: "[^[]<>,]", - chars: []rune{'[', ']', '<', '>', ','}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - &zeroOrMoreExpr{ - pos: position{line: 692, col: 40, offset: 22408}, - expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, - run: (*parser).callonSingleQuotedStringElement118, - expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &litMatcher{ - pos: position{line: 692, col: 47, offset: 22415}, - val: ",", - ignoreCase: false, - want: "\",\"", - }, - &labeledExpr{ - pos: position{line: 692, col: 51, offset: 22419}, - label: "label", - expr: &oneOrMoreExpr{ - pos: position{line: 702, col: 24, offset: 22820}, - expr: &choiceExpr{ - pos: position{line: 703, col: 5, offset: 22826}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 703, col: 6, offset: 22827}, - run: (*parser).callonSingleQuotedStringElement124, - expr: &seqExpr{ - pos: position{line: 703, col: 6, offset: 22827}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 703, col: 6, offset: 22827}, - val: "[0-9\\pL]", - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &oneOrMoreExpr{ - pos: position{line: 703, col: 14, offset: 22835}, - expr: &charClassMatcher{ - pos: position{line: 703, col: 14, offset: 22835}, - val: "[^\\r\\n{<>]", - chars: []rune{'\r', '\n', '{', '<', '>'}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 650, col: 5, offset: 20820}, - run: (*parser).callonSingleQuotedStringElement129, - expr: &seqExpr{ - pos: position{line: 650, col: 5, offset: 20820}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 650, col: 5, offset: 20820}, - val: "\\{", - ignoreCase: false, - want: "\"\\\\{\"", - }, - &labeledExpr{ - pos: position{line: 650, col: 13, offset: 20828}, - label: "name", - expr: &actionExpr{ - pos: position{line: 324, col: 18, offset: 10072}, - run: (*parser).callonSingleQuotedStringElement133, - expr: &seqExpr{ - pos: position{line: 324, col: 18, offset: 10072}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 324, col: 18, offset: 10072}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 324, col: 28, offset: 10082}, - expr: &charClassMatcher{ - pos: position{line: 324, col: 29, offset: 10083}, - val: "[-0-9\\pL]", - chars: []rune{'-'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 650, col: 32, offset: 20847}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 657, col: 5, offset: 21088}, - run: (*parser).callonSingleQuotedStringElement139, - expr: &seqExpr{ - pos: position{line: 657, col: 5, offset: 21088}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 657, col: 5, offset: 21088}, - val: "{", - ignoreCase: false, - want: "\"{\"", - }, - &labeledExpr{ - pos: position{line: 657, col: 9, offset: 21092}, - label: "name", - expr: &actionExpr{ - pos: position{line: 324, col: 18, offset: 10072}, - run: (*parser).callonSingleQuotedStringElement143, - expr: &seqExpr{ - pos: position{line: 324, col: 18, offset: 10072}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 324, col: 18, offset: 10072}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 324, col: 28, offset: 10082}, - expr: &charClassMatcher{ - pos: position{line: 324, col: 29, offset: 10083}, - val: "[-0-9\\pL]", - chars: []rune{'-'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 657, col: 28, offset: 21111}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 707, col: 8, offset: 23061}, - run: (*parser).callonSingleQuotedStringElement149, - expr: &litMatcher{ - pos: position{line: 707, col: 8, offset: 23061}, - val: "{", - ignoreCase: false, - want: "\"{\"", - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 692, col: 79, offset: 22447}, - val: ">>", - ignoreCase: false, - want: "\">>\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 694, col: 9, offset: 22520}, - run: (*parser).callonSingleQuotedStringElement152, - expr: &seqExpr{ - pos: position{line: 694, col: 9, offset: 22520}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 694, col: 9, offset: 22520}, - val: "<<", - ignoreCase: false, - want: "\"<<\"", - }, - &labeledExpr{ - pos: position{line: 694, col: 14, offset: 22525}, - label: "id", - expr: &actionExpr{ - pos: position{line: 3161, col: 7, offset: 103049}, - run: (*parser).callonSingleQuotedStringElement156, - expr: &oneOrMoreExpr{ - pos: position{line: 3161, col: 7, offset: 103049}, - expr: &charClassMatcher{ - pos: position{line: 3161, col: 7, offset: 103049}, - val: "[^[]<>,]", - chars: []rune{'[', ']', '<', '>', ','}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 694, col: 22, offset: 22533}, - val: ">>", - ignoreCase: false, - want: "\">>\"", - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 2867, col: 11, offset: 93957}, - run: (*parser).callonSingleQuotedStringElement160, - expr: &charClassMatcher{ - pos: position{line: 2867, col: 12, offset: 93958}, - val: "[<>&]", - chars: []rune{'<', '>', '&'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - &seqExpr{ - pos: position{line: 2649, col: 11, offset: 87269}, - exprs: []interface{}{ - &actionExpr{ - pos: position{line: 1220, col: 5, offset: 38317}, - run: (*parser).callonSingleQuotedStringElement163, - expr: &seqExpr{ - pos: position{line: 1220, col: 5, offset: 38317}, - exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 1220, col: 5, offset: 38317}, - run: (*parser).callonSingleQuotedStringElement165, - }, - &litMatcher{ - pos: position{line: 1223, col: 5, offset: 38419}, - val: "+", - ignoreCase: false, - want: "\"+\"", - }, - &zeroOrMoreExpr{ - pos: position{line: 1223, col: 9, offset: 38423}, - expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, - run: (*parser).callonSingleQuotedStringElement168, - expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &andExpr{ - pos: position{line: 1223, col: 16, offset: 38430}, - expr: &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, - run: (*parser).callonSingleQuotedStringElement172, - expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, - expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, - }, - }, - }, - }, - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 2649, col: 21, offset: 87279}, - expr: &litMatcher{ - pos: position{line: 2633, col: 25, offset: 86724}, - val: "`'", - ignoreCase: false, - want: "\"`'\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 2892, col: 5, offset: 94851}, - run: (*parser).callonSingleQuotedStringElement181, - expr: &seqExpr{ - pos: position{line: 2892, col: 5, offset: 94851}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 2892, col: 5, offset: 94851}, - val: "\\", - ignoreCase: false, - want: "\"\\\\\"", - }, - &choiceExpr{ - pos: position{line: 2892, col: 10, offset: 94856}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2900, col: 15, offset: 95132}, - run: (*parser).callonSingleQuotedStringElement185, - expr: &litMatcher{ - pos: position{line: 2900, col: 15, offset: 95132}, - val: "`'", - ignoreCase: false, - want: "\"`'\"", - }, - }, - &actionExpr{ - pos: position{line: 2906, col: 14, offset: 95236}, - run: (*parser).callonSingleQuotedStringElement187, - expr: &litMatcher{ - pos: position{line: 2906, col: 14, offset: 95236}, - val: "(C)", - ignoreCase: false, - want: "\"(C)\"", - }, - }, - &actionExpr{ - pos: position{line: 2910, col: 14, offset: 95302}, - run: (*parser).callonSingleQuotedStringElement189, - expr: &litMatcher{ - pos: position{line: 2910, col: 14, offset: 95302}, - val: "(TM)", - ignoreCase: false, - want: "\"(TM)\"", - }, - }, - &actionExpr{ - pos: position{line: 2914, col: 15, offset: 95371}, - run: (*parser).callonSingleQuotedStringElement191, - expr: &litMatcher{ - pos: position{line: 2914, col: 15, offset: 95371}, - val: "(R)", - ignoreCase: false, - want: "\"(R)\"", - }, - }, - &actionExpr{ - pos: position{line: 2918, col: 13, offset: 95436}, - run: (*parser).callonSingleQuotedStringElement193, - expr: &litMatcher{ - pos: position{line: 2918, col: 13, offset: 95436}, - val: "...", - ignoreCase: false, - want: "\"...\"", - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 2900, col: 15, offset: 95132}, - run: (*parser).callonSingleQuotedStringElement195, - expr: &litMatcher{ - pos: position{line: 2900, col: 15, offset: 95132}, - val: "`'", - ignoreCase: false, - want: "\"`'\"", - }, - }, - &actionExpr{ - pos: position{line: 2906, col: 14, offset: 95236}, - run: (*parser).callonSingleQuotedStringElement197, - expr: &litMatcher{ - pos: position{line: 2906, col: 14, offset: 95236}, - val: "(C)", - ignoreCase: false, - want: "\"(C)\"", - }, - }, - &actionExpr{ - pos: position{line: 2910, col: 14, offset: 95302}, - run: (*parser).callonSingleQuotedStringElement199, - expr: &litMatcher{ - pos: position{line: 2910, col: 14, offset: 95302}, - val: "(TM)", - ignoreCase: false, - want: "\"(TM)\"", - }, - }, - &actionExpr{ - pos: position{line: 2914, col: 15, offset: 95371}, - run: (*parser).callonSingleQuotedStringElement201, - expr: &litMatcher{ - pos: position{line: 2914, col: 15, offset: 95371}, - val: "(R)", - ignoreCase: false, - want: "\"(R)\"", - }, - }, - &actionExpr{ - pos: position{line: 2918, col: 13, offset: 95436}, - run: (*parser).callonSingleQuotedStringElement203, - expr: &litMatcher{ - pos: position{line: 2918, col: 13, offset: 95436}, - val: "...", - ignoreCase: false, - want: "\"...\"", - }, - }, - &actionExpr{ - pos: position{line: 2929, col: 5, offset: 95746}, - run: (*parser).callonSingleQuotedStringElement205, - expr: &seqExpr{ - pos: position{line: 2929, col: 5, offset: 95746}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 3090, col: 13, offset: 100713}, - val: "[0-9\\pL]", - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &litMatcher{ - pos: position{line: 2929, col: 14, offset: 95755}, - val: "\\'", - ignoreCase: false, - want: "\"\\\\'\"", - }, - &andExpr{ - pos: position{line: 2929, col: 19, offset: 95760}, - expr: &charClassMatcher{ - pos: position{line: 2929, col: 20, offset: 95761}, - val: "[\\pL]", - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 2935, col: 5, offset: 95992}, - run: (*parser).callonSingleQuotedStringElement211, - expr: &seqExpr{ - pos: position{line: 2935, col: 5, offset: 95992}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 3090, col: 13, offset: 100713}, - val: "[0-9\\pL]", - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &litMatcher{ - pos: position{line: 2935, col: 14, offset: 96001}, - val: "'", - ignoreCase: false, - want: "\"'\"", - }, - &andExpr{ - pos: position{line: 2935, col: 18, offset: 96005}, - expr: &charClassMatcher{ - pos: position{line: 2935, col: 19, offset: 96006}, - val: "[\\pL]", - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - &ruleRefExpr{ - pos: position{line: 2651, col: 11, offset: 87328}, - name: "QuotedTextInSingleQuotedString", - }, - &ruleRefExpr{ - pos: position{line: 2652, col: 11, offset: 87369}, - name: "DoubleQuotedString", - }, - &charClassMatcher{ - pos: position{line: 2670, col: 41, offset: 87887}, - val: "[^\\r\\n\\t `]", - chars: []rune{'\r', '\n', '\t', ' ', '`'}, - ignoreCase: false, - inverted: true, - }, - &actionExpr{ - pos: position{line: 2670, col: 55, offset: 87901}, - run: (*parser).callonSingleQuotedStringElement220, - expr: &seqExpr{ - pos: position{line: 2670, col: 55, offset: 87901}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 2670, col: 55, offset: 87901}, - val: "`", - ignoreCase: false, - want: "\"`\"", - }, - ¬Expr{ - pos: position{line: 2670, col: 59, offset: 87905}, - expr: &litMatcher{ - pos: position{line: 2670, col: 60, offset: 87906}, - val: "'", - ignoreCase: false, - want: "\"'\"", - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - { - name: "QuotedTextInSingleQuotedString", - pos: position{line: 2659, col: 1, offset: 87513}, - expr: &actionExpr{ - pos: position{line: 2660, col: 5, offset: 87551}, - run: (*parser).callonQuotedTextInSingleQuotedString1, - expr: &seqExpr{ - pos: position{line: 2660, col: 5, offset: 87551}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 2660, col: 5, offset: 87551}, - label: "attributes", - expr: &zeroOrOneExpr{ - pos: position{line: 2660, col: 16, offset: 87562}, - expr: &ruleRefExpr{ - pos: position{line: 2660, col: 17, offset: 87563}, - name: "LongHandAttributes", - }, - }, - }, - &labeledExpr{ - pos: position{line: 2661, col: 5, offset: 87589}, - label: "text", - expr: &choiceExpr{ - pos: position{line: 2661, col: 11, offset: 87595}, - alternatives: []interface{}{ - &ruleRefExpr{ - pos: position{line: 2661, col: 11, offset: 87595}, - name: "BoldText", - }, - &ruleRefExpr{ - pos: position{line: 2662, col: 11, offset: 87614}, - name: "ItalicText", - }, - &actionExpr{ - pos: position{line: 2663, col: 12, offset: 87636}, - run: (*parser).callonQuotedTextInSingleQuotedString10, - expr: &seqExpr{ - pos: position{line: 2663, col: 12, offset: 87636}, - exprs: []interface{}{ - ¬Expr{ - pos: position{line: 2663, col: 12, offset: 87636}, - expr: &litMatcher{ - pos: position{line: 2663, col: 13, offset: 87637}, - val: "`'", - ignoreCase: false, - want: "\"`'\"", - }, - }, - &labeledExpr{ - pos: position{line: 2663, col: 18, offset: 87642}, - label: "element", - expr: &ruleRefExpr{ - pos: position{line: 2663, col: 27, offset: 87651}, - name: "MonospaceText", - }, - }, - }, - }, - }, - &ruleRefExpr{ - pos: position{line: 2664, col: 11, offset: 87700}, - name: "SubscriptText", - }, - &ruleRefExpr{ - pos: position{line: 2665, col: 11, offset: 87724}, - name: "SuperscriptText", - }, - &ruleRefExpr{ - pos: position{line: 2666, col: 11, offset: 87750}, - name: "MarkedText", - }, - }, - }, - }, - }, - }, - }, - }, - { - name: "DoubleQuotedString", - pos: position{line: 2674, col: 1, offset: 87978}, - expr: &actionExpr{ - pos: position{line: 2674, col: 23, offset: 88000}, - run: (*parser).callonDoubleQuotedString1, - expr: &seqExpr{ - pos: position{line: 2674, col: 23, offset: 88000}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 2713, col: 27, offset: 89353}, - val: "\"`", - ignoreCase: false, - want: "\"\\\"`\"", - }, - ¬Expr{ - pos: position{line: 2713, col: 33, offset: 89359}, - expr: &charClassMatcher{ - pos: position{line: 2713, col: 34, offset: 89360}, - val: "[ \\t\\r\\n]", - chars: []rune{' ', '\t', '\r', '\n'}, - ignoreCase: false, - inverted: false, - }, - }, - &labeledExpr{ - pos: position{line: 2674, col: 46, offset: 88023}, - label: "elements", - expr: &ruleRefExpr{ - pos: position{line: 2674, col: 55, offset: 88032}, - name: "DoubleQuotedStringElements", - }, - }, - &litMatcher{ - pos: position{line: 2715, col: 25, offset: 89395}, - val: "`\"", - ignoreCase: false, - want: "\"`\\\"\"", - }, - }, - }, - }, - }, - { - name: "DoubleQuotedStringElements", - pos: position{line: 2678, col: 1, offset: 88171}, - expr: &actionExpr{ - pos: position{line: 2678, col: 31, offset: 88201}, - run: (*parser).callonDoubleQuotedStringElements1, - expr: &labeledExpr{ - pos: position{line: 2678, col: 31, offset: 88201}, - label: "elements", - expr: &oneOrMoreExpr{ - pos: position{line: 2678, col: 41, offset: 88211}, - expr: &ruleRefExpr{ - pos: position{line: 2678, col: 41, offset: 88211}, - name: "DoubleQuotedStringElement", - }, - }, - }, - }, - }, - { - name: "DoubleQuotedStringElement", - pos: position{line: 2684, col: 1, offset: 88416}, - expr: &actionExpr{ - pos: position{line: 2685, col: 5, offset: 88450}, - run: (*parser).callonDoubleQuotedStringElement1, - expr: &seqExpr{ - pos: position{line: 2685, col: 5, offset: 88450}, - exprs: []interface{}{ - ¬Expr{ - pos: position{line: 2685, col: 5, offset: 88450}, - expr: &litMatcher{ - pos: position{line: 2715, col: 25, offset: 89395}, - val: "`\"", - ignoreCase: false, - want: "\"`\\\"\"", - }, - }, - &labeledExpr{ - pos: position{line: 2686, col: 5, offset: 88476}, - label: "element", - expr: &choiceExpr{ - pos: position{line: 2687, col: 9, offset: 88494}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2635, col: 21, offset: 86750}, - run: (*parser).callonDoubleQuotedStringElement7, - expr: &seqExpr{ - pos: position{line: 2635, col: 21, offset: 86750}, - exprs: []interface{}{ - &oneOrMoreExpr{ - pos: position{line: 2635, col: 21, offset: 86750}, - expr: &charClassMatcher{ - pos: position{line: 2635, col: 21, offset: 86750}, - val: "[0-9\\pL]", - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - &andExpr{ - pos: position{line: 2635, col: 31, offset: 86760}, - expr: &choiceExpr{ - pos: position{line: 2635, col: 33, offset: 86762}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, - run: (*parser).callonDoubleQuotedStringElement13, - expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - &litMatcher{ - pos: position{line: 2633, col: 25, offset: 86724}, - val: "`'", - ignoreCase: false, - want: "\"`'\"", - }, - }, - }, - }, - }, - }, - }, - &seqExpr{ - pos: position{line: 2688, col: 11, offset: 88521}, - exprs: []interface{}{ - &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, - run: (*parser).callonDoubleQuotedStringElement17, - expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - ¬Expr{ - pos: position{line: 2688, col: 17, offset: 88527}, - expr: &litMatcher{ - pos: position{line: 2715, col: 25, offset: 89395}, - val: "`\"", - ignoreCase: false, - want: "\"`\\\"\"", - }, - }, - }, - }, - &seqExpr{ - pos: position{line: 2689, col: 11, offset: 88559}, - exprs: []interface{}{ - &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, - run: (*parser).callonDoubleQuotedStringElement22, - expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 2689, col: 19, offset: 88567}, - expr: &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, - run: (*parser).callonDoubleQuotedStringElement28, - expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - }, - }, - }, - &seqExpr{ - pos: position{line: 2690, col: 11, offset: 88620}, - exprs: []interface{}{ - &actionExpr{ - pos: position{line: 1220, col: 5, offset: 38317}, - run: (*parser).callonDoubleQuotedStringElement34, - expr: &seqExpr{ - pos: position{line: 1220, col: 5, offset: 38317}, - exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 1220, col: 5, offset: 38317}, - run: (*parser).callonDoubleQuotedStringElement36, - }, - &litMatcher{ - pos: position{line: 1223, col: 5, offset: 38419}, - val: "+", - ignoreCase: false, - want: "\"+\"", - }, - &zeroOrMoreExpr{ - pos: position{line: 1223, col: 9, offset: 38423}, - expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, - run: (*parser).callonDoubleQuotedStringElement39, - expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &andExpr{ - pos: position{line: 1223, col: 16, offset: 38430}, - expr: &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, - run: (*parser).callonDoubleQuotedStringElement43, - expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, - expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, - }, - }, - }, - }, - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 2690, col: 21, offset: 88630}, - expr: &litMatcher{ - pos: position{line: 2633, col: 25, offset: 86724}, - val: "`'", - ignoreCase: false, - want: "\"`'\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 641, col: 5, offset: 20613}, - run: (*parser).callonDoubleQuotedStringElement52, - expr: &seqExpr{ - pos: position{line: 641, col: 5, offset: 20613}, - exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 641, col: 5, offset: 20613}, - run: (*parser).callonDoubleQuotedStringElement54, - }, - &labeledExpr{ - pos: position{line: 644, col: 5, offset: 20682}, - label: "element", - expr: &choiceExpr{ - pos: position{line: 644, col: 14, offset: 20691}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 664, col: 25, offset: 21344}, - run: (*parser).callonDoubleQuotedStringElement57, - expr: &seqExpr{ - pos: position{line: 664, col: 25, offset: 21344}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 664, col: 25, offset: 21344}, - val: "{counter:", - ignoreCase: false, - want: "\"{counter:\"", - }, - &labeledExpr{ - pos: position{line: 664, col: 37, offset: 21356}, - label: "name", - expr: &actionExpr{ - pos: position{line: 324, col: 18, offset: 10072}, - run: (*parser).callonDoubleQuotedStringElement61, - expr: &seqExpr{ - pos: position{line: 324, col: 18, offset: 10072}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 324, col: 18, offset: 10072}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 324, col: 28, offset: 10082}, - expr: &charClassMatcher{ - pos: position{line: 324, col: 29, offset: 10083}, - val: "[-0-9\\pL]", - chars: []rune{'-'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 664, col: 56, offset: 21375}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 664, col: 62, offset: 21381}, - expr: &actionExpr{ - pos: position{line: 672, col: 17, offset: 21676}, - run: (*parser).callonDoubleQuotedStringElement68, - expr: &seqExpr{ - pos: position{line: 672, col: 17, offset: 21676}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 672, col: 17, offset: 21676}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 672, col: 21, offset: 21680}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 672, col: 28, offset: 21687}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 672, col: 28, offset: 21687}, - run: (*parser).callonDoubleQuotedStringElement73, - expr: &charClassMatcher{ - pos: position{line: 672, col: 28, offset: 21687}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 674, col: 9, offset: 21741}, - run: (*parser).callonDoubleQuotedStringElement75, - expr: &oneOrMoreExpr{ - pos: position{line: 674, col: 9, offset: 21741}, - expr: &charClassMatcher{ - pos: position{line: 674, col: 9, offset: 21741}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 664, col: 78, offset: 21397}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 668, col: 25, offset: 21515}, - run: (*parser).callonDoubleQuotedStringElement79, - expr: &seqExpr{ - pos: position{line: 668, col: 25, offset: 21515}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 668, col: 25, offset: 21515}, - val: "{counter2:", - ignoreCase: false, - want: "\"{counter2:\"", - }, - &labeledExpr{ - pos: position{line: 668, col: 38, offset: 21528}, - label: "name", - expr: &actionExpr{ - pos: position{line: 324, col: 18, offset: 10072}, - run: (*parser).callonDoubleQuotedStringElement83, - expr: &seqExpr{ - pos: position{line: 324, col: 18, offset: 10072}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 324, col: 18, offset: 10072}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 324, col: 28, offset: 10082}, - expr: &charClassMatcher{ - pos: position{line: 324, col: 29, offset: 10083}, - val: "[-0-9\\pL]", - chars: []rune{'-'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 668, col: 57, offset: 21547}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 668, col: 63, offset: 21553}, - expr: &actionExpr{ - pos: position{line: 672, col: 17, offset: 21676}, - run: (*parser).callonDoubleQuotedStringElement90, - expr: &seqExpr{ - pos: position{line: 672, col: 17, offset: 21676}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 672, col: 17, offset: 21676}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 672, col: 21, offset: 21680}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 672, col: 28, offset: 21687}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 672, col: 28, offset: 21687}, - run: (*parser).callonDoubleQuotedStringElement95, - expr: &charClassMatcher{ - pos: position{line: 672, col: 28, offset: 21687}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 674, col: 9, offset: 21741}, - run: (*parser).callonDoubleQuotedStringElement97, - expr: &oneOrMoreExpr{ - pos: position{line: 674, col: 9, offset: 21741}, - expr: &charClassMatcher{ - pos: position{line: 674, col: 9, offset: 21741}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 668, col: 79, offset: 21569}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 650, col: 5, offset: 20820}, - run: (*parser).callonDoubleQuotedStringElement101, - expr: &seqExpr{ - pos: position{line: 650, col: 5, offset: 20820}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 650, col: 5, offset: 20820}, - val: "\\{", - ignoreCase: false, - want: "\"\\\\{\"", - }, - &labeledExpr{ - pos: position{line: 650, col: 13, offset: 20828}, - label: "name", - expr: &actionExpr{ - pos: position{line: 324, col: 18, offset: 10072}, - run: (*parser).callonDoubleQuotedStringElement105, - expr: &seqExpr{ - pos: position{line: 324, col: 18, offset: 10072}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 324, col: 18, offset: 10072}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 324, col: 28, offset: 10082}, - expr: &charClassMatcher{ - pos: position{line: 324, col: 29, offset: 10083}, - val: "[-0-9\\pL]", - chars: []rune{'-'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 650, col: 32, offset: 20847}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 657, col: 5, offset: 21088}, - run: (*parser).callonDoubleQuotedStringElement111, - expr: &seqExpr{ - pos: position{line: 657, col: 5, offset: 21088}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 657, col: 5, offset: 21088}, - val: "{", - ignoreCase: false, - want: "\"{\"", - }, - &labeledExpr{ - pos: position{line: 657, col: 9, offset: 21092}, - label: "name", - expr: &actionExpr{ - pos: position{line: 324, col: 18, offset: 10072}, - run: (*parser).callonDoubleQuotedStringElement115, - expr: &seqExpr{ - pos: position{line: 324, col: 18, offset: 10072}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 324, col: 18, offset: 10072}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 324, col: 28, offset: 10082}, - expr: &charClassMatcher{ - pos: position{line: 324, col: 29, offset: 10083}, - val: "[-0-9\\pL]", - chars: []rune{'-'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 657, col: 28, offset: 21111}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &ruleRefExpr{ - pos: position{line: 2692, col: 11, offset: 88692}, - name: "InlineMacro", - }, - &actionExpr{ - pos: position{line: 2859, col: 5, offset: 93679}, - run: (*parser).callonDoubleQuotedStringElement122, - expr: &seqExpr{ - pos: position{line: 2859, col: 5, offset: 93679}, - exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 2859, col: 5, offset: 93679}, - run: (*parser).callonDoubleQuotedStringElement124, - }, - &labeledExpr{ - pos: position{line: 2862, col: 5, offset: 93755}, - label: "element", - expr: &choiceExpr{ - pos: position{line: 2864, col: 9, offset: 93853}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2864, col: 9, offset: 93853}, - run: (*parser).callonDoubleQuotedStringElement127, - expr: &choiceExpr{ - pos: position{line: 692, col: 27, offset: 22395}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 692, col: 27, offset: 22395}, - run: (*parser).callonDoubleQuotedStringElement129, - expr: &seqExpr{ - pos: position{line: 692, col: 27, offset: 22395}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 692, col: 27, offset: 22395}, - val: "<<", - ignoreCase: false, - want: "\"<<\"", - }, - &labeledExpr{ - pos: position{line: 692, col: 32, offset: 22400}, - label: "id", - expr: &actionExpr{ - pos: position{line: 3161, col: 7, offset: 103049}, - run: (*parser).callonDoubleQuotedStringElement133, - expr: &oneOrMoreExpr{ - pos: position{line: 3161, col: 7, offset: 103049}, - expr: &charClassMatcher{ - pos: position{line: 3161, col: 7, offset: 103049}, - val: "[^[]<>,]", - chars: []rune{'[', ']', '<', '>', ','}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - &zeroOrMoreExpr{ - pos: position{line: 692, col: 40, offset: 22408}, - expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, - run: (*parser).callonDoubleQuotedStringElement137, - expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &litMatcher{ - pos: position{line: 692, col: 47, offset: 22415}, - val: ",", - ignoreCase: false, - want: "\",\"", - }, - &labeledExpr{ - pos: position{line: 692, col: 51, offset: 22419}, - label: "label", - expr: &oneOrMoreExpr{ - pos: position{line: 702, col: 24, offset: 22820}, - expr: &choiceExpr{ - pos: position{line: 703, col: 5, offset: 22826}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 703, col: 6, offset: 22827}, - run: (*parser).callonDoubleQuotedStringElement143, - expr: &seqExpr{ - pos: position{line: 703, col: 6, offset: 22827}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 703, col: 6, offset: 22827}, - val: "[0-9\\pL]", - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &oneOrMoreExpr{ - pos: position{line: 703, col: 14, offset: 22835}, - expr: &charClassMatcher{ - pos: position{line: 703, col: 14, offset: 22835}, - val: "[^\\r\\n{<>]", - chars: []rune{'\r', '\n', '{', '<', '>'}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 650, col: 5, offset: 20820}, - run: (*parser).callonDoubleQuotedStringElement148, - expr: &seqExpr{ - pos: position{line: 650, col: 5, offset: 20820}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 650, col: 5, offset: 20820}, - val: "\\{", - ignoreCase: false, - want: "\"\\\\{\"", - }, - &labeledExpr{ - pos: position{line: 650, col: 13, offset: 20828}, - label: "name", - expr: &actionExpr{ - pos: position{line: 324, col: 18, offset: 10072}, - run: (*parser).callonDoubleQuotedStringElement152, - expr: &seqExpr{ - pos: position{line: 324, col: 18, offset: 10072}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 324, col: 18, offset: 10072}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 324, col: 28, offset: 10082}, - expr: &charClassMatcher{ - pos: position{line: 324, col: 29, offset: 10083}, - val: "[-0-9\\pL]", - chars: []rune{'-'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 650, col: 32, offset: 20847}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 657, col: 5, offset: 21088}, - run: (*parser).callonDoubleQuotedStringElement158, - expr: &seqExpr{ - pos: position{line: 657, col: 5, offset: 21088}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 657, col: 5, offset: 21088}, - val: "{", - ignoreCase: false, - want: "\"{\"", - }, - &labeledExpr{ - pos: position{line: 657, col: 9, offset: 21092}, - label: "name", - expr: &actionExpr{ - pos: position{line: 324, col: 18, offset: 10072}, - run: (*parser).callonDoubleQuotedStringElement162, - expr: &seqExpr{ - pos: position{line: 324, col: 18, offset: 10072}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 324, col: 18, offset: 10072}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 324, col: 28, offset: 10082}, - expr: &charClassMatcher{ - pos: position{line: 324, col: 29, offset: 10083}, - val: "[-0-9\\pL]", - chars: []rune{'-'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 657, col: 28, offset: 21111}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 707, col: 8, offset: 23061}, - run: (*parser).callonDoubleQuotedStringElement168, - expr: &litMatcher{ - pos: position{line: 707, col: 8, offset: 23061}, - val: "{", - ignoreCase: false, - want: "\"{\"", - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 692, col: 79, offset: 22447}, - val: ">>", - ignoreCase: false, - want: "\">>\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 694, col: 9, offset: 22520}, - run: (*parser).callonDoubleQuotedStringElement171, - expr: &seqExpr{ - pos: position{line: 694, col: 9, offset: 22520}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 694, col: 9, offset: 22520}, - val: "<<", - ignoreCase: false, - want: "\"<<\"", - }, - &labeledExpr{ - pos: position{line: 694, col: 14, offset: 22525}, - label: "id", - expr: &actionExpr{ - pos: position{line: 3161, col: 7, offset: 103049}, - run: (*parser).callonDoubleQuotedStringElement175, - expr: &oneOrMoreExpr{ - pos: position{line: 3161, col: 7, offset: 103049}, - expr: &charClassMatcher{ - pos: position{line: 3161, col: 7, offset: 103049}, - val: "[^[]<>,]", - chars: []rune{'[', ']', '<', '>', ','}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 694, col: 22, offset: 22533}, - val: ">>", - ignoreCase: false, - want: "\">>\"", - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 2867, col: 11, offset: 93957}, - run: (*parser).callonDoubleQuotedStringElement179, - expr: &charClassMatcher{ - pos: position{line: 2867, col: 12, offset: 93958}, - val: "[<>&]", - chars: []rune{'<', '>', '&'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - &ruleRefExpr{ - pos: position{line: 2694, col: 11, offset: 88791}, - name: "QuotedTextInDoubleQuotedString", - }, - &ruleRefExpr{ - pos: position{line: 2695, col: 11, offset: 88832}, - name: "SingleQuotedString", - }, - &actionExpr{ - pos: position{line: 2717, col: 41, offset: 89442}, - run: (*parser).callonDoubleQuotedStringElement183, - expr: &choiceExpr{ - pos: position{line: 2717, col: 42, offset: 89443}, - alternatives: []interface{}{ - &charClassMatcher{ - pos: position{line: 2717, col: 42, offset: 89443}, - val: "[^\\r\\n\\t `]", - chars: []rune{'\r', '\n', '\t', ' ', '`'}, - ignoreCase: false, - inverted: true, - }, - &seqExpr{ - pos: position{line: 2717, col: 56, offset: 89457}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 2717, col: 56, offset: 89457}, - val: "`", - ignoreCase: false, - want: "\"`\"", - }, - ¬Expr{ - pos: position{line: 2717, col: 60, offset: 89461}, - expr: &litMatcher{ - pos: position{line: 2717, col: 61, offset: 89462}, - val: "\"", - ignoreCase: false, - want: "\"\\\"\"", - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - { - name: "QuotedTextInDoubleQuotedString", - pos: position{line: 2701, col: 1, offset: 88983}, - expr: &actionExpr{ - pos: position{line: 2702, col: 5, offset: 89021}, - run: (*parser).callonQuotedTextInDoubleQuotedString1, - expr: &seqExpr{ - pos: position{line: 2702, col: 5, offset: 89021}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 2702, col: 5, offset: 89021}, - label: "attributes", - expr: &zeroOrOneExpr{ - pos: position{line: 2702, col: 16, offset: 89032}, - expr: &ruleRefExpr{ - pos: position{line: 2702, col: 17, offset: 89033}, - name: "LongHandAttributes", - }, - }, - }, - &labeledExpr{ - pos: position{line: 2703, col: 5, offset: 89059}, - label: "text", - expr: &choiceExpr{ - pos: position{line: 2704, col: 9, offset: 89074}, - alternatives: []interface{}{ - &ruleRefExpr{ - pos: position{line: 2704, col: 9, offset: 89074}, - name: "BoldText", - }, - &ruleRefExpr{ - pos: position{line: 2705, col: 11, offset: 89093}, - name: "ItalicText", - }, - &actionExpr{ - pos: position{line: 2706, col: 12, offset: 89115}, - run: (*parser).callonQuotedTextInDoubleQuotedString10, - expr: &seqExpr{ - pos: position{line: 2706, col: 12, offset: 89115}, - exprs: []interface{}{ - ¬Expr{ - pos: position{line: 2706, col: 12, offset: 89115}, - expr: &litMatcher{ - pos: position{line: 2706, col: 13, offset: 89116}, - val: "`\"", - ignoreCase: false, - want: "\"`\\\"\"", - }, - }, - &labeledExpr{ - pos: position{line: 2706, col: 19, offset: 89122}, - label: "element", - expr: &ruleRefExpr{ - pos: position{line: 2706, col: 28, offset: 89131}, - name: "MonospaceText", - }, - }, - }, - }, - }, - &ruleRefExpr{ - pos: position{line: 2707, col: 11, offset: 89180}, - name: "SubscriptText", - }, - &ruleRefExpr{ - pos: position{line: 2708, col: 11, offset: 89204}, - name: "SuperscriptText", - }, - &ruleRefExpr{ - pos: position{line: 2709, col: 11, offset: 89230}, - name: "MarkedText", - }, - }, - }, - }, - }, - }, - }, - }, - { - name: "Substitutions", - pos: position{line: 2751, col: 1, offset: 90663}, - expr: &actionExpr{ - pos: position{line: 2752, col: 5, offset: 90717}, - run: (*parser).callonSubstitutions1, - expr: &seqExpr{ - pos: position{line: 2752, col: 5, offset: 90717}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 2752, col: 5, offset: 90717}, - label: "elements", - expr: &oneOrMoreExpr{ - pos: position{line: 2752, col: 14, offset: 90726}, - expr: &actionExpr{ - pos: position{line: 2753, col: 9, offset: 90736}, - run: (*parser).callonSubstitutions5, - expr: &seqExpr{ - pos: position{line: 2753, col: 9, offset: 90736}, - exprs: []interface{}{ - ¬Expr{ - pos: position{line: 2753, col: 9, offset: 90736}, - expr: ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, - expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, - }, - }, - }, - &labeledExpr{ - pos: position{line: 2754, col: 9, offset: 90749}, - label: "element", - expr: &choiceExpr{ - pos: position{line: 2755, col: 13, offset: 90771}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 3109, col: 5, offset: 101386}, - run: (*parser).callonSubstitutions12, - expr: &seqExpr{ - pos: position{line: 3109, col: 5, offset: 101386}, - exprs: []interface{}{ - &oneOrMoreExpr{ - pos: position{line: 3109, col: 5, offset: 101386}, - expr: &charClassMatcher{ - pos: position{line: 3109, col: 5, offset: 101386}, - val: "[,;!?0-9\\pL]", - chars: []rune{',', ';', '!', '?'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - &choiceExpr{ - pos: position{line: 3110, col: 6, offset: 101436}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, - run: (*parser).callonSubstitutions17, - expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - &andExpr{ - pos: position{line: 3110, col: 14, offset: 101444}, - expr: &choiceExpr{ - pos: position{line: 3110, col: 16, offset: 101446}, - alternatives: []interface{}{ - &charClassMatcher{ - pos: position{line: 3110, col: 16, offset: 101446}, - val: "[.�]", - chars: []rune{'.', '�'}, - ignoreCase: false, - inverted: false, - }, - &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, - run: (*parser).callonSubstitutions22, - expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, - expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, - run: (*parser).callonSubstitutions29, - expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, - run: (*parser).callonSubstitutions31, - expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 1212, col: 23, offset: 37871}, - run: (*parser).callonSubstitutions36, - expr: &seqExpr{ - pos: position{line: 1212, col: 23, offset: 37871}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 1210, col: 32, offset: 37839}, - val: "�", - ignoreCase: false, - want: "\"�\"", - }, - &labeledExpr{ - pos: position{line: 1212, col: 51, offset: 37899}, - label: "ref", - expr: &actionExpr{ - pos: position{line: 1212, col: 56, offset: 37904}, - run: (*parser).callonSubstitutions40, - expr: &oneOrMoreExpr{ - pos: position{line: 1212, col: 56, offset: 37904}, - expr: &charClassMatcher{ - pos: position{line: 1212, col: 56, offset: 37904}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 1210, col: 32, offset: 37839}, - val: "�", - ignoreCase: false, - want: "\"�\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 1220, col: 5, offset: 38317}, - run: (*parser).callonSubstitutions44, - expr: &seqExpr{ - pos: position{line: 1220, col: 5, offset: 38317}, - exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 1220, col: 5, offset: 38317}, - run: (*parser).callonSubstitutions46, - }, - &litMatcher{ - pos: position{line: 1223, col: 5, offset: 38419}, - val: "+", - ignoreCase: false, - want: "\"+\"", - }, - &zeroOrMoreExpr{ - pos: position{line: 1223, col: 9, offset: 38423}, - expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, - run: (*parser).callonSubstitutions49, - expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &andExpr{ - pos: position{line: 1223, col: 16, offset: 38430}, - expr: &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, - run: (*parser).callonSubstitutions53, - expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, - expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, - }, - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 3115, col: 16, offset: 101567}, - run: (*parser).callonSubstitutions60, - expr: &seqExpr{ - pos: position{line: 3115, col: 16, offset: 101567}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 3115, col: 16, offset: 101567}, - label: "char", - expr: &actionExpr{ - pos: position{line: 3122, col: 25, offset: 101758}, - run: (*parser).callonSubstitutions63, - expr: &charClassMatcher{ - pos: position{line: 3122, col: 25, offset: 101758}, - val: "[.,;?!]", - chars: []rune{'.', ',', ';', '?', '!'}, - ignoreCase: false, - inverted: false, - }, + }, + &actionExpr{ + pos: position{line: 3011, col: 16, offset: 98204}, + run: (*parser).callonSubstitutions60, + expr: &seqExpr{ + pos: position{line: 3011, col: 16, offset: 98204}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 3011, col: 16, offset: 98204}, + label: "char", + expr: &actionExpr{ + pos: position{line: 3018, col: 25, offset: 98395}, + run: (*parser).callonSubstitutions63, + expr: &charClassMatcher{ + pos: position{line: 3018, col: 25, offset: 98395}, + val: "[.,;?!]", + chars: []rune{'.', ',', ';', '?', '!'}, + ignoreCase: false, + inverted: false, + }, }, }, &andExpr{ - pos: position{line: 3115, col: 44, offset: 101595}, + pos: position{line: 3011, col: 44, offset: 98232}, expr: &choiceExpr{ - pos: position{line: 3115, col: 46, offset: 101597}, + pos: position{line: 3011, col: 46, offset: 98234}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonSubstitutions67, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -62846,25 +61137,25 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonSubstitutions69, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -62873,9 +61164,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -62885,65 +61176,65 @@ var g = &grammar{ }, }, &ruleRefExpr{ - pos: position{line: 2761, col: 15, offset: 91010}, + pos: position{line: 2651, col: 15, offset: 87529}, name: "Quote", }, &ruleRefExpr{ - pos: position{line: 2762, col: 15, offset: 91030}, + pos: position{line: 2652, col: 15, offset: 87549}, name: "InlinePassthrough", }, &ruleRefExpr{ - pos: position{line: 2763, col: 15, offset: 91062}, + pos: position{line: 2653, col: 15, offset: 87581}, name: "InlineMacro", }, &ruleRefExpr{ - pos: position{line: 2764, col: 15, offset: 91151}, + pos: position{line: 2654, col: 15, offset: 87670}, name: "Callout", }, &actionExpr{ - pos: position{line: 2859, col: 5, offset: 93679}, + pos: position{line: 2745, col: 5, offset: 90112}, run: (*parser).callonSubstitutions80, expr: &seqExpr{ - pos: position{line: 2859, col: 5, offset: 93679}, + pos: position{line: 2745, col: 5, offset: 90112}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 2859, col: 5, offset: 93679}, + pos: position{line: 2745, col: 5, offset: 90112}, run: (*parser).callonSubstitutions82, }, &labeledExpr{ - pos: position{line: 2862, col: 5, offset: 93755}, + pos: position{line: 2748, col: 5, offset: 90188}, label: "element", expr: &choiceExpr{ - pos: position{line: 2864, col: 9, offset: 93853}, + pos: position{line: 2750, col: 9, offset: 90286}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2864, col: 9, offset: 93853}, + pos: position{line: 2750, col: 9, offset: 90286}, run: (*parser).callonSubstitutions85, expr: &choiceExpr{ - pos: position{line: 692, col: 27, offset: 22395}, + pos: position{line: 699, col: 27, offset: 22665}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 692, col: 27, offset: 22395}, + pos: position{line: 699, col: 27, offset: 22665}, run: (*parser).callonSubstitutions87, expr: &seqExpr{ - pos: position{line: 692, col: 27, offset: 22395}, + pos: position{line: 699, col: 27, offset: 22665}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 692, col: 27, offset: 22395}, + pos: position{line: 699, col: 27, offset: 22665}, val: "<<", ignoreCase: false, want: "\"<<\"", }, &labeledExpr{ - pos: position{line: 692, col: 32, offset: 22400}, + pos: position{line: 699, col: 32, offset: 22670}, label: "id", expr: &actionExpr{ - pos: position{line: 3161, col: 7, offset: 103049}, + pos: position{line: 3057, col: 7, offset: 99686}, run: (*parser).callonSubstitutions91, expr: &oneOrMoreExpr{ - pos: position{line: 3161, col: 7, offset: 103049}, + pos: position{line: 3057, col: 7, offset: 99686}, expr: &charClassMatcher{ - pos: position{line: 3161, col: 7, offset: 103049}, + pos: position{line: 3057, col: 7, offset: 99686}, val: "[^[]<>,]", chars: []rune{'[', ']', '<', '>', ','}, ignoreCase: false, @@ -62953,12 +61244,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 692, col: 40, offset: 22408}, + pos: position{line: 699, col: 40, offset: 22678}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonSubstitutions95, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -62967,27 +61258,27 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 692, col: 47, offset: 22415}, + pos: position{line: 699, col: 47, offset: 22685}, val: ",", ignoreCase: false, want: "\",\"", }, &labeledExpr{ - pos: position{line: 692, col: 51, offset: 22419}, + pos: position{line: 699, col: 51, offset: 22689}, label: "label", expr: &oneOrMoreExpr{ - pos: position{line: 702, col: 24, offset: 22820}, + pos: position{line: 709, col: 24, offset: 23090}, expr: &choiceExpr{ - pos: position{line: 703, col: 5, offset: 22826}, + pos: position{line: 710, col: 5, offset: 23096}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 703, col: 6, offset: 22827}, + pos: position{line: 710, col: 6, offset: 23097}, run: (*parser).callonSubstitutions101, expr: &seqExpr{ - pos: position{line: 703, col: 6, offset: 22827}, + pos: position{line: 710, col: 6, offset: 23097}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 703, col: 6, offset: 22827}, + pos: position{line: 710, col: 6, offset: 23097}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -62995,9 +61286,9 @@ var g = &grammar{ inverted: false, }, &oneOrMoreExpr{ - pos: position{line: 703, col: 14, offset: 22835}, + pos: position{line: 710, col: 14, offset: 23105}, expr: &charClassMatcher{ - pos: position{line: 703, col: 14, offset: 22835}, + pos: position{line: 710, col: 14, offset: 23105}, val: "[^\\r\\n{<>]", chars: []rune{'\r', '\n', '{', '<', '>'}, ignoreCase: false, @@ -63008,19 +61299,19 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 650, col: 5, offset: 20820}, + pos: position{line: 657, col: 5, offset: 21090}, run: (*parser).callonSubstitutions106, expr: &seqExpr{ - pos: position{line: 650, col: 5, offset: 20820}, + pos: position{line: 657, col: 5, offset: 21090}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 650, col: 5, offset: 20820}, + pos: position{line: 657, col: 5, offset: 21090}, val: "\\{", ignoreCase: false, want: "\"\\\\{\"", }, &labeledExpr{ - pos: position{line: 650, col: 13, offset: 20828}, + pos: position{line: 657, col: 13, offset: 21098}, label: "name", expr: &actionExpr{ pos: position{line: 324, col: 18, offset: 10072}, @@ -63054,7 +61345,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 650, col: 32, offset: 20847}, + pos: position{line: 657, col: 32, offset: 21117}, val: "}", ignoreCase: false, want: "\"}\"", @@ -63063,19 +61354,19 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 657, col: 5, offset: 21088}, + pos: position{line: 664, col: 5, offset: 21358}, run: (*parser).callonSubstitutions116, expr: &seqExpr{ - pos: position{line: 657, col: 5, offset: 21088}, + pos: position{line: 664, col: 5, offset: 21358}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 657, col: 5, offset: 21088}, + pos: position{line: 664, col: 5, offset: 21358}, val: "{", ignoreCase: false, want: "\"{\"", }, &labeledExpr{ - pos: position{line: 657, col: 9, offset: 21092}, + pos: position{line: 664, col: 9, offset: 21362}, label: "name", expr: &actionExpr{ pos: position{line: 324, col: 18, offset: 10072}, @@ -63109,7 +61400,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 657, col: 28, offset: 21111}, + pos: position{line: 664, col: 28, offset: 21381}, val: "}", ignoreCase: false, want: "\"}\"", @@ -63118,10 +61409,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 707, col: 8, offset: 23061}, + pos: position{line: 714, col: 8, offset: 23331}, run: (*parser).callonSubstitutions126, expr: &litMatcher{ - pos: position{line: 707, col: 8, offset: 23061}, + pos: position{line: 714, col: 8, offset: 23331}, val: "{", ignoreCase: false, want: "\"{\"", @@ -63132,7 +61423,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 692, col: 79, offset: 22447}, + pos: position{line: 699, col: 79, offset: 22717}, val: ">>", ignoreCase: false, want: "\">>\"", @@ -63141,27 +61432,27 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 694, col: 9, offset: 22520}, + pos: position{line: 701, col: 9, offset: 22790}, run: (*parser).callonSubstitutions129, expr: &seqExpr{ - pos: position{line: 694, col: 9, offset: 22520}, + pos: position{line: 701, col: 9, offset: 22790}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 694, col: 9, offset: 22520}, + pos: position{line: 701, col: 9, offset: 22790}, val: "<<", ignoreCase: false, want: "\"<<\"", }, &labeledExpr{ - pos: position{line: 694, col: 14, offset: 22525}, + pos: position{line: 701, col: 14, offset: 22795}, label: "id", expr: &actionExpr{ - pos: position{line: 3161, col: 7, offset: 103049}, + pos: position{line: 3057, col: 7, offset: 99686}, run: (*parser).callonSubstitutions133, expr: &oneOrMoreExpr{ - pos: position{line: 3161, col: 7, offset: 103049}, + pos: position{line: 3057, col: 7, offset: 99686}, expr: &charClassMatcher{ - pos: position{line: 3161, col: 7, offset: 103049}, + pos: position{line: 3057, col: 7, offset: 99686}, val: "[^[]<>,]", chars: []rune{'[', ']', '<', '>', ','}, ignoreCase: false, @@ -63171,7 +61462,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 694, col: 22, offset: 22533}, + pos: position{line: 701, col: 22, offset: 22803}, val: ">>", ignoreCase: false, want: "\">>\"", @@ -63183,10 +61474,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2867, col: 11, offset: 93957}, + pos: position{line: 2753, col: 11, offset: 90390}, run: (*parser).callonSubstitutions137, expr: &charClassMatcher{ - pos: position{line: 2867, col: 12, offset: 93958}, + pos: position{line: 2753, col: 12, offset: 90391}, val: "[<>&]", chars: []rune{'<', '>', '&'}, ignoreCase: false, @@ -63200,35 +61491,35 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 641, col: 5, offset: 20613}, + pos: position{line: 648, col: 5, offset: 20883}, run: (*parser).callonSubstitutions139, expr: &seqExpr{ - pos: position{line: 641, col: 5, offset: 20613}, + pos: position{line: 648, col: 5, offset: 20883}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 641, col: 5, offset: 20613}, + pos: position{line: 648, col: 5, offset: 20883}, run: (*parser).callonSubstitutions141, }, &labeledExpr{ - pos: position{line: 644, col: 5, offset: 20682}, + pos: position{line: 651, col: 5, offset: 20952}, label: "element", expr: &choiceExpr{ - pos: position{line: 644, col: 14, offset: 20691}, + pos: position{line: 651, col: 14, offset: 20961}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 664, col: 25, offset: 21344}, + pos: position{line: 671, col: 25, offset: 21614}, run: (*parser).callonSubstitutions144, expr: &seqExpr{ - pos: position{line: 664, col: 25, offset: 21344}, + pos: position{line: 671, col: 25, offset: 21614}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 664, col: 25, offset: 21344}, + pos: position{line: 671, col: 25, offset: 21614}, val: "{counter:", ignoreCase: false, want: "\"{counter:\"", }, &labeledExpr{ - pos: position{line: 664, col: 37, offset: 21356}, + pos: position{line: 671, col: 37, offset: 21626}, label: "name", expr: &actionExpr{ pos: position{line: 324, col: 18, offset: 10072}, @@ -63262,33 +61553,33 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 664, col: 56, offset: 21375}, + pos: position{line: 671, col: 56, offset: 21645}, label: "start", expr: &zeroOrOneExpr{ - pos: position{line: 664, col: 62, offset: 21381}, + pos: position{line: 671, col: 62, offset: 21651}, expr: &actionExpr{ - pos: position{line: 672, col: 17, offset: 21676}, + pos: position{line: 679, col: 17, offset: 21946}, run: (*parser).callonSubstitutions155, expr: &seqExpr{ - pos: position{line: 672, col: 17, offset: 21676}, + pos: position{line: 679, col: 17, offset: 21946}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 672, col: 17, offset: 21676}, + pos: position{line: 679, col: 17, offset: 21946}, val: ":", ignoreCase: false, want: "\":\"", }, &labeledExpr{ - pos: position{line: 672, col: 21, offset: 21680}, + pos: position{line: 679, col: 21, offset: 21950}, label: "start", expr: &choiceExpr{ - pos: position{line: 672, col: 28, offset: 21687}, + pos: position{line: 679, col: 28, offset: 21957}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 672, col: 28, offset: 21687}, + pos: position{line: 679, col: 28, offset: 21957}, run: (*parser).callonSubstitutions160, expr: &charClassMatcher{ - pos: position{line: 672, col: 28, offset: 21687}, + pos: position{line: 679, col: 28, offset: 21957}, val: "[A-Za-z]", ranges: []rune{'A', 'Z', 'a', 'z'}, ignoreCase: false, @@ -63296,12 +61587,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 674, col: 9, offset: 21741}, + pos: position{line: 681, col: 9, offset: 22011}, run: (*parser).callonSubstitutions162, expr: &oneOrMoreExpr{ - pos: position{line: 674, col: 9, offset: 21741}, + pos: position{line: 681, col: 9, offset: 22011}, expr: &charClassMatcher{ - pos: position{line: 674, col: 9, offset: 21741}, + pos: position{line: 681, col: 9, offset: 22011}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -63318,7 +61609,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 664, col: 78, offset: 21397}, + pos: position{line: 671, col: 78, offset: 21667}, val: "}", ignoreCase: false, want: "\"}\"", @@ -63327,19 +61618,19 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 668, col: 25, offset: 21515}, + pos: position{line: 675, col: 25, offset: 21785}, run: (*parser).callonSubstitutions166, expr: &seqExpr{ - pos: position{line: 668, col: 25, offset: 21515}, + pos: position{line: 675, col: 25, offset: 21785}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 668, col: 25, offset: 21515}, + pos: position{line: 675, col: 25, offset: 21785}, val: "{counter2:", ignoreCase: false, want: "\"{counter2:\"", }, &labeledExpr{ - pos: position{line: 668, col: 38, offset: 21528}, + pos: position{line: 675, col: 38, offset: 21798}, label: "name", expr: &actionExpr{ pos: position{line: 324, col: 18, offset: 10072}, @@ -63373,33 +61664,33 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 668, col: 57, offset: 21547}, + pos: position{line: 675, col: 57, offset: 21817}, label: "start", expr: &zeroOrOneExpr{ - pos: position{line: 668, col: 63, offset: 21553}, + pos: position{line: 675, col: 63, offset: 21823}, expr: &actionExpr{ - pos: position{line: 672, col: 17, offset: 21676}, + pos: position{line: 679, col: 17, offset: 21946}, run: (*parser).callonSubstitutions177, expr: &seqExpr{ - pos: position{line: 672, col: 17, offset: 21676}, + pos: position{line: 679, col: 17, offset: 21946}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 672, col: 17, offset: 21676}, + pos: position{line: 679, col: 17, offset: 21946}, val: ":", ignoreCase: false, want: "\":\"", }, &labeledExpr{ - pos: position{line: 672, col: 21, offset: 21680}, + pos: position{line: 679, col: 21, offset: 21950}, label: "start", expr: &choiceExpr{ - pos: position{line: 672, col: 28, offset: 21687}, + pos: position{line: 679, col: 28, offset: 21957}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 672, col: 28, offset: 21687}, + pos: position{line: 679, col: 28, offset: 21957}, run: (*parser).callonSubstitutions182, expr: &charClassMatcher{ - pos: position{line: 672, col: 28, offset: 21687}, + pos: position{line: 679, col: 28, offset: 21957}, val: "[A-Za-z]", ranges: []rune{'A', 'Z', 'a', 'z'}, ignoreCase: false, @@ -63407,12 +61698,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 674, col: 9, offset: 21741}, + pos: position{line: 681, col: 9, offset: 22011}, run: (*parser).callonSubstitutions184, expr: &oneOrMoreExpr{ - pos: position{line: 674, col: 9, offset: 21741}, + pos: position{line: 681, col: 9, offset: 22011}, expr: &charClassMatcher{ - pos: position{line: 674, col: 9, offset: 21741}, + pos: position{line: 681, col: 9, offset: 22011}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -63429,7 +61720,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 668, col: 79, offset: 21569}, + pos: position{line: 675, col: 79, offset: 21839}, val: "}", ignoreCase: false, want: "\"}\"", @@ -63438,19 +61729,19 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 650, col: 5, offset: 20820}, + pos: position{line: 657, col: 5, offset: 21090}, run: (*parser).callonSubstitutions188, expr: &seqExpr{ - pos: position{line: 650, col: 5, offset: 20820}, + pos: position{line: 657, col: 5, offset: 21090}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 650, col: 5, offset: 20820}, + pos: position{line: 657, col: 5, offset: 21090}, val: "\\{", ignoreCase: false, want: "\"\\\\{\"", }, &labeledExpr{ - pos: position{line: 650, col: 13, offset: 20828}, + pos: position{line: 657, col: 13, offset: 21098}, label: "name", expr: &actionExpr{ pos: position{line: 324, col: 18, offset: 10072}, @@ -63484,7 +61775,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 650, col: 32, offset: 20847}, + pos: position{line: 657, col: 32, offset: 21117}, val: "}", ignoreCase: false, want: "\"}\"", @@ -63493,19 +61784,19 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 657, col: 5, offset: 21088}, + pos: position{line: 664, col: 5, offset: 21358}, run: (*parser).callonSubstitutions198, expr: &seqExpr{ - pos: position{line: 657, col: 5, offset: 21088}, + pos: position{line: 664, col: 5, offset: 21358}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 657, col: 5, offset: 21088}, + pos: position{line: 664, col: 5, offset: 21358}, val: "{", ignoreCase: false, want: "\"{\"", }, &labeledExpr{ - pos: position{line: 657, col: 9, offset: 21092}, + pos: position{line: 664, col: 9, offset: 21362}, label: "name", expr: &actionExpr{ pos: position{line: 324, col: 18, offset: 10072}, @@ -63539,7 +61830,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 657, col: 28, offset: 21111}, + pos: position{line: 664, col: 28, offset: 21381}, val: "}", ignoreCase: false, want: "\"}\"", @@ -63554,81 +61845,111 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2848, col: 5, offset: 93453}, + pos: position{line: 2734, col: 5, offset: 89886}, run: (*parser).callonSubstitutions208, expr: &seqExpr{ - pos: position{line: 2848, col: 5, offset: 93453}, + pos: position{line: 2734, col: 5, offset: 89886}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 2848, col: 5, offset: 93453}, + pos: position{line: 2734, col: 5, offset: 89886}, run: (*parser).callonSubstitutions210, }, &labeledExpr{ - pos: position{line: 2851, col: 5, offset: 93524}, + pos: position{line: 2737, col: 5, offset: 89957}, label: "element", expr: &choiceExpr{ - pos: position{line: 2892, col: 5, offset: 94851}, + pos: position{line: 2778, col: 5, offset: 91284}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2892, col: 5, offset: 94851}, + pos: position{line: 2778, col: 5, offset: 91284}, run: (*parser).callonSubstitutions213, expr: &seqExpr{ - pos: position{line: 2892, col: 5, offset: 94851}, + pos: position{line: 2778, col: 5, offset: 91284}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2892, col: 5, offset: 94851}, + pos: position{line: 2778, col: 5, offset: 91284}, val: "\\", ignoreCase: false, want: "\"\\\\\"", }, &choiceExpr{ - pos: position{line: 2892, col: 10, offset: 94856}, + pos: position{line: 2778, col: 10, offset: 91289}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2900, col: 15, offset: 95132}, + pos: position{line: 2787, col: 5, offset: 91579}, run: (*parser).callonSubstitutions217, expr: &litMatcher{ - pos: position{line: 2900, col: 15, offset: 95132}, + pos: position{line: 2787, col: 5, offset: 91579}, + val: "\"`", + ignoreCase: false, + want: "\"\\\"`\"", + }, + }, + &actionExpr{ + pos: position{line: 2790, col: 7, offset: 91637}, + run: (*parser).callonSubstitutions219, + expr: &litMatcher{ + pos: position{line: 2790, col: 7, offset: 91637}, + val: "`\"", + ignoreCase: false, + want: "\"`\\\"\"", + }, + }, + &actionExpr{ + pos: position{line: 2793, col: 7, offset: 91695}, + run: (*parser).callonSubstitutions221, + expr: &litMatcher{ + pos: position{line: 2793, col: 7, offset: 91695}, + val: "'`", + ignoreCase: false, + want: "\"'`\"", + }, + }, + &actionExpr{ + pos: position{line: 2796, col: 7, offset: 91751}, + run: (*parser).callonSubstitutions223, + expr: &litMatcher{ + pos: position{line: 2796, col: 7, offset: 91751}, val: "`'", ignoreCase: false, want: "\"`'\"", }, }, &actionExpr{ - pos: position{line: 2906, col: 14, offset: 95236}, - run: (*parser).callonSubstitutions219, + pos: position{line: 2802, col: 14, offset: 91873}, + run: (*parser).callonSubstitutions225, expr: &litMatcher{ - pos: position{line: 2906, col: 14, offset: 95236}, + pos: position{line: 2802, col: 14, offset: 91873}, val: "(C)", ignoreCase: false, want: "\"(C)\"", }, }, &actionExpr{ - pos: position{line: 2910, col: 14, offset: 95302}, - run: (*parser).callonSubstitutions221, + pos: position{line: 2806, col: 14, offset: 91939}, + run: (*parser).callonSubstitutions227, expr: &litMatcher{ - pos: position{line: 2910, col: 14, offset: 95302}, + pos: position{line: 2806, col: 14, offset: 91939}, val: "(TM)", ignoreCase: false, want: "\"(TM)\"", }, }, &actionExpr{ - pos: position{line: 2914, col: 15, offset: 95371}, - run: (*parser).callonSubstitutions223, + pos: position{line: 2810, col: 15, offset: 92008}, + run: (*parser).callonSubstitutions229, expr: &litMatcher{ - pos: position{line: 2914, col: 15, offset: 95371}, + pos: position{line: 2810, col: 15, offset: 92008}, val: "(R)", ignoreCase: false, want: "\"(R)\"", }, }, &actionExpr{ - pos: position{line: 2918, col: 13, offset: 95436}, - run: (*parser).callonSubstitutions225, + pos: position{line: 2814, col: 13, offset: 92073}, + run: (*parser).callonSubstitutions231, expr: &litMatcher{ - pos: position{line: 2918, col: 13, offset: 95436}, + pos: position{line: 2814, col: 13, offset: 92073}, val: "...", ignoreCase: false, want: "\"...\"", @@ -63640,63 +61961,93 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2900, col: 15, offset: 95132}, - run: (*parser).callonSubstitutions227, + pos: position{line: 2787, col: 5, offset: 91579}, + run: (*parser).callonSubstitutions233, + expr: &litMatcher{ + pos: position{line: 2787, col: 5, offset: 91579}, + val: "\"`", + ignoreCase: false, + want: "\"\\\"`\"", + }, + }, + &actionExpr{ + pos: position{line: 2790, col: 7, offset: 91637}, + run: (*parser).callonSubstitutions235, + expr: &litMatcher{ + pos: position{line: 2790, col: 7, offset: 91637}, + val: "`\"", + ignoreCase: false, + want: "\"`\\\"\"", + }, + }, + &actionExpr{ + pos: position{line: 2793, col: 7, offset: 91695}, + run: (*parser).callonSubstitutions237, + expr: &litMatcher{ + pos: position{line: 2793, col: 7, offset: 91695}, + val: "'`", + ignoreCase: false, + want: "\"'`\"", + }, + }, + &actionExpr{ + pos: position{line: 2796, col: 7, offset: 91751}, + run: (*parser).callonSubstitutions239, expr: &litMatcher{ - pos: position{line: 2900, col: 15, offset: 95132}, + pos: position{line: 2796, col: 7, offset: 91751}, val: "`'", ignoreCase: false, want: "\"`'\"", }, }, &actionExpr{ - pos: position{line: 2906, col: 14, offset: 95236}, - run: (*parser).callonSubstitutions229, + pos: position{line: 2802, col: 14, offset: 91873}, + run: (*parser).callonSubstitutions241, expr: &litMatcher{ - pos: position{line: 2906, col: 14, offset: 95236}, + pos: position{line: 2802, col: 14, offset: 91873}, val: "(C)", ignoreCase: false, want: "\"(C)\"", }, }, &actionExpr{ - pos: position{line: 2910, col: 14, offset: 95302}, - run: (*parser).callonSubstitutions231, + pos: position{line: 2806, col: 14, offset: 91939}, + run: (*parser).callonSubstitutions243, expr: &litMatcher{ - pos: position{line: 2910, col: 14, offset: 95302}, + pos: position{line: 2806, col: 14, offset: 91939}, val: "(TM)", ignoreCase: false, want: "\"(TM)\"", }, }, &actionExpr{ - pos: position{line: 2914, col: 15, offset: 95371}, - run: (*parser).callonSubstitutions233, + pos: position{line: 2810, col: 15, offset: 92008}, + run: (*parser).callonSubstitutions245, expr: &litMatcher{ - pos: position{line: 2914, col: 15, offset: 95371}, + pos: position{line: 2810, col: 15, offset: 92008}, val: "(R)", ignoreCase: false, want: "\"(R)\"", }, }, &actionExpr{ - pos: position{line: 2918, col: 13, offset: 95436}, - run: (*parser).callonSubstitutions235, + pos: position{line: 2814, col: 13, offset: 92073}, + run: (*parser).callonSubstitutions247, expr: &litMatcher{ - pos: position{line: 2918, col: 13, offset: 95436}, + pos: position{line: 2814, col: 13, offset: 92073}, val: "...", ignoreCase: false, want: "\"...\"", }, }, &actionExpr{ - pos: position{line: 2929, col: 5, offset: 95746}, - run: (*parser).callonSubstitutions237, + pos: position{line: 2825, col: 5, offset: 92383}, + run: (*parser).callonSubstitutions249, expr: &seqExpr{ - pos: position{line: 2929, col: 5, offset: 95746}, + pos: position{line: 2825, col: 5, offset: 92383}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 3090, col: 13, offset: 100713}, + pos: position{line: 2986, col: 13, offset: 97350}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -63704,15 +62055,15 @@ var g = &grammar{ inverted: false, }, &litMatcher{ - pos: position{line: 2929, col: 14, offset: 95755}, + pos: position{line: 2825, col: 14, offset: 92392}, val: "\\'", ignoreCase: false, want: "\"\\\\'\"", }, &andExpr{ - pos: position{line: 2929, col: 19, offset: 95760}, + pos: position{line: 2825, col: 19, offset: 92397}, expr: &charClassMatcher{ - pos: position{line: 2929, col: 20, offset: 95761}, + pos: position{line: 2825, col: 20, offset: 92398}, val: "[\\pL]", classes: []*unicode.RangeTable{rangeTable("L")}, ignoreCase: false, @@ -63723,13 +62074,13 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2935, col: 5, offset: 95992}, - run: (*parser).callonSubstitutions243, + pos: position{line: 2831, col: 5, offset: 92629}, + run: (*parser).callonSubstitutions255, expr: &seqExpr{ - pos: position{line: 2935, col: 5, offset: 95992}, + pos: position{line: 2831, col: 5, offset: 92629}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 3090, col: 13, offset: 100713}, + pos: position{line: 2986, col: 13, offset: 97350}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -63737,15 +62088,15 @@ var g = &grammar{ inverted: false, }, &litMatcher{ - pos: position{line: 2935, col: 14, offset: 96001}, + pos: position{line: 2831, col: 14, offset: 92638}, val: "'", ignoreCase: false, want: "\"'\"", }, &andExpr{ - pos: position{line: 2935, col: 18, offset: 96005}, + pos: position{line: 2831, col: 18, offset: 92642}, expr: &charClassMatcher{ - pos: position{line: 2935, col: 19, offset: 96006}, + pos: position{line: 2831, col: 19, offset: 92643}, val: "[\\pL]", classes: []*unicode.RangeTable{rangeTable("L")}, ignoreCase: false, @@ -63762,10 +62113,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 3128, col: 12, offset: 101932}, - run: (*parser).callonSubstitutions249, + pos: position{line: 3024, col: 12, offset: 98569}, + run: (*parser).callonSubstitutions261, expr: &anyMatcher{ - line: 3128, col: 12, offset: 101932, + line: 3024, col: 12, offset: 98569, }, }, }, @@ -63777,9 +62128,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -63788,28 +62139,28 @@ var g = &grammar{ }, { name: "HeaderGroup", - pos: position{line: 2777, col: 1, offset: 91585}, + pos: position{line: 2667, col: 1, offset: 88104}, expr: &actionExpr{ - pos: position{line: 2778, col: 5, offset: 91605}, + pos: position{line: 2668, col: 5, offset: 88124}, run: (*parser).callonHeaderGroup1, expr: &seqExpr{ - pos: position{line: 2778, col: 5, offset: 91605}, + pos: position{line: 2668, col: 5, offset: 88124}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 2778, col: 5, offset: 91605}, + pos: position{line: 2668, col: 5, offset: 88124}, label: "elements", expr: &oneOrMoreExpr{ - pos: position{line: 2778, col: 14, offset: 91614}, + pos: position{line: 2668, col: 14, offset: 88133}, expr: &ruleRefExpr{ - pos: position{line: 2778, col: 15, offset: 91615}, + pos: position{line: 2668, col: 15, offset: 88134}, name: "HeaderGroupElement", }, }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -63818,38 +62169,38 @@ var g = &grammar{ }, { name: "HeaderGroupElement", - pos: position{line: 2782, col: 1, offset: 91699}, + pos: position{line: 2672, col: 1, offset: 88218}, expr: &actionExpr{ - pos: position{line: 2783, col: 5, offset: 91725}, + pos: position{line: 2673, col: 5, offset: 88244}, run: (*parser).callonHeaderGroupElement1, expr: &seqExpr{ - pos: position{line: 2783, col: 5, offset: 91725}, + pos: position{line: 2673, col: 5, offset: 88244}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 2783, col: 5, offset: 91725}, + pos: position{line: 2673, col: 5, offset: 88244}, expr: ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, &labeledExpr{ - pos: position{line: 2784, col: 5, offset: 91734}, + pos: position{line: 2674, col: 5, offset: 88253}, label: "element", expr: &choiceExpr{ - pos: position{line: 2785, col: 9, offset: 91752}, + pos: position{line: 2675, col: 9, offset: 88271}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3102, col: 5, offset: 101168}, + pos: position{line: 2998, col: 5, offset: 97805}, run: (*parser).callonHeaderGroupElement8, expr: &seqExpr{ - pos: position{line: 3102, col: 5, offset: 101168}, + pos: position{line: 2998, col: 5, offset: 97805}, exprs: []interface{}{ &oneOrMoreExpr{ - pos: position{line: 3102, col: 5, offset: 101168}, + pos: position{line: 2998, col: 5, offset: 97805}, expr: &charClassMatcher{ - pos: position{line: 3102, col: 5, offset: 101168}, + pos: position{line: 2998, col: 5, offset: 97805}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -63858,21 +62209,21 @@ var g = &grammar{ }, }, &andExpr{ - pos: position{line: 3102, col: 15, offset: 101178}, + pos: position{line: 2998, col: 15, offset: 97815}, expr: &choiceExpr{ - pos: position{line: 3102, col: 17, offset: 101180}, + pos: position{line: 2998, col: 17, offset: 97817}, alternatives: []interface{}{ &charClassMatcher{ - pos: position{line: 3102, col: 17, offset: 101180}, + pos: position{line: 2998, col: 17, offset: 97817}, val: "[\\r\\n ,]]", chars: []rune{'\r', '\n', ' ', ',', ']'}, ignoreCase: false, inverted: false, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -63882,15 +62233,15 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 3104, col: 9, offset: 101262}, + pos: position{line: 3000, col: 9, offset: 97899}, run: (*parser).callonHeaderGroupElement17, expr: &seqExpr{ - pos: position{line: 3104, col: 9, offset: 101262}, + pos: position{line: 3000, col: 9, offset: 97899}, exprs: []interface{}{ &oneOrMoreExpr{ - pos: position{line: 3104, col: 9, offset: 101262}, + pos: position{line: 3000, col: 9, offset: 97899}, expr: &charClassMatcher{ - pos: position{line: 3104, col: 9, offset: 101262}, + pos: position{line: 3000, col: 9, offset: 97899}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -63899,21 +62250,21 @@ var g = &grammar{ }, }, &oneOrMoreExpr{ - pos: position{line: 3104, col: 19, offset: 101272}, + pos: position{line: 3000, col: 19, offset: 97909}, expr: &seqExpr{ - pos: position{line: 3104, col: 20, offset: 101273}, + pos: position{line: 3000, col: 20, offset: 97910}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 3104, col: 20, offset: 101273}, + pos: position{line: 3000, col: 20, offset: 97910}, val: "[=*_`]", chars: []rune{'=', '*', '_', '`'}, ignoreCase: false, inverted: false, }, &oneOrMoreExpr{ - pos: position{line: 3104, col: 27, offset: 101280}, + pos: position{line: 3000, col: 27, offset: 97917}, expr: &charClassMatcher{ - pos: position{line: 3104, col: 27, offset: 101280}, + pos: position{line: 3000, col: 27, offset: 97917}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -63928,18 +62279,18 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2786, col: 12, offset: 91768}, + pos: position{line: 2676, col: 12, offset: 88287}, run: (*parser).callonHeaderGroupElement26, expr: &seqExpr{ - pos: position{line: 2786, col: 12, offset: 91768}, + pos: position{line: 2676, col: 12, offset: 88287}, exprs: []interface{}{ &oneOrMoreExpr{ - pos: position{line: 2786, col: 12, offset: 91768}, + pos: position{line: 2676, col: 12, offset: 88287}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonHeaderGroupElement29, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -63948,7 +62299,7 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 2786, col: 19, offset: 91775}, + pos: position{line: 2676, col: 19, offset: 88294}, label: "id", expr: &actionExpr{ pos: position{line: 408, col: 5, offset: 12598}, @@ -63991,27 +62342,27 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1212, col: 23, offset: 37871}, + pos: position{line: 1219, col: 23, offset: 38141}, run: (*parser).callonHeaderGroupElement43, expr: &seqExpr{ - pos: position{line: 1212, col: 23, offset: 37871}, + pos: position{line: 1219, col: 23, offset: 38141}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1210, col: 32, offset: 37839}, + pos: position{line: 1217, col: 32, offset: 38109}, val: "�", ignoreCase: false, want: "\"�\"", }, &labeledExpr{ - pos: position{line: 1212, col: 51, offset: 37899}, + pos: position{line: 1219, col: 51, offset: 38169}, label: "ref", expr: &actionExpr{ - pos: position{line: 1212, col: 56, offset: 37904}, + pos: position{line: 1219, col: 56, offset: 38174}, run: (*parser).callonHeaderGroupElement47, expr: &oneOrMoreExpr{ - pos: position{line: 1212, col: 56, offset: 37904}, + pos: position{line: 1219, col: 56, offset: 38174}, expr: &charClassMatcher{ - pos: position{line: 1212, col: 56, offset: 37904}, + pos: position{line: 1219, col: 56, offset: 38174}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -64021,7 +62372,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1210, col: 32, offset: 37839}, + pos: position{line: 1217, col: 32, offset: 38109}, val: "�", ignoreCase: false, want: "\"�\"", @@ -64030,35 +62381,35 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 641, col: 5, offset: 20613}, + pos: position{line: 648, col: 5, offset: 20883}, run: (*parser).callonHeaderGroupElement51, expr: &seqExpr{ - pos: position{line: 641, col: 5, offset: 20613}, + pos: position{line: 648, col: 5, offset: 20883}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 641, col: 5, offset: 20613}, + pos: position{line: 648, col: 5, offset: 20883}, run: (*parser).callonHeaderGroupElement53, }, &labeledExpr{ - pos: position{line: 644, col: 5, offset: 20682}, + pos: position{line: 651, col: 5, offset: 20952}, label: "element", expr: &choiceExpr{ - pos: position{line: 644, col: 14, offset: 20691}, + pos: position{line: 651, col: 14, offset: 20961}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 664, col: 25, offset: 21344}, + pos: position{line: 671, col: 25, offset: 21614}, run: (*parser).callonHeaderGroupElement56, expr: &seqExpr{ - pos: position{line: 664, col: 25, offset: 21344}, + pos: position{line: 671, col: 25, offset: 21614}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 664, col: 25, offset: 21344}, + pos: position{line: 671, col: 25, offset: 21614}, val: "{counter:", ignoreCase: false, want: "\"{counter:\"", }, &labeledExpr{ - pos: position{line: 664, col: 37, offset: 21356}, + pos: position{line: 671, col: 37, offset: 21626}, label: "name", expr: &actionExpr{ pos: position{line: 324, col: 18, offset: 10072}, @@ -64092,33 +62443,33 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 664, col: 56, offset: 21375}, + pos: position{line: 671, col: 56, offset: 21645}, label: "start", expr: &zeroOrOneExpr{ - pos: position{line: 664, col: 62, offset: 21381}, + pos: position{line: 671, col: 62, offset: 21651}, expr: &actionExpr{ - pos: position{line: 672, col: 17, offset: 21676}, + pos: position{line: 679, col: 17, offset: 21946}, run: (*parser).callonHeaderGroupElement67, expr: &seqExpr{ - pos: position{line: 672, col: 17, offset: 21676}, + pos: position{line: 679, col: 17, offset: 21946}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 672, col: 17, offset: 21676}, + pos: position{line: 679, col: 17, offset: 21946}, val: ":", ignoreCase: false, want: "\":\"", }, &labeledExpr{ - pos: position{line: 672, col: 21, offset: 21680}, + pos: position{line: 679, col: 21, offset: 21950}, label: "start", expr: &choiceExpr{ - pos: position{line: 672, col: 28, offset: 21687}, + pos: position{line: 679, col: 28, offset: 21957}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 672, col: 28, offset: 21687}, + pos: position{line: 679, col: 28, offset: 21957}, run: (*parser).callonHeaderGroupElement72, expr: &charClassMatcher{ - pos: position{line: 672, col: 28, offset: 21687}, + pos: position{line: 679, col: 28, offset: 21957}, val: "[A-Za-z]", ranges: []rune{'A', 'Z', 'a', 'z'}, ignoreCase: false, @@ -64126,12 +62477,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 674, col: 9, offset: 21741}, + pos: position{line: 681, col: 9, offset: 22011}, run: (*parser).callonHeaderGroupElement74, expr: &oneOrMoreExpr{ - pos: position{line: 674, col: 9, offset: 21741}, + pos: position{line: 681, col: 9, offset: 22011}, expr: &charClassMatcher{ - pos: position{line: 674, col: 9, offset: 21741}, + pos: position{line: 681, col: 9, offset: 22011}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -64148,7 +62499,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 664, col: 78, offset: 21397}, + pos: position{line: 671, col: 78, offset: 21667}, val: "}", ignoreCase: false, want: "\"}\"", @@ -64157,19 +62508,19 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 668, col: 25, offset: 21515}, + pos: position{line: 675, col: 25, offset: 21785}, run: (*parser).callonHeaderGroupElement78, expr: &seqExpr{ - pos: position{line: 668, col: 25, offset: 21515}, + pos: position{line: 675, col: 25, offset: 21785}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 668, col: 25, offset: 21515}, + pos: position{line: 675, col: 25, offset: 21785}, val: "{counter2:", ignoreCase: false, want: "\"{counter2:\"", }, &labeledExpr{ - pos: position{line: 668, col: 38, offset: 21528}, + pos: position{line: 675, col: 38, offset: 21798}, label: "name", expr: &actionExpr{ pos: position{line: 324, col: 18, offset: 10072}, @@ -64203,33 +62554,33 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 668, col: 57, offset: 21547}, + pos: position{line: 675, col: 57, offset: 21817}, label: "start", expr: &zeroOrOneExpr{ - pos: position{line: 668, col: 63, offset: 21553}, + pos: position{line: 675, col: 63, offset: 21823}, expr: &actionExpr{ - pos: position{line: 672, col: 17, offset: 21676}, + pos: position{line: 679, col: 17, offset: 21946}, run: (*parser).callonHeaderGroupElement89, expr: &seqExpr{ - pos: position{line: 672, col: 17, offset: 21676}, + pos: position{line: 679, col: 17, offset: 21946}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 672, col: 17, offset: 21676}, + pos: position{line: 679, col: 17, offset: 21946}, val: ":", ignoreCase: false, want: "\":\"", }, &labeledExpr{ - pos: position{line: 672, col: 21, offset: 21680}, + pos: position{line: 679, col: 21, offset: 21950}, label: "start", expr: &choiceExpr{ - pos: position{line: 672, col: 28, offset: 21687}, + pos: position{line: 679, col: 28, offset: 21957}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 672, col: 28, offset: 21687}, + pos: position{line: 679, col: 28, offset: 21957}, run: (*parser).callonHeaderGroupElement94, expr: &charClassMatcher{ - pos: position{line: 672, col: 28, offset: 21687}, + pos: position{line: 679, col: 28, offset: 21957}, val: "[A-Za-z]", ranges: []rune{'A', 'Z', 'a', 'z'}, ignoreCase: false, @@ -64237,12 +62588,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 674, col: 9, offset: 21741}, + pos: position{line: 681, col: 9, offset: 22011}, run: (*parser).callonHeaderGroupElement96, expr: &oneOrMoreExpr{ - pos: position{line: 674, col: 9, offset: 21741}, + pos: position{line: 681, col: 9, offset: 22011}, expr: &charClassMatcher{ - pos: position{line: 674, col: 9, offset: 21741}, + pos: position{line: 681, col: 9, offset: 22011}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -64259,7 +62610,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 668, col: 79, offset: 21569}, + pos: position{line: 675, col: 79, offset: 21839}, val: "}", ignoreCase: false, want: "\"}\"", @@ -64268,19 +62619,19 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 650, col: 5, offset: 20820}, + pos: position{line: 657, col: 5, offset: 21090}, run: (*parser).callonHeaderGroupElement100, expr: &seqExpr{ - pos: position{line: 650, col: 5, offset: 20820}, + pos: position{line: 657, col: 5, offset: 21090}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 650, col: 5, offset: 20820}, + pos: position{line: 657, col: 5, offset: 21090}, val: "\\{", ignoreCase: false, want: "\"\\\\{\"", }, &labeledExpr{ - pos: position{line: 650, col: 13, offset: 20828}, + pos: position{line: 657, col: 13, offset: 21098}, label: "name", expr: &actionExpr{ pos: position{line: 324, col: 18, offset: 10072}, @@ -64314,7 +62665,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 650, col: 32, offset: 20847}, + pos: position{line: 657, col: 32, offset: 21117}, val: "}", ignoreCase: false, want: "\"}\"", @@ -64323,19 +62674,19 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 657, col: 5, offset: 21088}, + pos: position{line: 664, col: 5, offset: 21358}, run: (*parser).callonHeaderGroupElement110, expr: &seqExpr{ - pos: position{line: 657, col: 5, offset: 21088}, + pos: position{line: 664, col: 5, offset: 21358}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 657, col: 5, offset: 21088}, + pos: position{line: 664, col: 5, offset: 21358}, val: "{", ignoreCase: false, want: "\"{\"", }, &labeledExpr{ - pos: position{line: 657, col: 9, offset: 21092}, + pos: position{line: 664, col: 9, offset: 21362}, label: "name", expr: &actionExpr{ pos: position{line: 324, col: 18, offset: 10072}, @@ -64369,7 +62720,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 657, col: 28, offset: 21111}, + pos: position{line: 664, col: 28, offset: 21381}, val: "}", ignoreCase: false, want: "\"}\"", @@ -64410,12 +62761,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 2786, col: 40, offset: 91796}, + pos: position{line: 2676, col: 40, offset: 88315}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonHeaderGroupElement124, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -64424,11 +62775,11 @@ var g = &grammar{ }, }, &andExpr{ - pos: position{line: 2786, col: 47, offset: 91803}, + pos: position{line: 2676, col: 47, offset: 88322}, expr: ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -64436,10 +62787,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonHeaderGroupElement129, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -64447,61 +62798,61 @@ var g = &grammar{ }, }, &ruleRefExpr{ - pos: position{line: 2788, col: 11, offset: 91876}, + pos: position{line: 2678, col: 11, offset: 88395}, name: "InlinePassthrough", }, &ruleRefExpr{ - pos: position{line: 2789, col: 11, offset: 91904}, + pos: position{line: 2679, col: 11, offset: 88423}, name: "Quote", }, &ruleRefExpr{ - pos: position{line: 2790, col: 11, offset: 91920}, + pos: position{line: 2680, col: 11, offset: 88439}, name: "Link", }, &actionExpr{ - pos: position{line: 2859, col: 5, offset: 93679}, + pos: position{line: 2745, col: 5, offset: 90112}, run: (*parser).callonHeaderGroupElement134, expr: &seqExpr{ - pos: position{line: 2859, col: 5, offset: 93679}, + pos: position{line: 2745, col: 5, offset: 90112}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 2859, col: 5, offset: 93679}, + pos: position{line: 2745, col: 5, offset: 90112}, run: (*parser).callonHeaderGroupElement136, }, &labeledExpr{ - pos: position{line: 2862, col: 5, offset: 93755}, + pos: position{line: 2748, col: 5, offset: 90188}, label: "element", expr: &choiceExpr{ - pos: position{line: 2864, col: 9, offset: 93853}, + pos: position{line: 2750, col: 9, offset: 90286}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2864, col: 9, offset: 93853}, + pos: position{line: 2750, col: 9, offset: 90286}, run: (*parser).callonHeaderGroupElement139, expr: &choiceExpr{ - pos: position{line: 692, col: 27, offset: 22395}, + pos: position{line: 699, col: 27, offset: 22665}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 692, col: 27, offset: 22395}, + pos: position{line: 699, col: 27, offset: 22665}, run: (*parser).callonHeaderGroupElement141, expr: &seqExpr{ - pos: position{line: 692, col: 27, offset: 22395}, + pos: position{line: 699, col: 27, offset: 22665}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 692, col: 27, offset: 22395}, + pos: position{line: 699, col: 27, offset: 22665}, val: "<<", ignoreCase: false, want: "\"<<\"", }, &labeledExpr{ - pos: position{line: 692, col: 32, offset: 22400}, + pos: position{line: 699, col: 32, offset: 22670}, label: "id", expr: &actionExpr{ - pos: position{line: 3161, col: 7, offset: 103049}, + pos: position{line: 3057, col: 7, offset: 99686}, run: (*parser).callonHeaderGroupElement145, expr: &oneOrMoreExpr{ - pos: position{line: 3161, col: 7, offset: 103049}, + pos: position{line: 3057, col: 7, offset: 99686}, expr: &charClassMatcher{ - pos: position{line: 3161, col: 7, offset: 103049}, + pos: position{line: 3057, col: 7, offset: 99686}, val: "[^[]<>,]", chars: []rune{'[', ']', '<', '>', ','}, ignoreCase: false, @@ -64511,12 +62862,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 692, col: 40, offset: 22408}, + pos: position{line: 699, col: 40, offset: 22678}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonHeaderGroupElement149, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -64525,27 +62876,27 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 692, col: 47, offset: 22415}, + pos: position{line: 699, col: 47, offset: 22685}, val: ",", ignoreCase: false, want: "\",\"", }, &labeledExpr{ - pos: position{line: 692, col: 51, offset: 22419}, + pos: position{line: 699, col: 51, offset: 22689}, label: "label", expr: &oneOrMoreExpr{ - pos: position{line: 702, col: 24, offset: 22820}, + pos: position{line: 709, col: 24, offset: 23090}, expr: &choiceExpr{ - pos: position{line: 703, col: 5, offset: 22826}, + pos: position{line: 710, col: 5, offset: 23096}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 703, col: 6, offset: 22827}, + pos: position{line: 710, col: 6, offset: 23097}, run: (*parser).callonHeaderGroupElement155, expr: &seqExpr{ - pos: position{line: 703, col: 6, offset: 22827}, + pos: position{line: 710, col: 6, offset: 23097}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 703, col: 6, offset: 22827}, + pos: position{line: 710, col: 6, offset: 23097}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -64553,9 +62904,9 @@ var g = &grammar{ inverted: false, }, &oneOrMoreExpr{ - pos: position{line: 703, col: 14, offset: 22835}, + pos: position{line: 710, col: 14, offset: 23105}, expr: &charClassMatcher{ - pos: position{line: 703, col: 14, offset: 22835}, + pos: position{line: 710, col: 14, offset: 23105}, val: "[^\\r\\n{<>]", chars: []rune{'\r', '\n', '{', '<', '>'}, ignoreCase: false, @@ -64566,19 +62917,19 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 650, col: 5, offset: 20820}, + pos: position{line: 657, col: 5, offset: 21090}, run: (*parser).callonHeaderGroupElement160, expr: &seqExpr{ - pos: position{line: 650, col: 5, offset: 20820}, + pos: position{line: 657, col: 5, offset: 21090}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 650, col: 5, offset: 20820}, + pos: position{line: 657, col: 5, offset: 21090}, val: "\\{", ignoreCase: false, want: "\"\\\\{\"", }, &labeledExpr{ - pos: position{line: 650, col: 13, offset: 20828}, + pos: position{line: 657, col: 13, offset: 21098}, label: "name", expr: &actionExpr{ pos: position{line: 324, col: 18, offset: 10072}, @@ -64612,7 +62963,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 650, col: 32, offset: 20847}, + pos: position{line: 657, col: 32, offset: 21117}, val: "}", ignoreCase: false, want: "\"}\"", @@ -64621,19 +62972,19 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 657, col: 5, offset: 21088}, + pos: position{line: 664, col: 5, offset: 21358}, run: (*parser).callonHeaderGroupElement170, expr: &seqExpr{ - pos: position{line: 657, col: 5, offset: 21088}, + pos: position{line: 664, col: 5, offset: 21358}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 657, col: 5, offset: 21088}, + pos: position{line: 664, col: 5, offset: 21358}, val: "{", ignoreCase: false, want: "\"{\"", }, &labeledExpr{ - pos: position{line: 657, col: 9, offset: 21092}, + pos: position{line: 664, col: 9, offset: 21362}, label: "name", expr: &actionExpr{ pos: position{line: 324, col: 18, offset: 10072}, @@ -64667,7 +63018,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 657, col: 28, offset: 21111}, + pos: position{line: 664, col: 28, offset: 21381}, val: "}", ignoreCase: false, want: "\"}\"", @@ -64676,10 +63027,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 707, col: 8, offset: 23061}, + pos: position{line: 714, col: 8, offset: 23331}, run: (*parser).callonHeaderGroupElement180, expr: &litMatcher{ - pos: position{line: 707, col: 8, offset: 23061}, + pos: position{line: 714, col: 8, offset: 23331}, val: "{", ignoreCase: false, want: "\"{\"", @@ -64690,7 +63041,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 692, col: 79, offset: 22447}, + pos: position{line: 699, col: 79, offset: 22717}, val: ">>", ignoreCase: false, want: "\">>\"", @@ -64699,27 +63050,27 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 694, col: 9, offset: 22520}, + pos: position{line: 701, col: 9, offset: 22790}, run: (*parser).callonHeaderGroupElement183, expr: &seqExpr{ - pos: position{line: 694, col: 9, offset: 22520}, + pos: position{line: 701, col: 9, offset: 22790}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 694, col: 9, offset: 22520}, + pos: position{line: 701, col: 9, offset: 22790}, val: "<<", ignoreCase: false, want: "\"<<\"", }, &labeledExpr{ - pos: position{line: 694, col: 14, offset: 22525}, + pos: position{line: 701, col: 14, offset: 22795}, label: "id", expr: &actionExpr{ - pos: position{line: 3161, col: 7, offset: 103049}, + pos: position{line: 3057, col: 7, offset: 99686}, run: (*parser).callonHeaderGroupElement187, expr: &oneOrMoreExpr{ - pos: position{line: 3161, col: 7, offset: 103049}, + pos: position{line: 3057, col: 7, offset: 99686}, expr: &charClassMatcher{ - pos: position{line: 3161, col: 7, offset: 103049}, + pos: position{line: 3057, col: 7, offset: 99686}, val: "[^[]<>,]", chars: []rune{'[', ']', '<', '>', ','}, ignoreCase: false, @@ -64729,7 +63080,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 694, col: 22, offset: 22533}, + pos: position{line: 701, col: 22, offset: 22803}, val: ">>", ignoreCase: false, want: "\">>\"", @@ -64741,10 +63092,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2867, col: 11, offset: 93957}, + pos: position{line: 2753, col: 11, offset: 90390}, run: (*parser).callonHeaderGroupElement191, expr: &charClassMatcher{ - pos: position{line: 2867, col: 12, offset: 93958}, + pos: position{line: 2753, col: 12, offset: 90391}, val: "[<>&]", chars: []rune{'<', '>', '&'}, ignoreCase: false, @@ -64758,39 +63109,39 @@ var g = &grammar{ }, }, &ruleRefExpr{ - pos: position{line: 2792, col: 11, offset: 92005}, + pos: position{line: 2682, col: 11, offset: 88524}, name: "InlineIcon", }, &actionExpr{ - pos: position{line: 641, col: 5, offset: 20613}, + pos: position{line: 648, col: 5, offset: 20883}, run: (*parser).callonHeaderGroupElement194, expr: &seqExpr{ - pos: position{line: 641, col: 5, offset: 20613}, + pos: position{line: 648, col: 5, offset: 20883}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 641, col: 5, offset: 20613}, + pos: position{line: 648, col: 5, offset: 20883}, run: (*parser).callonHeaderGroupElement196, }, &labeledExpr{ - pos: position{line: 644, col: 5, offset: 20682}, + pos: position{line: 651, col: 5, offset: 20952}, label: "element", expr: &choiceExpr{ - pos: position{line: 644, col: 14, offset: 20691}, + pos: position{line: 651, col: 14, offset: 20961}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 664, col: 25, offset: 21344}, + pos: position{line: 671, col: 25, offset: 21614}, run: (*parser).callonHeaderGroupElement199, expr: &seqExpr{ - pos: position{line: 664, col: 25, offset: 21344}, + pos: position{line: 671, col: 25, offset: 21614}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 664, col: 25, offset: 21344}, + pos: position{line: 671, col: 25, offset: 21614}, val: "{counter:", ignoreCase: false, want: "\"{counter:\"", }, &labeledExpr{ - pos: position{line: 664, col: 37, offset: 21356}, + pos: position{line: 671, col: 37, offset: 21626}, label: "name", expr: &actionExpr{ pos: position{line: 324, col: 18, offset: 10072}, @@ -64824,33 +63175,33 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 664, col: 56, offset: 21375}, + pos: position{line: 671, col: 56, offset: 21645}, label: "start", expr: &zeroOrOneExpr{ - pos: position{line: 664, col: 62, offset: 21381}, + pos: position{line: 671, col: 62, offset: 21651}, expr: &actionExpr{ - pos: position{line: 672, col: 17, offset: 21676}, + pos: position{line: 679, col: 17, offset: 21946}, run: (*parser).callonHeaderGroupElement210, expr: &seqExpr{ - pos: position{line: 672, col: 17, offset: 21676}, + pos: position{line: 679, col: 17, offset: 21946}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 672, col: 17, offset: 21676}, + pos: position{line: 679, col: 17, offset: 21946}, val: ":", ignoreCase: false, want: "\":\"", }, &labeledExpr{ - pos: position{line: 672, col: 21, offset: 21680}, + pos: position{line: 679, col: 21, offset: 21950}, label: "start", expr: &choiceExpr{ - pos: position{line: 672, col: 28, offset: 21687}, + pos: position{line: 679, col: 28, offset: 21957}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 672, col: 28, offset: 21687}, + pos: position{line: 679, col: 28, offset: 21957}, run: (*parser).callonHeaderGroupElement215, expr: &charClassMatcher{ - pos: position{line: 672, col: 28, offset: 21687}, + pos: position{line: 679, col: 28, offset: 21957}, val: "[A-Za-z]", ranges: []rune{'A', 'Z', 'a', 'z'}, ignoreCase: false, @@ -64858,12 +63209,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 674, col: 9, offset: 21741}, + pos: position{line: 681, col: 9, offset: 22011}, run: (*parser).callonHeaderGroupElement217, expr: &oneOrMoreExpr{ - pos: position{line: 674, col: 9, offset: 21741}, + pos: position{line: 681, col: 9, offset: 22011}, expr: &charClassMatcher{ - pos: position{line: 674, col: 9, offset: 21741}, + pos: position{line: 681, col: 9, offset: 22011}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -64880,7 +63231,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 664, col: 78, offset: 21397}, + pos: position{line: 671, col: 78, offset: 21667}, val: "}", ignoreCase: false, want: "\"}\"", @@ -64889,19 +63240,19 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 668, col: 25, offset: 21515}, + pos: position{line: 675, col: 25, offset: 21785}, run: (*parser).callonHeaderGroupElement221, expr: &seqExpr{ - pos: position{line: 668, col: 25, offset: 21515}, + pos: position{line: 675, col: 25, offset: 21785}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 668, col: 25, offset: 21515}, + pos: position{line: 675, col: 25, offset: 21785}, val: "{counter2:", ignoreCase: false, want: "\"{counter2:\"", }, &labeledExpr{ - pos: position{line: 668, col: 38, offset: 21528}, + pos: position{line: 675, col: 38, offset: 21798}, label: "name", expr: &actionExpr{ pos: position{line: 324, col: 18, offset: 10072}, @@ -64935,33 +63286,33 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 668, col: 57, offset: 21547}, + pos: position{line: 675, col: 57, offset: 21817}, label: "start", expr: &zeroOrOneExpr{ - pos: position{line: 668, col: 63, offset: 21553}, + pos: position{line: 675, col: 63, offset: 21823}, expr: &actionExpr{ - pos: position{line: 672, col: 17, offset: 21676}, + pos: position{line: 679, col: 17, offset: 21946}, run: (*parser).callonHeaderGroupElement232, expr: &seqExpr{ - pos: position{line: 672, col: 17, offset: 21676}, + pos: position{line: 679, col: 17, offset: 21946}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 672, col: 17, offset: 21676}, + pos: position{line: 679, col: 17, offset: 21946}, val: ":", ignoreCase: false, want: "\":\"", }, &labeledExpr{ - pos: position{line: 672, col: 21, offset: 21680}, + pos: position{line: 679, col: 21, offset: 21950}, label: "start", expr: &choiceExpr{ - pos: position{line: 672, col: 28, offset: 21687}, + pos: position{line: 679, col: 28, offset: 21957}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 672, col: 28, offset: 21687}, + pos: position{line: 679, col: 28, offset: 21957}, run: (*parser).callonHeaderGroupElement237, expr: &charClassMatcher{ - pos: position{line: 672, col: 28, offset: 21687}, + pos: position{line: 679, col: 28, offset: 21957}, val: "[A-Za-z]", ranges: []rune{'A', 'Z', 'a', 'z'}, ignoreCase: false, @@ -64969,12 +63320,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 674, col: 9, offset: 21741}, + pos: position{line: 681, col: 9, offset: 22011}, run: (*parser).callonHeaderGroupElement239, expr: &oneOrMoreExpr{ - pos: position{line: 674, col: 9, offset: 21741}, + pos: position{line: 681, col: 9, offset: 22011}, expr: &charClassMatcher{ - pos: position{line: 674, col: 9, offset: 21741}, + pos: position{line: 681, col: 9, offset: 22011}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -64991,7 +63342,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 668, col: 79, offset: 21569}, + pos: position{line: 675, col: 79, offset: 21839}, val: "}", ignoreCase: false, want: "\"}\"", @@ -65000,19 +63351,19 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 650, col: 5, offset: 20820}, + pos: position{line: 657, col: 5, offset: 21090}, run: (*parser).callonHeaderGroupElement243, expr: &seqExpr{ - pos: position{line: 650, col: 5, offset: 20820}, + pos: position{line: 657, col: 5, offset: 21090}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 650, col: 5, offset: 20820}, + pos: position{line: 657, col: 5, offset: 21090}, val: "\\{", ignoreCase: false, want: "\"\\\\{\"", }, &labeledExpr{ - pos: position{line: 650, col: 13, offset: 20828}, + pos: position{line: 657, col: 13, offset: 21098}, label: "name", expr: &actionExpr{ pos: position{line: 324, col: 18, offset: 10072}, @@ -65046,7 +63397,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 650, col: 32, offset: 20847}, + pos: position{line: 657, col: 32, offset: 21117}, val: "}", ignoreCase: false, want: "\"}\"", @@ -65055,19 +63406,19 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 657, col: 5, offset: 21088}, + pos: position{line: 664, col: 5, offset: 21358}, run: (*parser).callonHeaderGroupElement253, expr: &seqExpr{ - pos: position{line: 657, col: 5, offset: 21088}, + pos: position{line: 664, col: 5, offset: 21358}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 657, col: 5, offset: 21088}, + pos: position{line: 664, col: 5, offset: 21358}, val: "{", ignoreCase: false, want: "\"{\"", }, &labeledExpr{ - pos: position{line: 657, col: 9, offset: 21092}, + pos: position{line: 664, col: 9, offset: 21362}, label: "name", expr: &actionExpr{ pos: position{line: 324, col: 18, offset: 10072}, @@ -65101,7 +63452,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 657, col: 28, offset: 21111}, + pos: position{line: 664, col: 28, offset: 21381}, val: "}", ignoreCase: false, want: "\"}\"", @@ -65116,27 +63467,27 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1212, col: 23, offset: 37871}, + pos: position{line: 1219, col: 23, offset: 38141}, run: (*parser).callonHeaderGroupElement263, expr: &seqExpr{ - pos: position{line: 1212, col: 23, offset: 37871}, + pos: position{line: 1219, col: 23, offset: 38141}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1210, col: 32, offset: 37839}, + pos: position{line: 1217, col: 32, offset: 38109}, val: "�", ignoreCase: false, want: "\"�\"", }, &labeledExpr{ - pos: position{line: 1212, col: 51, offset: 37899}, + pos: position{line: 1219, col: 51, offset: 38169}, label: "ref", expr: &actionExpr{ - pos: position{line: 1212, col: 56, offset: 37904}, + pos: position{line: 1219, col: 56, offset: 38174}, run: (*parser).callonHeaderGroupElement267, expr: &oneOrMoreExpr{ - pos: position{line: 1212, col: 56, offset: 37904}, + pos: position{line: 1219, col: 56, offset: 38174}, expr: &charClassMatcher{ - pos: position{line: 1212, col: 56, offset: 37904}, + pos: position{line: 1219, col: 56, offset: 38174}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -65146,7 +63497,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1210, col: 32, offset: 37839}, + pos: position{line: 1217, col: 32, offset: 38109}, val: "�", ignoreCase: false, want: "\"�\"", @@ -65155,81 +63506,111 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2848, col: 5, offset: 93453}, + pos: position{line: 2734, col: 5, offset: 89886}, run: (*parser).callonHeaderGroupElement271, expr: &seqExpr{ - pos: position{line: 2848, col: 5, offset: 93453}, + pos: position{line: 2734, col: 5, offset: 89886}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 2848, col: 5, offset: 93453}, + pos: position{line: 2734, col: 5, offset: 89886}, run: (*parser).callonHeaderGroupElement273, }, &labeledExpr{ - pos: position{line: 2851, col: 5, offset: 93524}, + pos: position{line: 2737, col: 5, offset: 89957}, label: "element", expr: &choiceExpr{ - pos: position{line: 2892, col: 5, offset: 94851}, + pos: position{line: 2778, col: 5, offset: 91284}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2892, col: 5, offset: 94851}, + pos: position{line: 2778, col: 5, offset: 91284}, run: (*parser).callonHeaderGroupElement276, expr: &seqExpr{ - pos: position{line: 2892, col: 5, offset: 94851}, + pos: position{line: 2778, col: 5, offset: 91284}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2892, col: 5, offset: 94851}, + pos: position{line: 2778, col: 5, offset: 91284}, val: "\\", ignoreCase: false, want: "\"\\\\\"", }, &choiceExpr{ - pos: position{line: 2892, col: 10, offset: 94856}, + pos: position{line: 2778, col: 10, offset: 91289}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2900, col: 15, offset: 95132}, + pos: position{line: 2787, col: 5, offset: 91579}, run: (*parser).callonHeaderGroupElement280, expr: &litMatcher{ - pos: position{line: 2900, col: 15, offset: 95132}, + pos: position{line: 2787, col: 5, offset: 91579}, + val: "\"`", + ignoreCase: false, + want: "\"\\\"`\"", + }, + }, + &actionExpr{ + pos: position{line: 2790, col: 7, offset: 91637}, + run: (*parser).callonHeaderGroupElement282, + expr: &litMatcher{ + pos: position{line: 2790, col: 7, offset: 91637}, + val: "`\"", + ignoreCase: false, + want: "\"`\\\"\"", + }, + }, + &actionExpr{ + pos: position{line: 2793, col: 7, offset: 91695}, + run: (*parser).callonHeaderGroupElement284, + expr: &litMatcher{ + pos: position{line: 2793, col: 7, offset: 91695}, + val: "'`", + ignoreCase: false, + want: "\"'`\"", + }, + }, + &actionExpr{ + pos: position{line: 2796, col: 7, offset: 91751}, + run: (*parser).callonHeaderGroupElement286, + expr: &litMatcher{ + pos: position{line: 2796, col: 7, offset: 91751}, val: "`'", ignoreCase: false, want: "\"`'\"", }, }, &actionExpr{ - pos: position{line: 2906, col: 14, offset: 95236}, - run: (*parser).callonHeaderGroupElement282, + pos: position{line: 2802, col: 14, offset: 91873}, + run: (*parser).callonHeaderGroupElement288, expr: &litMatcher{ - pos: position{line: 2906, col: 14, offset: 95236}, + pos: position{line: 2802, col: 14, offset: 91873}, val: "(C)", ignoreCase: false, want: "\"(C)\"", }, }, &actionExpr{ - pos: position{line: 2910, col: 14, offset: 95302}, - run: (*parser).callonHeaderGroupElement284, + pos: position{line: 2806, col: 14, offset: 91939}, + run: (*parser).callonHeaderGroupElement290, expr: &litMatcher{ - pos: position{line: 2910, col: 14, offset: 95302}, + pos: position{line: 2806, col: 14, offset: 91939}, val: "(TM)", ignoreCase: false, want: "\"(TM)\"", }, }, &actionExpr{ - pos: position{line: 2914, col: 15, offset: 95371}, - run: (*parser).callonHeaderGroupElement286, + pos: position{line: 2810, col: 15, offset: 92008}, + run: (*parser).callonHeaderGroupElement292, expr: &litMatcher{ - pos: position{line: 2914, col: 15, offset: 95371}, + pos: position{line: 2810, col: 15, offset: 92008}, val: "(R)", ignoreCase: false, want: "\"(R)\"", }, }, &actionExpr{ - pos: position{line: 2918, col: 13, offset: 95436}, - run: (*parser).callonHeaderGroupElement288, + pos: position{line: 2814, col: 13, offset: 92073}, + run: (*parser).callonHeaderGroupElement294, expr: &litMatcher{ - pos: position{line: 2918, col: 13, offset: 95436}, + pos: position{line: 2814, col: 13, offset: 92073}, val: "...", ignoreCase: false, want: "\"...\"", @@ -65241,63 +63622,93 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2900, col: 15, offset: 95132}, - run: (*parser).callonHeaderGroupElement290, + pos: position{line: 2787, col: 5, offset: 91579}, + run: (*parser).callonHeaderGroupElement296, + expr: &litMatcher{ + pos: position{line: 2787, col: 5, offset: 91579}, + val: "\"`", + ignoreCase: false, + want: "\"\\\"`\"", + }, + }, + &actionExpr{ + pos: position{line: 2790, col: 7, offset: 91637}, + run: (*parser).callonHeaderGroupElement298, + expr: &litMatcher{ + pos: position{line: 2790, col: 7, offset: 91637}, + val: "`\"", + ignoreCase: false, + want: "\"`\\\"\"", + }, + }, + &actionExpr{ + pos: position{line: 2793, col: 7, offset: 91695}, + run: (*parser).callonHeaderGroupElement300, + expr: &litMatcher{ + pos: position{line: 2793, col: 7, offset: 91695}, + val: "'`", + ignoreCase: false, + want: "\"'`\"", + }, + }, + &actionExpr{ + pos: position{line: 2796, col: 7, offset: 91751}, + run: (*parser).callonHeaderGroupElement302, expr: &litMatcher{ - pos: position{line: 2900, col: 15, offset: 95132}, + pos: position{line: 2796, col: 7, offset: 91751}, val: "`'", ignoreCase: false, want: "\"`'\"", }, }, &actionExpr{ - pos: position{line: 2906, col: 14, offset: 95236}, - run: (*parser).callonHeaderGroupElement292, + pos: position{line: 2802, col: 14, offset: 91873}, + run: (*parser).callonHeaderGroupElement304, expr: &litMatcher{ - pos: position{line: 2906, col: 14, offset: 95236}, + pos: position{line: 2802, col: 14, offset: 91873}, val: "(C)", ignoreCase: false, want: "\"(C)\"", }, }, &actionExpr{ - pos: position{line: 2910, col: 14, offset: 95302}, - run: (*parser).callonHeaderGroupElement294, + pos: position{line: 2806, col: 14, offset: 91939}, + run: (*parser).callonHeaderGroupElement306, expr: &litMatcher{ - pos: position{line: 2910, col: 14, offset: 95302}, + pos: position{line: 2806, col: 14, offset: 91939}, val: "(TM)", ignoreCase: false, want: "\"(TM)\"", }, }, &actionExpr{ - pos: position{line: 2914, col: 15, offset: 95371}, - run: (*parser).callonHeaderGroupElement296, + pos: position{line: 2810, col: 15, offset: 92008}, + run: (*parser).callonHeaderGroupElement308, expr: &litMatcher{ - pos: position{line: 2914, col: 15, offset: 95371}, + pos: position{line: 2810, col: 15, offset: 92008}, val: "(R)", ignoreCase: false, want: "\"(R)\"", }, }, &actionExpr{ - pos: position{line: 2918, col: 13, offset: 95436}, - run: (*parser).callonHeaderGroupElement298, + pos: position{line: 2814, col: 13, offset: 92073}, + run: (*parser).callonHeaderGroupElement310, expr: &litMatcher{ - pos: position{line: 2918, col: 13, offset: 95436}, + pos: position{line: 2814, col: 13, offset: 92073}, val: "...", ignoreCase: false, want: "\"...\"", }, }, &actionExpr{ - pos: position{line: 2929, col: 5, offset: 95746}, - run: (*parser).callonHeaderGroupElement300, + pos: position{line: 2825, col: 5, offset: 92383}, + run: (*parser).callonHeaderGroupElement312, expr: &seqExpr{ - pos: position{line: 2929, col: 5, offset: 95746}, + pos: position{line: 2825, col: 5, offset: 92383}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 3090, col: 13, offset: 100713}, + pos: position{line: 2986, col: 13, offset: 97350}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -65305,15 +63716,15 @@ var g = &grammar{ inverted: false, }, &litMatcher{ - pos: position{line: 2929, col: 14, offset: 95755}, + pos: position{line: 2825, col: 14, offset: 92392}, val: "\\'", ignoreCase: false, want: "\"\\\\'\"", }, &andExpr{ - pos: position{line: 2929, col: 19, offset: 95760}, + pos: position{line: 2825, col: 19, offset: 92397}, expr: &charClassMatcher{ - pos: position{line: 2929, col: 20, offset: 95761}, + pos: position{line: 2825, col: 20, offset: 92398}, val: "[\\pL]", classes: []*unicode.RangeTable{rangeTable("L")}, ignoreCase: false, @@ -65324,13 +63735,13 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2935, col: 5, offset: 95992}, - run: (*parser).callonHeaderGroupElement306, + pos: position{line: 2831, col: 5, offset: 92629}, + run: (*parser).callonHeaderGroupElement318, expr: &seqExpr{ - pos: position{line: 2935, col: 5, offset: 95992}, + pos: position{line: 2831, col: 5, offset: 92629}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 3090, col: 13, offset: 100713}, + pos: position{line: 2986, col: 13, offset: 97350}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -65338,15 +63749,15 @@ var g = &grammar{ inverted: false, }, &litMatcher{ - pos: position{line: 2935, col: 14, offset: 96001}, + pos: position{line: 2831, col: 14, offset: 92638}, val: "'", ignoreCase: false, want: "\"'\"", }, &andExpr{ - pos: position{line: 2935, col: 18, offset: 96005}, + pos: position{line: 2831, col: 18, offset: 92642}, expr: &charClassMatcher{ - pos: position{line: 2935, col: 19, offset: 96006}, + pos: position{line: 2831, col: 19, offset: 92643}, val: "[\\pL]", classes: []*unicode.RangeTable{rangeTable("L")}, ignoreCase: false, @@ -65363,27 +63774,27 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1293, col: 5, offset: 40499}, - run: (*parser).callonHeaderGroupElement312, + pos: position{line: 1300, col: 5, offset: 40769}, + run: (*parser).callonHeaderGroupElement324, expr: &seqExpr{ - pos: position{line: 1293, col: 5, offset: 40499}, + pos: position{line: 1300, col: 5, offset: 40769}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1293, col: 5, offset: 40499}, + pos: position{line: 1300, col: 5, offset: 40769}, val: "\\[[", ignoreCase: false, want: "\"\\\\[[\"", }, &labeledExpr{ - pos: position{line: 1293, col: 14, offset: 40508}, + pos: position{line: 1300, col: 14, offset: 40778}, label: "id", expr: &actionExpr{ - pos: position{line: 3161, col: 7, offset: 103049}, - run: (*parser).callonHeaderGroupElement316, + pos: position{line: 3057, col: 7, offset: 99686}, + run: (*parser).callonHeaderGroupElement328, expr: &oneOrMoreExpr{ - pos: position{line: 3161, col: 7, offset: 103049}, + pos: position{line: 3057, col: 7, offset: 99686}, expr: &charClassMatcher{ - pos: position{line: 3161, col: 7, offset: 103049}, + pos: position{line: 3057, col: 7, offset: 99686}, val: "[^[]<>,]", chars: []rune{'[', ']', '<', '>', ','}, ignoreCase: false, @@ -65393,7 +63804,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1293, col: 22, offset: 40516}, + pos: position{line: 1300, col: 22, offset: 40786}, val: "]]", ignoreCase: false, want: "\"]]\"", @@ -65402,27 +63813,27 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1299, col: 5, offset: 40702}, - run: (*parser).callonHeaderGroupElement320, + pos: position{line: 1306, col: 5, offset: 40972}, + run: (*parser).callonHeaderGroupElement332, expr: &seqExpr{ - pos: position{line: 1299, col: 5, offset: 40702}, + pos: position{line: 1306, col: 5, offset: 40972}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1299, col: 5, offset: 40702}, + pos: position{line: 1306, col: 5, offset: 40972}, val: "[[", ignoreCase: false, want: "\"[[\"", }, &labeledExpr{ - pos: position{line: 1299, col: 10, offset: 40707}, + pos: position{line: 1306, col: 10, offset: 40977}, label: "id", expr: &actionExpr{ - pos: position{line: 3161, col: 7, offset: 103049}, - run: (*parser).callonHeaderGroupElement324, + pos: position{line: 3057, col: 7, offset: 99686}, + run: (*parser).callonHeaderGroupElement336, expr: &oneOrMoreExpr{ - pos: position{line: 3161, col: 7, offset: 103049}, + pos: position{line: 3057, col: 7, offset: 99686}, expr: &charClassMatcher{ - pos: position{line: 3161, col: 7, offset: 103049}, + pos: position{line: 3057, col: 7, offset: 99686}, val: "[^[]<>,]", chars: []rune{'[', ']', '<', '>', ','}, ignoreCase: false, @@ -65432,7 +63843,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1299, col: 18, offset: 40715}, + pos: position{line: 1306, col: 18, offset: 40985}, val: "]]", ignoreCase: false, want: "\"]]\"", @@ -65441,14 +63852,14 @@ var g = &grammar{ }, }, &ruleRefExpr{ - pos: position{line: 2797, col: 11, offset: 92250}, + pos: position{line: 2687, col: 11, offset: 88769}, name: "InlineFootnote", }, &actionExpr{ - pos: position{line: 3128, col: 12, offset: 101932}, - run: (*parser).callonHeaderGroupElement329, + pos: position{line: 3024, col: 12, offset: 98569}, + run: (*parser).callonHeaderGroupElement341, expr: &anyMatcher{ - line: 3128, col: 12, offset: 101932, + line: 3024, col: 12, offset: 98569, }, }, }, @@ -65460,73 +63871,73 @@ var g = &grammar{ }, { name: "InlineMacro", - pos: position{line: 2802, col: 1, offset: 92329}, + pos: position{line: 2692, col: 1, offset: 88848}, expr: &actionExpr{ - pos: position{line: 2804, col: 5, offset: 92411}, + pos: position{line: 2694, col: 5, offset: 88930}, run: (*parser).callonInlineMacro1, expr: &seqExpr{ - pos: position{line: 2804, col: 5, offset: 92411}, + pos: position{line: 2694, col: 5, offset: 88930}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 2804, col: 5, offset: 92411}, + pos: position{line: 2694, col: 5, offset: 88930}, run: (*parser).callonInlineMacro3, }, &labeledExpr{ - pos: position{line: 2807, col: 5, offset: 92476}, + pos: position{line: 2697, col: 5, offset: 88995}, label: "element", expr: &choiceExpr{ - pos: position{line: 2808, col: 9, offset: 92494}, + pos: position{line: 2698, col: 9, offset: 89013}, alternatives: []interface{}{ &ruleRefExpr{ - pos: position{line: 2808, col: 9, offset: 92494}, + pos: position{line: 2698, col: 9, offset: 89013}, name: "InlineIcon", }, &ruleRefExpr{ - pos: position{line: 2809, col: 11, offset: 92515}, + pos: position{line: 2699, col: 11, offset: 89034}, name: "InlineImage", }, &ruleRefExpr{ - pos: position{line: 2810, col: 11, offset: 92538}, + pos: position{line: 2700, col: 11, offset: 89057}, name: "Link", }, &ruleRefExpr{ - pos: position{line: 2811, col: 11, offset: 92554}, + pos: position{line: 2701, col: 11, offset: 89073}, name: "InlinePassthrough", }, &ruleRefExpr{ - pos: position{line: 2812, col: 11, offset: 92583}, + pos: position{line: 2702, col: 11, offset: 89102}, name: "InlineFootnote", }, &ruleRefExpr{ - pos: position{line: 2813, col: 11, offset: 92609}, + pos: position{line: 2703, col: 11, offset: 89128}, name: "CrossReference", }, &ruleRefExpr{ - pos: position{line: 2814, col: 11, offset: 92635}, + pos: position{line: 2704, col: 11, offset: 89154}, name: "InlineUserMacro", }, &actionExpr{ - pos: position{line: 1293, col: 5, offset: 40499}, + pos: position{line: 1300, col: 5, offset: 40769}, run: (*parser).callonInlineMacro13, expr: &seqExpr{ - pos: position{line: 1293, col: 5, offset: 40499}, + pos: position{line: 1300, col: 5, offset: 40769}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1293, col: 5, offset: 40499}, + pos: position{line: 1300, col: 5, offset: 40769}, val: "\\[[", ignoreCase: false, want: "\"\\\\[[\"", }, &labeledExpr{ - pos: position{line: 1293, col: 14, offset: 40508}, + pos: position{line: 1300, col: 14, offset: 40778}, label: "id", expr: &actionExpr{ - pos: position{line: 3161, col: 7, offset: 103049}, + pos: position{line: 3057, col: 7, offset: 99686}, run: (*parser).callonInlineMacro17, expr: &oneOrMoreExpr{ - pos: position{line: 3161, col: 7, offset: 103049}, + pos: position{line: 3057, col: 7, offset: 99686}, expr: &charClassMatcher{ - pos: position{line: 3161, col: 7, offset: 103049}, + pos: position{line: 3057, col: 7, offset: 99686}, val: "[^[]<>,]", chars: []rune{'[', ']', '<', '>', ','}, ignoreCase: false, @@ -65536,7 +63947,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1293, col: 22, offset: 40516}, + pos: position{line: 1300, col: 22, offset: 40786}, val: "]]", ignoreCase: false, want: "\"]]\"", @@ -65545,27 +63956,27 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1299, col: 5, offset: 40702}, + pos: position{line: 1306, col: 5, offset: 40972}, run: (*parser).callonInlineMacro21, expr: &seqExpr{ - pos: position{line: 1299, col: 5, offset: 40702}, + pos: position{line: 1306, col: 5, offset: 40972}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1299, col: 5, offset: 40702}, + pos: position{line: 1306, col: 5, offset: 40972}, val: "[[", ignoreCase: false, want: "\"[[\"", }, &labeledExpr{ - pos: position{line: 1299, col: 10, offset: 40707}, + pos: position{line: 1306, col: 10, offset: 40977}, label: "id", expr: &actionExpr{ - pos: position{line: 3161, col: 7, offset: 103049}, + pos: position{line: 3057, col: 7, offset: 99686}, run: (*parser).callonInlineMacro25, expr: &oneOrMoreExpr{ - pos: position{line: 3161, col: 7, offset: 103049}, + pos: position{line: 3057, col: 7, offset: 99686}, expr: &charClassMatcher{ - pos: position{line: 3161, col: 7, offset: 103049}, + pos: position{line: 3057, col: 7, offset: 99686}, val: "[^[]<>,]", chars: []rune{'[', ']', '<', '>', ','}, ignoreCase: false, @@ -65575,7 +63986,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1299, col: 18, offset: 40715}, + pos: position{line: 1306, col: 18, offset: 40985}, val: "]]", ignoreCase: false, want: "\"]]\"", @@ -65584,30 +63995,30 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1338, col: 23, offset: 42201}, + pos: position{line: 1345, col: 23, offset: 42456}, run: (*parser).callonInlineMacro29, expr: &seqExpr{ - pos: position{line: 1338, col: 23, offset: 42201}, + pos: position{line: 1345, col: 23, offset: 42456}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1338, col: 23, offset: 42201}, + pos: position{line: 1345, col: 23, offset: 42456}, val: "(((", ignoreCase: false, want: "\"(((\"", }, &labeledExpr{ - pos: position{line: 1338, col: 29, offset: 42207}, + pos: position{line: 1345, col: 29, offset: 42462}, label: "term1", expr: &actionExpr{ - pos: position{line: 1345, col: 30, offset: 42538}, + pos: position{line: 1352, col: 30, offset: 42793}, run: (*parser).callonInlineMacro33, expr: &oneOrMoreExpr{ - pos: position{line: 1345, col: 30, offset: 42538}, + pos: position{line: 1352, col: 30, offset: 42793}, expr: &choiceExpr{ - pos: position{line: 1345, col: 31, offset: 42539}, + pos: position{line: 1352, col: 31, offset: 42794}, alternatives: []interface{}{ &charClassMatcher{ - pos: position{line: 3090, col: 13, offset: 100713}, + pos: position{line: 2986, col: 13, offset: 97350}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -65615,10 +64026,10 @@ var g = &grammar{ inverted: false, }, &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonInlineMacro37, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -65631,23 +64042,23 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1339, col: 5, offset: 42246}, + pos: position{line: 1346, col: 5, offset: 42501}, label: "term2", expr: &zeroOrOneExpr{ - pos: position{line: 1339, col: 11, offset: 42252}, + pos: position{line: 1346, col: 11, offset: 42507}, expr: &actionExpr{ - pos: position{line: 1339, col: 12, offset: 42253}, + pos: position{line: 1346, col: 12, offset: 42508}, run: (*parser).callonInlineMacro41, expr: &seqExpr{ - pos: position{line: 1339, col: 12, offset: 42253}, + pos: position{line: 1346, col: 12, offset: 42508}, exprs: []interface{}{ &zeroOrMoreExpr{ - pos: position{line: 1339, col: 12, offset: 42253}, + pos: position{line: 1346, col: 12, offset: 42508}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonInlineMacro44, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -65656,18 +64067,18 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1339, col: 19, offset: 42260}, + pos: position{line: 1346, col: 19, offset: 42515}, val: ",", ignoreCase: false, want: "\",\"", }, &zeroOrMoreExpr{ - pos: position{line: 1339, col: 23, offset: 42264}, + pos: position{line: 1346, col: 23, offset: 42519}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonInlineMacro48, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -65676,18 +64087,18 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1339, col: 30, offset: 42271}, + pos: position{line: 1346, col: 30, offset: 42526}, label: "content", expr: &actionExpr{ - pos: position{line: 1345, col: 30, offset: 42538}, + pos: position{line: 1352, col: 30, offset: 42793}, run: (*parser).callonInlineMacro51, expr: &oneOrMoreExpr{ - pos: position{line: 1345, col: 30, offset: 42538}, + pos: position{line: 1352, col: 30, offset: 42793}, expr: &choiceExpr{ - pos: position{line: 1345, col: 31, offset: 42539}, + pos: position{line: 1352, col: 31, offset: 42794}, alternatives: []interface{}{ &charClassMatcher{ - pos: position{line: 3090, col: 13, offset: 100713}, + pos: position{line: 2986, col: 13, offset: 97350}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -65695,10 +64106,10 @@ var g = &grammar{ inverted: false, }, &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonInlineMacro55, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -65716,23 +64127,23 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1340, col: 5, offset: 42338}, + pos: position{line: 1347, col: 5, offset: 42593}, label: "term3", expr: &zeroOrOneExpr{ - pos: position{line: 1340, col: 11, offset: 42344}, + pos: position{line: 1347, col: 11, offset: 42599}, expr: &actionExpr{ - pos: position{line: 1340, col: 12, offset: 42345}, + pos: position{line: 1347, col: 12, offset: 42600}, run: (*parser).callonInlineMacro59, expr: &seqExpr{ - pos: position{line: 1340, col: 12, offset: 42345}, + pos: position{line: 1347, col: 12, offset: 42600}, exprs: []interface{}{ &zeroOrMoreExpr{ - pos: position{line: 1340, col: 12, offset: 42345}, + pos: position{line: 1347, col: 12, offset: 42600}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonInlineMacro62, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -65741,18 +64152,18 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1340, col: 19, offset: 42352}, + pos: position{line: 1347, col: 19, offset: 42607}, val: ",", ignoreCase: false, want: "\",\"", }, &zeroOrMoreExpr{ - pos: position{line: 1340, col: 23, offset: 42356}, + pos: position{line: 1347, col: 23, offset: 42611}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonInlineMacro66, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -65761,18 +64172,18 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1340, col: 30, offset: 42363}, + pos: position{line: 1347, col: 30, offset: 42618}, label: "content", expr: &actionExpr{ - pos: position{line: 1345, col: 30, offset: 42538}, + pos: position{line: 1352, col: 30, offset: 42793}, run: (*parser).callonInlineMacro69, expr: &oneOrMoreExpr{ - pos: position{line: 1345, col: 30, offset: 42538}, + pos: position{line: 1352, col: 30, offset: 42793}, expr: &choiceExpr{ - pos: position{line: 1345, col: 31, offset: 42539}, + pos: position{line: 1352, col: 31, offset: 42794}, alternatives: []interface{}{ &charClassMatcher{ - pos: position{line: 3090, col: 13, offset: 100713}, + pos: position{line: 2986, col: 13, offset: 97350}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -65780,10 +64191,10 @@ var g = &grammar{ inverted: false, }, &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonInlineMacro73, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -65801,7 +64212,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1341, col: 5, offset: 42430}, + pos: position{line: 1348, col: 5, offset: 42685}, val: ")))", ignoreCase: false, want: "\")))\"", @@ -65810,19 +64221,19 @@ var g = &grammar{ }, }, &ruleRefExpr{ - pos: position{line: 2817, col: 11, offset: 92714}, + pos: position{line: 2707, col: 11, offset: 89233}, name: "IndexTerm", }, &ruleRefExpr{ - pos: position{line: 2818, col: 11, offset: 92734}, + pos: position{line: 2708, col: 11, offset: 89253}, name: "InlineButton", }, &ruleRefExpr{ - pos: position{line: 2819, col: 11, offset: 92757}, + pos: position{line: 2709, col: 11, offset: 89276}, name: "InlineMenu", }, &ruleRefExpr{ - pos: position{line: 2820, col: 11, offset: 92778}, + pos: position{line: 2710, col: 11, offset: 89297}, name: "InlineUserMacro", }, }, @@ -65834,80 +64245,80 @@ var g = &grammar{ }, { name: "InlinePassthrough", - pos: position{line: 2824, col: 1, offset: 92840}, + pos: position{line: 2714, col: 1, offset: 89359}, expr: &actionExpr{ - pos: position{line: 2826, col: 5, offset: 92928}, + pos: position{line: 2716, col: 5, offset: 89447}, run: (*parser).callonInlinePassthrough1, expr: &seqExpr{ - pos: position{line: 2826, col: 5, offset: 92928}, + pos: position{line: 2716, col: 5, offset: 89447}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 2826, col: 5, offset: 92928}, + pos: position{line: 2716, col: 5, offset: 89447}, run: (*parser).callonInlinePassthrough3, }, &labeledExpr{ - pos: position{line: 2829, col: 5, offset: 93005}, + pos: position{line: 2719, col: 5, offset: 89524}, label: "element", expr: &choiceExpr{ - pos: position{line: 2830, col: 9, offset: 93023}, + pos: position{line: 2720, col: 9, offset: 89542}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 1402, col: 26, offset: 45445}, + pos: position{line: 1409, col: 26, offset: 45700}, run: (*parser).callonInlinePassthrough6, expr: &seqExpr{ - pos: position{line: 1402, col: 26, offset: 45445}, + pos: position{line: 1409, col: 26, offset: 45700}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1400, col: 32, offset: 45413}, + pos: position{line: 1407, col: 32, offset: 45668}, val: "+++", ignoreCase: false, want: "\"+++\"", }, &labeledExpr{ - pos: position{line: 1402, col: 54, offset: 45473}, + pos: position{line: 1409, col: 54, offset: 45728}, label: "content", expr: &choiceExpr{ - pos: position{line: 1406, col: 33, offset: 45686}, + pos: position{line: 1413, col: 33, offset: 45941}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 1406, col: 34, offset: 45687}, + pos: position{line: 1413, col: 34, offset: 45942}, run: (*parser).callonInlinePassthrough11, expr: &zeroOrMoreExpr{ - pos: position{line: 1406, col: 34, offset: 45687}, + pos: position{line: 1413, col: 34, offset: 45942}, expr: &seqExpr{ - pos: position{line: 1406, col: 35, offset: 45688}, + pos: position{line: 1413, col: 35, offset: 45943}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 1406, col: 35, offset: 45688}, + pos: position{line: 1413, col: 35, offset: 45943}, expr: &litMatcher{ - pos: position{line: 1400, col: 32, offset: 45413}, + pos: position{line: 1407, col: 32, offset: 45668}, val: "+++", ignoreCase: false, want: "\"+++\"", }, }, &anyMatcher{ - line: 1406, col: 64, offset: 45717, + line: 1413, col: 64, offset: 45972, }, }, }, }, }, &actionExpr{ - pos: position{line: 1408, col: 11, offset: 45890}, + pos: position{line: 1415, col: 11, offset: 46145}, run: (*parser).callonInlinePassthrough17, expr: &zeroOrOneExpr{ - pos: position{line: 1408, col: 11, offset: 45890}, + pos: position{line: 1415, col: 11, offset: 46145}, expr: &seqExpr{ - pos: position{line: 1408, col: 12, offset: 45891}, + pos: position{line: 1415, col: 12, offset: 46146}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 1408, col: 12, offset: 45891}, + pos: position{line: 1415, col: 12, offset: 46146}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonInlinePassthrough21, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -65916,27 +64327,27 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 1408, col: 19, offset: 45898}, + pos: position{line: 1415, col: 19, offset: 46153}, expr: &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonInlinePassthrough24, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -65946,16 +64357,16 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 1408, col: 28, offset: 45907}, + pos: position{line: 1415, col: 28, offset: 46162}, expr: &litMatcher{ - pos: position{line: 1400, col: 32, offset: 45413}, + pos: position{line: 1407, col: 32, offset: 45668}, val: "+++", ignoreCase: false, want: "\"+++\"", }, }, &anyMatcher{ - line: 1408, col: 57, offset: 45936, + line: 1415, col: 57, offset: 46191, }, }, }, @@ -65965,15 +64376,15 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1400, col: 32, offset: 45413}, + pos: position{line: 1407, col: 32, offset: 45668}, val: "+++", ignoreCase: false, want: "\"+++\"", }, ¬Expr{ - pos: position{line: 1402, col: 121, offset: 45540}, + pos: position{line: 1409, col: 121, offset: 45795}, expr: &charClassMatcher{ - pos: position{line: 3090, col: 13, offset: 100713}, + pos: position{line: 2986, col: 13, offset: 97350}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -65985,45 +64396,45 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1390, col: 26, offset: 44728}, + pos: position{line: 1397, col: 26, offset: 44983}, run: (*parser).callonInlinePassthrough35, expr: &seqExpr{ - pos: position{line: 1390, col: 26, offset: 44728}, + pos: position{line: 1397, col: 26, offset: 44983}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1388, col: 32, offset: 44698}, + pos: position{line: 1395, col: 32, offset: 44953}, val: "+", ignoreCase: false, want: "\"+\"", }, &labeledExpr{ - pos: position{line: 1390, col: 54, offset: 44756}, + pos: position{line: 1397, col: 54, offset: 45011}, label: "content", expr: &choiceExpr{ - pos: position{line: 1394, col: 33, offset: 44969}, + pos: position{line: 1401, col: 33, offset: 45224}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 1394, col: 34, offset: 44970}, + pos: position{line: 1401, col: 34, offset: 45225}, run: (*parser).callonInlinePassthrough40, expr: &seqExpr{ - pos: position{line: 1394, col: 34, offset: 44970}, + pos: position{line: 1401, col: 34, offset: 45225}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 1394, col: 35, offset: 44971}, + pos: position{line: 1401, col: 35, offset: 45226}, expr: &litMatcher{ - pos: position{line: 1388, col: 32, offset: 44698}, + pos: position{line: 1395, col: 32, offset: 44953}, val: "+", ignoreCase: false, want: "\"+\"", }, }, ¬Expr{ - pos: position{line: 1394, col: 64, offset: 45000}, + pos: position{line: 1401, col: 64, offset: 45255}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonInlinePassthrough45, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -66032,27 +64443,27 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 1394, col: 71, offset: 45007}, + pos: position{line: 1401, col: 71, offset: 45262}, expr: &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonInlinePassthrough48, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -66062,25 +64473,25 @@ var g = &grammar{ }, }, &anyMatcher{ - line: 1394, col: 80, offset: 45016, + line: 1401, col: 80, offset: 45271, }, &zeroOrMoreExpr{ - pos: position{line: 1394, col: 83, offset: 45019}, + pos: position{line: 1401, col: 83, offset: 45274}, expr: &seqExpr{ - pos: position{line: 1394, col: 84, offset: 45020}, + pos: position{line: 1401, col: 84, offset: 45275}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 1394, col: 84, offset: 45020}, + pos: position{line: 1401, col: 84, offset: 45275}, expr: &seqExpr{ - pos: position{line: 1394, col: 86, offset: 45022}, + pos: position{line: 1401, col: 86, offset: 45277}, exprs: []interface{}{ &actionExpr{ - pos: position{line: 3180, col: 11, offset: 103464}, + pos: position{line: 3076, col: 11, offset: 100101}, run: (*parser).callonInlinePassthrough58, expr: &oneOrMoreExpr{ - pos: position{line: 3180, col: 11, offset: 103464}, + pos: position{line: 3076, col: 11, offset: 100101}, expr: &charClassMatcher{ - pos: position{line: 3180, col: 12, offset: 103465}, + pos: position{line: 3076, col: 12, offset: 100102}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -66089,7 +64500,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1388, col: 32, offset: 44698}, + pos: position{line: 1395, col: 32, offset: 44953}, val: "+", ignoreCase: false, want: "\"+\"", @@ -66098,36 +64509,36 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 1394, col: 122, offset: 45058}, + pos: position{line: 1401, col: 122, offset: 45313}, expr: &litMatcher{ - pos: position{line: 1388, col: 32, offset: 44698}, + pos: position{line: 1395, col: 32, offset: 44953}, val: "+", ignoreCase: false, want: "\"+\"", }, }, ¬Expr{ - pos: position{line: 1394, col: 151, offset: 45087}, + pos: position{line: 1401, col: 151, offset: 45342}, expr: &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonInlinePassthrough65, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -66137,7 +64548,7 @@ var g = &grammar{ }, }, &anyMatcher{ - line: 1394, col: 160, offset: 45096, + line: 1401, col: 160, offset: 45351, }, }, }, @@ -66146,18 +64557,18 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1396, col: 11, offset: 45246}, + pos: position{line: 1403, col: 11, offset: 45501}, run: (*parser).callonInlinePassthrough71, expr: &seqExpr{ - pos: position{line: 1396, col: 12, offset: 45247}, + pos: position{line: 1403, col: 12, offset: 45502}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 1396, col: 12, offset: 45247}, + pos: position{line: 1403, col: 12, offset: 45502}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonInlinePassthrough74, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -66166,27 +64577,27 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 1396, col: 19, offset: 45254}, + pos: position{line: 1403, col: 19, offset: 45509}, expr: &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonInlinePassthrough77, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -66196,16 +64607,16 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 1396, col: 28, offset: 45263}, + pos: position{line: 1403, col: 28, offset: 45518}, expr: &litMatcher{ - pos: position{line: 1388, col: 32, offset: 44698}, + pos: position{line: 1395, col: 32, offset: 44953}, val: "+", ignoreCase: false, want: "\"+\"", }, }, &anyMatcher{ - line: 1396, col: 57, offset: 45292, + line: 1403, col: 57, offset: 45547, }, }, }, @@ -66214,15 +64625,15 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1388, col: 32, offset: 44698}, + pos: position{line: 1395, col: 32, offset: 44953}, val: "+", ignoreCase: false, want: "\"+\"", }, ¬Expr{ - pos: position{line: 1390, col: 121, offset: 44823}, + pos: position{line: 1397, col: 121, offset: 45078}, expr: &charClassMatcher{ - pos: position{line: 3090, col: 13, offset: 100713}, + pos: position{line: 2986, col: 13, offset: 97350}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -66234,7 +64645,7 @@ var g = &grammar{ }, }, &ruleRefExpr{ - pos: position{line: 2830, col: 57, offset: 93071}, + pos: position{line: 2720, col: 57, offset: 89590}, name: "PassthroughMacro", }, }, @@ -66246,100 +64657,83 @@ var g = &grammar{ }, { name: "Quote", - pos: position{line: 2835, col: 1, offset: 93131}, - expr: &actionExpr{ - pos: position{line: 2837, col: 5, offset: 93207}, - run: (*parser).callonQuote1, - expr: &seqExpr{ - pos: position{line: 2837, col: 5, offset: 93207}, - exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 2837, col: 5, offset: 93207}, - run: (*parser).callonQuote3, - }, - &labeledExpr{ - pos: position{line: 2840, col: 5, offset: 93272}, - label: "element", - expr: &choiceExpr{ - pos: position{line: 2841, col: 9, offset: 93290}, - alternatives: []interface{}{ - &ruleRefExpr{ - pos: position{line: 2841, col: 9, offset: 93290}, - name: "QuotedText", - }, - &ruleRefExpr{ - pos: position{line: 2842, col: 11, offset: 93312}, - name: "QuotedString", - }, - }, - }, - }, + pos: position{line: 2725, col: 1, offset: 89650}, + expr: &seqExpr{ + pos: position{line: 2727, col: 5, offset: 89726}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2727, col: 5, offset: 89726}, + run: (*parser).callonQuote2, + }, + &ruleRefExpr{ + pos: position{line: 2730, col: 5, offset: 89791}, + name: "QuotedText", }, }, }, }, { name: "TableColumnsAttribute", - pos: position{line: 3005, col: 1, offset: 97771}, + pos: position{line: 2901, col: 1, offset: 94408}, expr: &actionExpr{ - pos: position{line: 3005, col: 26, offset: 97796}, + pos: position{line: 2901, col: 26, offset: 94433}, run: (*parser).callonTableColumnsAttribute1, expr: &seqExpr{ - pos: position{line: 3005, col: 26, offset: 97796}, + pos: position{line: 2901, col: 26, offset: 94433}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 3005, col: 26, offset: 97796}, + pos: position{line: 2901, col: 26, offset: 94433}, label: "cols", expr: &zeroOrMoreExpr{ - pos: position{line: 3005, col: 31, offset: 97801}, + pos: position{line: 2901, col: 31, offset: 94438}, expr: &actionExpr{ - pos: position{line: 3010, col: 5, offset: 97864}, + pos: position{line: 2906, col: 5, offset: 94501}, run: (*parser).callonTableColumnsAttribute5, expr: &seqExpr{ - pos: position{line: 3010, col: 5, offset: 97864}, + pos: position{line: 2906, col: 5, offset: 94501}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 3010, col: 5, offset: 97864}, + pos: position{line: 2906, col: 5, offset: 94501}, expr: ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, &labeledExpr{ - pos: position{line: 3013, col: 5, offset: 97988}, + pos: position{line: 2909, col: 5, offset: 94625}, label: "multiplier", expr: &zeroOrOneExpr{ - pos: position{line: 3013, col: 16, offset: 97999}, + pos: position{line: 2909, col: 16, offset: 94636}, expr: &actionExpr{ - pos: position{line: 3013, col: 17, offset: 98000}, + pos: position{line: 2909, col: 17, offset: 94637}, run: (*parser).callonTableColumnsAttribute12, expr: &seqExpr{ - pos: position{line: 3013, col: 17, offset: 98000}, + pos: position{line: 2909, col: 17, offset: 94637}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 3013, col: 17, offset: 98000}, + pos: position{line: 2909, col: 17, offset: 94637}, label: "n", expr: &actionExpr{ - pos: position{line: 3168, col: 12, offset: 103224}, + pos: position{line: 3064, col: 12, offset: 99861}, run: (*parser).callonTableColumnsAttribute15, expr: &seqExpr{ - pos: position{line: 3168, col: 13, offset: 103225}, + pos: position{line: 3064, col: 13, offset: 99862}, exprs: []interface{}{ &zeroOrOneExpr{ - pos: position{line: 3168, col: 13, offset: 103225}, + pos: position{line: 3064, col: 13, offset: 99862}, expr: &litMatcher{ - pos: position{line: 3168, col: 13, offset: 103225}, + pos: position{line: 3064, col: 13, offset: 99862}, val: "-", ignoreCase: false, want: "\"-\"", }, }, &oneOrMoreExpr{ - pos: position{line: 3168, col: 18, offset: 103230}, + pos: position{line: 3064, col: 18, offset: 99867}, expr: &charClassMatcher{ - pos: position{line: 3168, col: 18, offset: 103230}, + pos: position{line: 3064, col: 18, offset: 99867}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -66351,7 +64745,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 3013, col: 27, offset: 98010}, + pos: position{line: 2909, col: 27, offset: 94647}, val: "*", ignoreCase: false, want: "\"*\"", @@ -66362,38 +64756,38 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 3014, col: 5, offset: 98038}, + pos: position{line: 2910, col: 5, offset: 94675}, label: "halign", expr: &zeroOrOneExpr{ - pos: position{line: 3014, col: 12, offset: 98045}, + pos: position{line: 2910, col: 12, offset: 94682}, expr: &choiceExpr{ - pos: position{line: 3015, col: 9, offset: 98055}, + pos: position{line: 2911, col: 9, offset: 94692}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3015, col: 9, offset: 98055}, + pos: position{line: 2911, col: 9, offset: 94692}, run: (*parser).callonTableColumnsAttribute25, expr: &litMatcher{ - pos: position{line: 3015, col: 9, offset: 98055}, + pos: position{line: 2911, col: 9, offset: 94692}, val: "<", ignoreCase: false, want: "\"<\"", }, }, &actionExpr{ - pos: position{line: 3016, col: 11, offset: 98102}, + pos: position{line: 2912, col: 11, offset: 94739}, run: (*parser).callonTableColumnsAttribute27, expr: &litMatcher{ - pos: position{line: 3016, col: 11, offset: 98102}, + pos: position{line: 2912, col: 11, offset: 94739}, val: ">", ignoreCase: false, want: "\">\"", }, }, &actionExpr{ - pos: position{line: 3017, col: 11, offset: 98150}, + pos: position{line: 2913, col: 11, offset: 94787}, run: (*parser).callonTableColumnsAttribute29, expr: &litMatcher{ - pos: position{line: 3017, col: 11, offset: 98150}, + pos: position{line: 2913, col: 11, offset: 94787}, val: "^", ignoreCase: false, want: "\"^\"", @@ -66404,38 +64798,38 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 3019, col: 5, offset: 98200}, + pos: position{line: 2915, col: 5, offset: 94837}, label: "valign", expr: &zeroOrOneExpr{ - pos: position{line: 3019, col: 12, offset: 98207}, + pos: position{line: 2915, col: 12, offset: 94844}, expr: &choiceExpr{ - pos: position{line: 3020, col: 9, offset: 98217}, + pos: position{line: 2916, col: 9, offset: 94854}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3020, col: 9, offset: 98217}, + pos: position{line: 2916, col: 9, offset: 94854}, run: (*parser).callonTableColumnsAttribute34, expr: &litMatcher{ - pos: position{line: 3020, col: 9, offset: 98217}, + pos: position{line: 2916, col: 9, offset: 94854}, val: ".<", ignoreCase: false, want: "\".<\"", }, }, &actionExpr{ - pos: position{line: 3021, col: 11, offset: 98264}, + pos: position{line: 2917, col: 11, offset: 94901}, run: (*parser).callonTableColumnsAttribute36, expr: &litMatcher{ - pos: position{line: 3021, col: 11, offset: 98264}, + pos: position{line: 2917, col: 11, offset: 94901}, val: ".>", ignoreCase: false, want: "\".>\"", }, }, &actionExpr{ - pos: position{line: 3022, col: 11, offset: 98314}, + pos: position{line: 2918, col: 11, offset: 94951}, run: (*parser).callonTableColumnsAttribute38, expr: &litMatcher{ - pos: position{line: 3022, col: 11, offset: 98314}, + pos: position{line: 2918, col: 11, offset: 94951}, val: ".^", ignoreCase: false, want: "\".^\"", @@ -66446,32 +64840,32 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 3024, col: 5, offset: 98365}, + pos: position{line: 2920, col: 5, offset: 95002}, label: "weight", expr: &zeroOrOneExpr{ - pos: position{line: 3024, col: 12, offset: 98372}, + pos: position{line: 2920, col: 12, offset: 95009}, expr: &choiceExpr{ - pos: position{line: 3024, col: 13, offset: 98373}, + pos: position{line: 2920, col: 13, offset: 95010}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3168, col: 12, offset: 103224}, + pos: position{line: 3064, col: 12, offset: 99861}, run: (*parser).callonTableColumnsAttribute43, expr: &seqExpr{ - pos: position{line: 3168, col: 13, offset: 103225}, + pos: position{line: 3064, col: 13, offset: 99862}, exprs: []interface{}{ &zeroOrOneExpr{ - pos: position{line: 3168, col: 13, offset: 103225}, + pos: position{line: 3064, col: 13, offset: 99862}, expr: &litMatcher{ - pos: position{line: 3168, col: 13, offset: 103225}, + pos: position{line: 3064, col: 13, offset: 99862}, val: "-", ignoreCase: false, want: "\"-\"", }, }, &oneOrMoreExpr{ - pos: position{line: 3168, col: 18, offset: 103230}, + pos: position{line: 3064, col: 18, offset: 99867}, expr: &charClassMatcher{ - pos: position{line: 3168, col: 18, offset: 103230}, + pos: position{line: 3064, col: 18, offset: 99867}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -66482,10 +64876,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 3024, col: 24, offset: 98384}, + pos: position{line: 2920, col: 24, offset: 95021}, run: (*parser).callonTableColumnsAttribute49, expr: &litMatcher{ - pos: position{line: 3024, col: 24, offset: 98384}, + pos: position{line: 2920, col: 24, offset: 95021}, val: "~", ignoreCase: false, want: "\"~\"", @@ -66496,15 +64890,15 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 3025, col: 5, offset: 98426}, + pos: position{line: 2921, col: 5, offset: 95063}, label: "style", expr: &zeroOrOneExpr{ - pos: position{line: 3025, col: 11, offset: 98432}, + pos: position{line: 2921, col: 11, offset: 95069}, expr: &actionExpr{ - pos: position{line: 3025, col: 12, offset: 98433}, + pos: position{line: 2921, col: 12, offset: 95070}, run: (*parser).callonTableColumnsAttribute53, expr: &charClassMatcher{ - pos: position{line: 3025, col: 12, offset: 98433}, + pos: position{line: 2921, col: 12, offset: 95070}, val: "[adehlms]", chars: []rune{'a', 'd', 'e', 'h', 'l', 'm', 's'}, ignoreCase: false, @@ -66514,12 +64908,12 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 3027, col: 5, offset: 98563}, + pos: position{line: 2923, col: 5, offset: 95200}, label: "comma", expr: &zeroOrOneExpr{ - pos: position{line: 3027, col: 11, offset: 98569}, + pos: position{line: 2923, col: 11, offset: 95206}, expr: &litMatcher{ - pos: position{line: 3027, col: 12, offset: 98570}, + pos: position{line: 2923, col: 12, offset: 95207}, val: ",", ignoreCase: false, want: "\",\"", @@ -66527,7 +64921,7 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 3028, col: 5, offset: 98580}, + pos: position{line: 2924, col: 5, offset: 95217}, run: (*parser).callonTableColumnsAttribute58, }, }, @@ -66536,9 +64930,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -66547,23 +64941,23 @@ var g = &grammar{ }, { name: "UserMacroBlock", - pos: position{line: 3055, col: 1, offset: 99589}, + pos: position{line: 2951, col: 1, offset: 96226}, expr: &actionExpr{ - pos: position{line: 3056, col: 5, offset: 99612}, + pos: position{line: 2952, col: 5, offset: 96249}, run: (*parser).callonUserMacroBlock1, expr: &seqExpr{ - pos: position{line: 3056, col: 5, offset: 99612}, + pos: position{line: 2952, col: 5, offset: 96249}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 3056, col: 5, offset: 99612}, + pos: position{line: 2952, col: 5, offset: 96249}, label: "name", expr: &actionExpr{ - pos: position{line: 3079, col: 18, offset: 100377}, + pos: position{line: 2975, col: 18, offset: 97014}, run: (*parser).callonUserMacroBlock4, expr: &oneOrMoreExpr{ - pos: position{line: 3079, col: 19, offset: 100378}, + pos: position{line: 2975, col: 19, offset: 97015}, expr: &charClassMatcher{ - pos: position{line: 3079, col: 19, offset: 100378}, + pos: position{line: 2975, col: 19, offset: 97015}, val: "[_-0-9\\pL]", chars: []rune{'_', '-'}, ranges: []rune{'0', '9'}, @@ -66575,25 +64969,25 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 3057, col: 5, offset: 99638}, + pos: position{line: 2953, col: 5, offset: 96275}, run: (*parser).callonUserMacroBlock7, }, &litMatcher{ - pos: position{line: 3061, col: 5, offset: 99778}, + pos: position{line: 2957, col: 5, offset: 96415}, val: "::", ignoreCase: false, want: "\"::\"", }, &labeledExpr{ - pos: position{line: 3062, col: 5, offset: 99788}, + pos: position{line: 2958, col: 5, offset: 96425}, label: "value", expr: &actionExpr{ - pos: position{line: 3083, col: 19, offset: 100453}, + pos: position{line: 2979, col: 19, offset: 97090}, run: (*parser).callonUserMacroBlock10, expr: &zeroOrMoreExpr{ - pos: position{line: 3083, col: 19, offset: 100453}, + pos: position{line: 2979, col: 19, offset: 97090}, expr: &charClassMatcher{ - pos: position{line: 3083, col: 19, offset: 100453}, + pos: position{line: 2979, col: 19, offset: 97090}, val: "[^:[ \\r\\n]", chars: []rune{':', '[', ' ', '\r', '\n'}, ignoreCase: false, @@ -66603,36 +64997,36 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 3063, col: 5, offset: 99816}, + pos: position{line: 2959, col: 5, offset: 96453}, label: "attributes", expr: &ruleRefExpr{ - pos: position{line: 3063, col: 17, offset: 99828}, + pos: position{line: 2959, col: 17, offset: 96465}, name: "InlineAttributes", }, }, &choiceExpr{ - pos: position{line: 3192, col: 8, offset: 103721}, + pos: position{line: 3088, col: 8, offset: 100358}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3185, col: 12, offset: 103581}, + pos: position{line: 3081, col: 12, offset: 100218}, run: (*parser).callonUserMacroBlock16, expr: &choiceExpr{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3185, col: 13, offset: 103582}, + pos: position{line: 3081, col: 13, offset: 100219}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 20, offset: 103589}, + pos: position{line: 3081, col: 20, offset: 100226}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3185, col: 29, offset: 103598}, + pos: position{line: 3081, col: 29, offset: 100235}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -66641,9 +65035,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, }, @@ -66654,23 +65048,23 @@ var g = &grammar{ }, { name: "InlineUserMacro", - pos: position{line: 3067, col: 1, offset: 99976}, + pos: position{line: 2963, col: 1, offset: 96613}, expr: &actionExpr{ - pos: position{line: 3068, col: 5, offset: 100000}, + pos: position{line: 2964, col: 5, offset: 96637}, run: (*parser).callonInlineUserMacro1, expr: &seqExpr{ - pos: position{line: 3068, col: 5, offset: 100000}, + pos: position{line: 2964, col: 5, offset: 96637}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 3068, col: 5, offset: 100000}, + pos: position{line: 2964, col: 5, offset: 96637}, label: "name", expr: &actionExpr{ - pos: position{line: 3079, col: 18, offset: 100377}, + pos: position{line: 2975, col: 18, offset: 97014}, run: (*parser).callonInlineUserMacro4, expr: &oneOrMoreExpr{ - pos: position{line: 3079, col: 19, offset: 100378}, + pos: position{line: 2975, col: 19, offset: 97015}, expr: &charClassMatcher{ - pos: position{line: 3079, col: 19, offset: 100378}, + pos: position{line: 2975, col: 19, offset: 97015}, val: "[_-0-9\\pL]", chars: []rune{'_', '-'}, ranges: []rune{'0', '9'}, @@ -66682,25 +65076,25 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 3069, col: 5, offset: 100026}, + pos: position{line: 2965, col: 5, offset: 96663}, run: (*parser).callonInlineUserMacro7, }, &litMatcher{ - pos: position{line: 3073, col: 5, offset: 100166}, + pos: position{line: 2969, col: 5, offset: 96803}, val: ":", ignoreCase: false, want: "\":\"", }, &labeledExpr{ - pos: position{line: 3074, col: 5, offset: 100175}, + pos: position{line: 2970, col: 5, offset: 96812}, label: "value", expr: &actionExpr{ - pos: position{line: 3083, col: 19, offset: 100453}, + pos: position{line: 2979, col: 19, offset: 97090}, run: (*parser).callonInlineUserMacro10, expr: &zeroOrMoreExpr{ - pos: position{line: 3083, col: 19, offset: 100453}, + pos: position{line: 2979, col: 19, offset: 97090}, expr: &charClassMatcher{ - pos: position{line: 3083, col: 19, offset: 100453}, + pos: position{line: 2979, col: 19, offset: 97090}, val: "[^:[ \\r\\n]", chars: []rune{':', '[', ' ', '\r', '\n'}, ignoreCase: false, @@ -66710,10 +65104,10 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 3075, col: 5, offset: 100203}, + pos: position{line: 2971, col: 5, offset: 96840}, label: "attributes", expr: &ruleRefExpr{ - pos: position{line: 3075, col: 17, offset: 100215}, + pos: position{line: 2971, col: 17, offset: 96852}, name: "InlineAttributes", }, }, @@ -66723,48 +65117,48 @@ var g = &grammar{ }, { name: "FileLocation", - pos: position{line: 3132, col: 1, offset: 101999}, + pos: position{line: 3028, col: 1, offset: 98636}, expr: &actionExpr{ - pos: position{line: 3132, col: 17, offset: 102015}, + pos: position{line: 3028, col: 17, offset: 98652}, run: (*parser).callonFileLocation1, expr: &labeledExpr{ - pos: position{line: 3132, col: 17, offset: 102015}, + pos: position{line: 3028, col: 17, offset: 98652}, label: "path", expr: &oneOrMoreExpr{ - pos: position{line: 3132, col: 22, offset: 102020}, + pos: position{line: 3028, col: 22, offset: 98657}, expr: &choiceExpr{ - pos: position{line: 3132, col: 23, offset: 102021}, + pos: position{line: 3028, col: 23, offset: 98658}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3147, col: 5, offset: 102477}, + pos: position{line: 3043, col: 5, offset: 99114}, run: (*parser).callonFileLocation5, expr: &seqExpr{ - pos: position{line: 3147, col: 5, offset: 102477}, + pos: position{line: 3043, col: 5, offset: 99114}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 3147, col: 5, offset: 102477}, + pos: position{line: 3043, col: 5, offset: 99114}, expr: &litMatcher{ - pos: position{line: 3147, col: 6, offset: 102478}, + pos: position{line: 3043, col: 6, offset: 99115}, val: "[", ignoreCase: false, want: "\"[\"", }, }, &labeledExpr{ - pos: position{line: 3148, col: 5, offset: 102502}, + pos: position{line: 3044, col: 5, offset: 99139}, label: "elements", expr: &oneOrMoreExpr{ - pos: position{line: 3148, col: 14, offset: 102511}, + pos: position{line: 3044, col: 14, offset: 99148}, expr: &choiceExpr{ - pos: position{line: 3149, col: 9, offset: 102521}, + pos: position{line: 3045, col: 9, offset: 99158}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3149, col: 9, offset: 102521}, + pos: position{line: 3045, col: 9, offset: 99158}, run: (*parser).callonFileLocation12, expr: &oneOrMoreExpr{ - pos: position{line: 3149, col: 9, offset: 102521}, + pos: position{line: 3045, col: 9, offset: 99158}, expr: &charClassMatcher{ - pos: position{line: 3149, col: 10, offset: 102522}, + pos: position{line: 3045, col: 10, offset: 99159}, val: "[^\\r\\n[]�{.,;?!<> ]", chars: []rune{'\r', '\n', '[', ']', '�', '{', '.', ',', ';', '?', '!', '<', '>', ' '}, ignoreCase: false, @@ -66773,13 +65167,13 @@ var g = &grammar{ }, }, &seqExpr{ - pos: position{line: 3152, col: 11, offset: 102787}, + pos: position{line: 3048, col: 11, offset: 99424}, exprs: []interface{}{ &actionExpr{ - pos: position{line: 3122, col: 25, offset: 101758}, + pos: position{line: 3018, col: 25, offset: 98395}, run: (*parser).callonFileLocation16, expr: &charClassMatcher{ - pos: position{line: 3122, col: 25, offset: 101758}, + pos: position{line: 3018, col: 25, offset: 98395}, val: "[.,;?!]", chars: []rune{'.', ',', ';', '?', '!'}, ignoreCase: false, @@ -66787,23 +65181,23 @@ var g = &grammar{ }, }, &andExpr{ - pos: position{line: 3152, col: 32, offset: 102808}, + pos: position{line: 3048, col: 32, offset: 99445}, expr: ¬Expr{ - pos: position{line: 3152, col: 34, offset: 102810}, + pos: position{line: 3048, col: 34, offset: 99447}, expr: &choiceExpr{ - pos: position{line: 3152, col: 36, offset: 102812}, + pos: position{line: 3048, col: 36, offset: 99449}, alternatives: []interface{}{ ¬Expr{ - pos: position{line: 3189, col: 8, offset: 103671}, + pos: position{line: 3085, col: 8, offset: 100308}, expr: &anyMatcher{ - line: 3189, col: 9, offset: 103672, + line: 3085, col: 9, offset: 100309, }, }, &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonFileLocation23, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -66817,35 +65211,35 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 641, col: 5, offset: 20613}, + pos: position{line: 648, col: 5, offset: 20883}, run: (*parser).callonFileLocation25, expr: &seqExpr{ - pos: position{line: 641, col: 5, offset: 20613}, + pos: position{line: 648, col: 5, offset: 20883}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 641, col: 5, offset: 20613}, + pos: position{line: 648, col: 5, offset: 20883}, run: (*parser).callonFileLocation27, }, &labeledExpr{ - pos: position{line: 644, col: 5, offset: 20682}, + pos: position{line: 651, col: 5, offset: 20952}, label: "element", expr: &choiceExpr{ - pos: position{line: 644, col: 14, offset: 20691}, + pos: position{line: 651, col: 14, offset: 20961}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 664, col: 25, offset: 21344}, + pos: position{line: 671, col: 25, offset: 21614}, run: (*parser).callonFileLocation30, expr: &seqExpr{ - pos: position{line: 664, col: 25, offset: 21344}, + pos: position{line: 671, col: 25, offset: 21614}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 664, col: 25, offset: 21344}, + pos: position{line: 671, col: 25, offset: 21614}, val: "{counter:", ignoreCase: false, want: "\"{counter:\"", }, &labeledExpr{ - pos: position{line: 664, col: 37, offset: 21356}, + pos: position{line: 671, col: 37, offset: 21626}, label: "name", expr: &actionExpr{ pos: position{line: 324, col: 18, offset: 10072}, @@ -66879,33 +65273,33 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 664, col: 56, offset: 21375}, + pos: position{line: 671, col: 56, offset: 21645}, label: "start", expr: &zeroOrOneExpr{ - pos: position{line: 664, col: 62, offset: 21381}, + pos: position{line: 671, col: 62, offset: 21651}, expr: &actionExpr{ - pos: position{line: 672, col: 17, offset: 21676}, + pos: position{line: 679, col: 17, offset: 21946}, run: (*parser).callonFileLocation41, expr: &seqExpr{ - pos: position{line: 672, col: 17, offset: 21676}, + pos: position{line: 679, col: 17, offset: 21946}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 672, col: 17, offset: 21676}, + pos: position{line: 679, col: 17, offset: 21946}, val: ":", ignoreCase: false, want: "\":\"", }, &labeledExpr{ - pos: position{line: 672, col: 21, offset: 21680}, + pos: position{line: 679, col: 21, offset: 21950}, label: "start", expr: &choiceExpr{ - pos: position{line: 672, col: 28, offset: 21687}, + pos: position{line: 679, col: 28, offset: 21957}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 672, col: 28, offset: 21687}, + pos: position{line: 679, col: 28, offset: 21957}, run: (*parser).callonFileLocation46, expr: &charClassMatcher{ - pos: position{line: 672, col: 28, offset: 21687}, + pos: position{line: 679, col: 28, offset: 21957}, val: "[A-Za-z]", ranges: []rune{'A', 'Z', 'a', 'z'}, ignoreCase: false, @@ -66913,12 +65307,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 674, col: 9, offset: 21741}, + pos: position{line: 681, col: 9, offset: 22011}, run: (*parser).callonFileLocation48, expr: &oneOrMoreExpr{ - pos: position{line: 674, col: 9, offset: 21741}, + pos: position{line: 681, col: 9, offset: 22011}, expr: &charClassMatcher{ - pos: position{line: 674, col: 9, offset: 21741}, + pos: position{line: 681, col: 9, offset: 22011}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -66935,7 +65329,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 664, col: 78, offset: 21397}, + pos: position{line: 671, col: 78, offset: 21667}, val: "}", ignoreCase: false, want: "\"}\"", @@ -66944,19 +65338,19 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 668, col: 25, offset: 21515}, + pos: position{line: 675, col: 25, offset: 21785}, run: (*parser).callonFileLocation52, expr: &seqExpr{ - pos: position{line: 668, col: 25, offset: 21515}, + pos: position{line: 675, col: 25, offset: 21785}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 668, col: 25, offset: 21515}, + pos: position{line: 675, col: 25, offset: 21785}, val: "{counter2:", ignoreCase: false, want: "\"{counter2:\"", }, &labeledExpr{ - pos: position{line: 668, col: 38, offset: 21528}, + pos: position{line: 675, col: 38, offset: 21798}, label: "name", expr: &actionExpr{ pos: position{line: 324, col: 18, offset: 10072}, @@ -66990,33 +65384,33 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 668, col: 57, offset: 21547}, + pos: position{line: 675, col: 57, offset: 21817}, label: "start", expr: &zeroOrOneExpr{ - pos: position{line: 668, col: 63, offset: 21553}, + pos: position{line: 675, col: 63, offset: 21823}, expr: &actionExpr{ - pos: position{line: 672, col: 17, offset: 21676}, + pos: position{line: 679, col: 17, offset: 21946}, run: (*parser).callonFileLocation63, expr: &seqExpr{ - pos: position{line: 672, col: 17, offset: 21676}, + pos: position{line: 679, col: 17, offset: 21946}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 672, col: 17, offset: 21676}, + pos: position{line: 679, col: 17, offset: 21946}, val: ":", ignoreCase: false, want: "\":\"", }, &labeledExpr{ - pos: position{line: 672, col: 21, offset: 21680}, + pos: position{line: 679, col: 21, offset: 21950}, label: "start", expr: &choiceExpr{ - pos: position{line: 672, col: 28, offset: 21687}, + pos: position{line: 679, col: 28, offset: 21957}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 672, col: 28, offset: 21687}, + pos: position{line: 679, col: 28, offset: 21957}, run: (*parser).callonFileLocation68, expr: &charClassMatcher{ - pos: position{line: 672, col: 28, offset: 21687}, + pos: position{line: 679, col: 28, offset: 21957}, val: "[A-Za-z]", ranges: []rune{'A', 'Z', 'a', 'z'}, ignoreCase: false, @@ -67024,12 +65418,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 674, col: 9, offset: 21741}, + pos: position{line: 681, col: 9, offset: 22011}, run: (*parser).callonFileLocation70, expr: &oneOrMoreExpr{ - pos: position{line: 674, col: 9, offset: 21741}, + pos: position{line: 681, col: 9, offset: 22011}, expr: &charClassMatcher{ - pos: position{line: 674, col: 9, offset: 21741}, + pos: position{line: 681, col: 9, offset: 22011}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -67046,7 +65440,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 668, col: 79, offset: 21569}, + pos: position{line: 675, col: 79, offset: 21839}, val: "}", ignoreCase: false, want: "\"}\"", @@ -67055,19 +65449,19 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 650, col: 5, offset: 20820}, + pos: position{line: 657, col: 5, offset: 21090}, run: (*parser).callonFileLocation74, expr: &seqExpr{ - pos: position{line: 650, col: 5, offset: 20820}, + pos: position{line: 657, col: 5, offset: 21090}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 650, col: 5, offset: 20820}, + pos: position{line: 657, col: 5, offset: 21090}, val: "\\{", ignoreCase: false, want: "\"\\\\{\"", }, &labeledExpr{ - pos: position{line: 650, col: 13, offset: 20828}, + pos: position{line: 657, col: 13, offset: 21098}, label: "name", expr: &actionExpr{ pos: position{line: 324, col: 18, offset: 10072}, @@ -67101,7 +65495,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 650, col: 32, offset: 20847}, + pos: position{line: 657, col: 32, offset: 21117}, val: "}", ignoreCase: false, want: "\"}\"", @@ -67110,19 +65504,19 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 657, col: 5, offset: 21088}, + pos: position{line: 664, col: 5, offset: 21358}, run: (*parser).callonFileLocation84, expr: &seqExpr{ - pos: position{line: 657, col: 5, offset: 21088}, + pos: position{line: 664, col: 5, offset: 21358}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 657, col: 5, offset: 21088}, + pos: position{line: 664, col: 5, offset: 21358}, val: "{", ignoreCase: false, want: "\"{\"", }, &labeledExpr{ - pos: position{line: 657, col: 9, offset: 21092}, + pos: position{line: 664, col: 9, offset: 21362}, label: "name", expr: &actionExpr{ pos: position{line: 324, col: 18, offset: 10072}, @@ -67156,7 +65550,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 657, col: 28, offset: 21111}, + pos: position{line: 664, col: 28, offset: 21381}, val: "}", ignoreCase: false, want: "\"}\"", @@ -67171,49 +65565,49 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2859, col: 5, offset: 93679}, + pos: position{line: 2745, col: 5, offset: 90112}, run: (*parser).callonFileLocation94, expr: &seqExpr{ - pos: position{line: 2859, col: 5, offset: 93679}, + pos: position{line: 2745, col: 5, offset: 90112}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 2859, col: 5, offset: 93679}, + pos: position{line: 2745, col: 5, offset: 90112}, run: (*parser).callonFileLocation96, }, &labeledExpr{ - pos: position{line: 2862, col: 5, offset: 93755}, + pos: position{line: 2748, col: 5, offset: 90188}, label: "element", expr: &choiceExpr{ - pos: position{line: 2864, col: 9, offset: 93853}, + pos: position{line: 2750, col: 9, offset: 90286}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2864, col: 9, offset: 93853}, + pos: position{line: 2750, col: 9, offset: 90286}, run: (*parser).callonFileLocation99, expr: &choiceExpr{ - pos: position{line: 692, col: 27, offset: 22395}, + pos: position{line: 699, col: 27, offset: 22665}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 692, col: 27, offset: 22395}, + pos: position{line: 699, col: 27, offset: 22665}, run: (*parser).callonFileLocation101, expr: &seqExpr{ - pos: position{line: 692, col: 27, offset: 22395}, + pos: position{line: 699, col: 27, offset: 22665}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 692, col: 27, offset: 22395}, + pos: position{line: 699, col: 27, offset: 22665}, val: "<<", ignoreCase: false, want: "\"<<\"", }, &labeledExpr{ - pos: position{line: 692, col: 32, offset: 22400}, + pos: position{line: 699, col: 32, offset: 22670}, label: "id", expr: &actionExpr{ - pos: position{line: 3161, col: 7, offset: 103049}, + pos: position{line: 3057, col: 7, offset: 99686}, run: (*parser).callonFileLocation105, expr: &oneOrMoreExpr{ - pos: position{line: 3161, col: 7, offset: 103049}, + pos: position{line: 3057, col: 7, offset: 99686}, expr: &charClassMatcher{ - pos: position{line: 3161, col: 7, offset: 103049}, + pos: position{line: 3057, col: 7, offset: 99686}, val: "[^[]<>,]", chars: []rune{'[', ']', '<', '>', ','}, ignoreCase: false, @@ -67223,12 +65617,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 692, col: 40, offset: 22408}, + pos: position{line: 699, col: 40, offset: 22678}, expr: &actionExpr{ - pos: position{line: 3176, col: 10, offset: 103397}, + pos: position{line: 3072, col: 10, offset: 100034}, run: (*parser).callonFileLocation109, expr: &charClassMatcher{ - pos: position{line: 3176, col: 11, offset: 103398}, + pos: position{line: 3072, col: 11, offset: 100035}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -67237,27 +65631,27 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 692, col: 47, offset: 22415}, + pos: position{line: 699, col: 47, offset: 22685}, val: ",", ignoreCase: false, want: "\",\"", }, &labeledExpr{ - pos: position{line: 692, col: 51, offset: 22419}, + pos: position{line: 699, col: 51, offset: 22689}, label: "label", expr: &oneOrMoreExpr{ - pos: position{line: 702, col: 24, offset: 22820}, + pos: position{line: 709, col: 24, offset: 23090}, expr: &choiceExpr{ - pos: position{line: 703, col: 5, offset: 22826}, + pos: position{line: 710, col: 5, offset: 23096}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 703, col: 6, offset: 22827}, + pos: position{line: 710, col: 6, offset: 23097}, run: (*parser).callonFileLocation115, expr: &seqExpr{ - pos: position{line: 703, col: 6, offset: 22827}, + pos: position{line: 710, col: 6, offset: 23097}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 703, col: 6, offset: 22827}, + pos: position{line: 710, col: 6, offset: 23097}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -67265,9 +65659,9 @@ var g = &grammar{ inverted: false, }, &oneOrMoreExpr{ - pos: position{line: 703, col: 14, offset: 22835}, + pos: position{line: 710, col: 14, offset: 23105}, expr: &charClassMatcher{ - pos: position{line: 703, col: 14, offset: 22835}, + pos: position{line: 710, col: 14, offset: 23105}, val: "[^\\r\\n{<>]", chars: []rune{'\r', '\n', '{', '<', '>'}, ignoreCase: false, @@ -67278,19 +65672,19 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 650, col: 5, offset: 20820}, + pos: position{line: 657, col: 5, offset: 21090}, run: (*parser).callonFileLocation120, expr: &seqExpr{ - pos: position{line: 650, col: 5, offset: 20820}, + pos: position{line: 657, col: 5, offset: 21090}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 650, col: 5, offset: 20820}, + pos: position{line: 657, col: 5, offset: 21090}, val: "\\{", ignoreCase: false, want: "\"\\\\{\"", }, &labeledExpr{ - pos: position{line: 650, col: 13, offset: 20828}, + pos: position{line: 657, col: 13, offset: 21098}, label: "name", expr: &actionExpr{ pos: position{line: 324, col: 18, offset: 10072}, @@ -67324,7 +65718,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 650, col: 32, offset: 20847}, + pos: position{line: 657, col: 32, offset: 21117}, val: "}", ignoreCase: false, want: "\"}\"", @@ -67333,19 +65727,19 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 657, col: 5, offset: 21088}, + pos: position{line: 664, col: 5, offset: 21358}, run: (*parser).callonFileLocation130, expr: &seqExpr{ - pos: position{line: 657, col: 5, offset: 21088}, + pos: position{line: 664, col: 5, offset: 21358}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 657, col: 5, offset: 21088}, + pos: position{line: 664, col: 5, offset: 21358}, val: "{", ignoreCase: false, want: "\"{\"", }, &labeledExpr{ - pos: position{line: 657, col: 9, offset: 21092}, + pos: position{line: 664, col: 9, offset: 21362}, label: "name", expr: &actionExpr{ pos: position{line: 324, col: 18, offset: 10072}, @@ -67379,7 +65773,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 657, col: 28, offset: 21111}, + pos: position{line: 664, col: 28, offset: 21381}, val: "}", ignoreCase: false, want: "\"}\"", @@ -67388,10 +65782,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 707, col: 8, offset: 23061}, + pos: position{line: 714, col: 8, offset: 23331}, run: (*parser).callonFileLocation140, expr: &litMatcher{ - pos: position{line: 707, col: 8, offset: 23061}, + pos: position{line: 714, col: 8, offset: 23331}, val: "{", ignoreCase: false, want: "\"{\"", @@ -67402,7 +65796,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 692, col: 79, offset: 22447}, + pos: position{line: 699, col: 79, offset: 22717}, val: ">>", ignoreCase: false, want: "\">>\"", @@ -67411,27 +65805,27 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 694, col: 9, offset: 22520}, + pos: position{line: 701, col: 9, offset: 22790}, run: (*parser).callonFileLocation143, expr: &seqExpr{ - pos: position{line: 694, col: 9, offset: 22520}, + pos: position{line: 701, col: 9, offset: 22790}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 694, col: 9, offset: 22520}, + pos: position{line: 701, col: 9, offset: 22790}, val: "<<", ignoreCase: false, want: "\"<<\"", }, &labeledExpr{ - pos: position{line: 694, col: 14, offset: 22525}, + pos: position{line: 701, col: 14, offset: 22795}, label: "id", expr: &actionExpr{ - pos: position{line: 3161, col: 7, offset: 103049}, + pos: position{line: 3057, col: 7, offset: 99686}, run: (*parser).callonFileLocation147, expr: &oneOrMoreExpr{ - pos: position{line: 3161, col: 7, offset: 103049}, + pos: position{line: 3057, col: 7, offset: 99686}, expr: &charClassMatcher{ - pos: position{line: 3161, col: 7, offset: 103049}, + pos: position{line: 3057, col: 7, offset: 99686}, val: "[^[]<>,]", chars: []rune{'[', ']', '<', '>', ','}, ignoreCase: false, @@ -67441,7 +65835,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 694, col: 22, offset: 22533}, + pos: position{line: 701, col: 22, offset: 22803}, val: ">>", ignoreCase: false, want: "\">>\"", @@ -67453,10 +65847,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2867, col: 11, offset: 93957}, + pos: position{line: 2753, col: 11, offset: 90390}, run: (*parser).callonFileLocation151, expr: &charClassMatcher{ - pos: position{line: 2867, col: 12, offset: 93958}, + pos: position{line: 2753, col: 12, offset: 90391}, val: "[<>&]", chars: []rune{'<', '>', '&'}, ignoreCase: false, @@ -67470,10 +65864,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 3155, col: 11, offset: 102893}, + pos: position{line: 3051, col: 11, offset: 99530}, run: (*parser).callonFileLocation153, expr: &litMatcher{ - pos: position{line: 3155, col: 11, offset: 102893}, + pos: position{line: 3051, col: 11, offset: 99530}, val: "{", ignoreCase: false, want: "\"{\"", @@ -67487,27 +65881,27 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1212, col: 23, offset: 37871}, + pos: position{line: 1219, col: 23, offset: 38141}, run: (*parser).callonFileLocation155, expr: &seqExpr{ - pos: position{line: 1212, col: 23, offset: 37871}, + pos: position{line: 1219, col: 23, offset: 38141}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1210, col: 32, offset: 37839}, + pos: position{line: 1217, col: 32, offset: 38109}, val: "�", ignoreCase: false, want: "\"�\"", }, &labeledExpr{ - pos: position{line: 1212, col: 51, offset: 37899}, + pos: position{line: 1219, col: 51, offset: 38169}, label: "ref", expr: &actionExpr{ - pos: position{line: 1212, col: 56, offset: 37904}, + pos: position{line: 1219, col: 56, offset: 38174}, run: (*parser).callonFileLocation159, expr: &oneOrMoreExpr{ - pos: position{line: 1212, col: 56, offset: 37904}, + pos: position{line: 1219, col: 56, offset: 38174}, expr: &charClassMatcher{ - pos: position{line: 1212, col: 56, offset: 37904}, + pos: position{line: 1219, col: 56, offset: 38174}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -67517,7 +65911,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1210, col: 32, offset: 37839}, + pos: position{line: 1217, col: 32, offset: 38109}, val: "�", ignoreCase: false, want: "\"�\"", @@ -67527,632 +65921,203 @@ var g = &grammar{ }, }, }, - }, - }, - }, - }, - }, -} - -func (c *current) onDocumentRawLine10() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonDocumentRawLine10() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentRawLine10() -} - -func (c *current) onDocumentRawLine17() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonDocumentRawLine17() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentRawLine17() -} - -func (c *current) onDocumentRawLine20() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil -} - -func (p *parser) callonDocumentRawLine20() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentRawLine20() -} - -func (c *current) onDocumentRawLine6(name interface{}) (interface{}, error) { - return types.NewAttributeReset(name.(string), string(c.text)) - -} - -func (p *parser) callonDocumentRawLine6() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentRawLine6(stack["name"]) -} - -func (c *current) onDocumentRawLine31() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonDocumentRawLine31() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentRawLine31() -} - -func (c *current) onDocumentRawLine38() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonDocumentRawLine38() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentRawLine38() -} - -func (c *current) onDocumentRawLine41() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil -} - -func (p *parser) callonDocumentRawLine41() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentRawLine41() -} - -func (c *current) onDocumentRawLine27(name interface{}) (interface{}, error) { - return types.NewAttributeReset(name.(string), string(c.text)) - -} - -func (p *parser) callonDocumentRawLine27() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentRawLine27(stack["name"]) -} - -func (c *current) onDocumentRawLine53() (interface{}, error) { - - return string(c.text), nil - -} - -func (p *parser) callonDocumentRawLine53() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentRawLine53() -} - -func (c *current) onDocumentRawLine59() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonDocumentRawLine59() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentRawLine59() -} - -func (c *current) onDocumentRawLine64() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonDocumentRawLine64() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentRawLine64() -} - -func (c *current) onDocumentRawLine49(name, attr interface{}) (interface{}, error) { - return types.NewIfdefCondition(name.(string), attr) - -} - -func (p *parser) callonDocumentRawLine49() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentRawLine49(stack["name"], stack["attr"]) -} - -func (c *current) onDocumentRawLine72() (interface{}, error) { - - return string(c.text), nil - -} - -func (p *parser) callonDocumentRawLine72() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentRawLine72() -} - -func (c *current) onDocumentRawLine78() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonDocumentRawLine78() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentRawLine78() -} - -func (c *current) onDocumentRawLine83() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonDocumentRawLine83() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentRawLine83() -} - -func (c *current) onDocumentRawLine68(name, attr interface{}) (interface{}, error) { - return types.NewIfndefCondition(name.(string), attr) - -} - -func (p *parser) callonDocumentRawLine68() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentRawLine68(stack["name"], stack["attr"]) + }, + }, + }, + }, + }, } -func (c *current) onDocumentRawLine101() (interface{}, error) { +func (c *current) onDocumentRawLine10() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentRawLine101() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentRawLine101() -} - -func (c *current) onDocumentRawLine97(name interface{}) (interface{}, error) { - - log.Debug("matching escaped attribute reference") - // return types.NewStringElement("{"+name.(string)+"}") - return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) - -} - -func (p *parser) callonDocumentRawLine97() (interface{}, error) { +func (p *parser) callonDocumentRawLine10() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine97(stack["name"]) + return p.cur.onDocumentRawLine10() } -func (c *current) onDocumentRawLine111() (interface{}, error) { +func (c *current) onDocumentRawLine17() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentRawLine111() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentRawLine111() -} - -func (c *current) onDocumentRawLine107(name interface{}) (interface{}, error) { - - return types.NewAttributeSubstitution(name.(string), string(c.text)) - -} - -func (p *parser) callonDocumentRawLine107() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentRawLine107(stack["name"]) -} - -func (c *current) onDocumentRawLine92(s interface{}) (interface{}, error) { - return s, nil -} - -func (p *parser) callonDocumentRawLine92() (interface{}, error) { +func (p *parser) callonDocumentRawLine17() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine92(stack["s"]) + return p.cur.onDocumentRawLine17() } -func (c *current) onDocumentRawLine127() (interface{}, error) { +func (c *current) onDocumentRawLine20() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonDocumentRawLine127() (interface{}, error) { +func (p *parser) callonDocumentRawLine20() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine127() + return p.cur.onDocumentRawLine20() } -func (c *current) onDocumentRawLine123(name interface{}) (interface{}, error) { - - log.Debug("matching escaped attribute reference") - // return types.NewStringElement("{"+name.(string)+"}") - return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) +func (c *current) onDocumentRawLine6(name interface{}) (interface{}, error) { + return types.NewAttributeReset(name.(string), string(c.text)) } -func (p *parser) callonDocumentRawLine123() (interface{}, error) { +func (p *parser) callonDocumentRawLine6() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine123(stack["name"]) + return p.cur.onDocumentRawLine6(stack["name"]) } -func (c *current) onDocumentRawLine137() (interface{}, error) { +func (c *current) onDocumentRawLine31() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentRawLine137() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentRawLine137() -} - -func (c *current) onDocumentRawLine133(name interface{}) (interface{}, error) { - - return types.NewAttributeSubstitution(name.(string), string(c.text)) - -} - -func (p *parser) callonDocumentRawLine133() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentRawLine133(stack["name"]) -} - -func (c *current) onDocumentRawLine118(s interface{}) (interface{}, error) { - return s, nil -} - -func (p *parser) callonDocumentRawLine118() (interface{}, error) { +func (p *parser) callonDocumentRawLine31() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine118(stack["s"]) + return p.cur.onDocumentRawLine31() } -func (c *current) onDocumentRawLine151() (interface{}, error) { +func (c *current) onDocumentRawLine38() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentRawLine151() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentRawLine151() -} - -func (c *current) onDocumentRawLine147(name interface{}) (interface{}, error) { - - log.Debug("matching escaped attribute reference") - // return types.NewStringElement("{"+name.(string)+"}") - return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) - -} - -func (p *parser) callonDocumentRawLine147() (interface{}, error) { +func (p *parser) callonDocumentRawLine38() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine147(stack["name"]) + return p.cur.onDocumentRawLine38() } -func (c *current) onDocumentRawLine161() (interface{}, error) { +func (c *current) onDocumentRawLine41() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - -} - -func (p *parser) callonDocumentRawLine161() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentRawLine161() -} - -func (c *current) onDocumentRawLine157(name interface{}) (interface{}, error) { - - return types.NewAttributeSubstitution(name.(string), string(c.text)) - } -func (p *parser) callonDocumentRawLine157() (interface{}, error) { +func (p *parser) callonDocumentRawLine41() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine157(stack["name"]) -} - -func (c *current) onDocumentRawLine144(s interface{}) (interface{}, error) { - return s, nil + return p.cur.onDocumentRawLine41() } -func (p *parser) callonDocumentRawLine144() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentRawLine144(stack["s"]) -} +func (c *current) onDocumentRawLine27(name interface{}) (interface{}, error) { + return types.NewAttributeReset(name.(string), string(c.text)) -func (c *current) onDocumentRawLine171() (interface{}, error) { - return string(c.text), nil } -func (p *parser) callonDocumentRawLine171() (interface{}, error) { +func (p *parser) callonDocumentRawLine27() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine171() -} - -func (c *current) onDocumentRawLine167(w interface{}) (interface{}, error) { - return w, nil + return p.cur.onDocumentRawLine27(stack["name"]) } -func (p *parser) callonDocumentRawLine167() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentRawLine167(stack["w"]) -} +func (c *current) onDocumentRawLine53() (interface{}, error) { -func (c *current) onDocumentRawLine179() (interface{}, error) { return string(c.text), nil -} - -func (p *parser) callonDocumentRawLine179() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentRawLine179() -} - -func (c *current) onDocumentRawLine175(w interface{}) (interface{}, error) { - return w, nil -} - -func (p *parser) callonDocumentRawLine175() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentRawLine175(stack["w"]) -} - -func (c *current) onDocumentRawLine183() (interface{}, error) { - return strconv.Atoi(string(c.text)) } -func (p *parser) callonDocumentRawLine183() (interface{}, error) { +func (p *parser) callonDocumentRawLine53() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine183() + return p.cur.onDocumentRawLine53() } -func (c *current) onDocumentRawLine190() (interface{}, error) { +func (c *current) onDocumentRawLine59() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentRawLine190() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentRawLine190() -} - -func (c *current) onDocumentRawLine194() (interface{}, error) { - return types.NewEqualOperand() - -} - -func (p *parser) callonDocumentRawLine194() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentRawLine194() -} - -func (c *current) onDocumentRawLine196() (interface{}, error) { - return types.NewNotEqualOperand() - -} - -func (p *parser) callonDocumentRawLine196() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentRawLine196() -} - -func (c *current) onDocumentRawLine198() (interface{}, error) { - return types.NewLessThanOperand() - -} - -func (p *parser) callonDocumentRawLine198() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentRawLine198() -} - -func (c *current) onDocumentRawLine200() (interface{}, error) { - return types.NewLessOrEqualOperand() - -} - -func (p *parser) callonDocumentRawLine200() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentRawLine200() -} - -func (c *current) onDocumentRawLine202() (interface{}, error) { - return types.NewGreaterThanOperand() - -} - -func (p *parser) callonDocumentRawLine202() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentRawLine202() -} - -func (c *current) onDocumentRawLine204() (interface{}, error) { - return types.NewGreaterOrEqualOperand() - -} - -func (p *parser) callonDocumentRawLine204() (interface{}, error) { +func (p *parser) callonDocumentRawLine59() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine204() + return p.cur.onDocumentRawLine59() } -func (c *current) onDocumentRawLine207() (interface{}, error) { +func (c *current) onDocumentRawLine64() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentRawLine207() (interface{}, error) { +func (p *parser) callonDocumentRawLine64() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine207() + return p.cur.onDocumentRawLine64() } -func (c *current) onDocumentRawLine220() (interface{}, error) { - return string(c.text), nil +func (c *current) onDocumentRawLine49(name, attr interface{}) (interface{}, error) { + return types.NewIfdefCondition(name.(string), attr) } -func (p *parser) callonDocumentRawLine220() (interface{}, error) { +func (p *parser) callonDocumentRawLine49() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine220() -} - -func (c *current) onDocumentRawLine216(name interface{}) (interface{}, error) { - - log.Debug("matching escaped attribute reference") - // return types.NewStringElement("{"+name.(string)+"}") - return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) - + return p.cur.onDocumentRawLine49(stack["name"], stack["attr"]) } -func (p *parser) callonDocumentRawLine216() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentRawLine216(stack["name"]) -} +func (c *current) onDocumentRawLine72() (interface{}, error) { -func (c *current) onDocumentRawLine230() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentRawLine230() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentRawLine230() -} - -func (c *current) onDocumentRawLine226(name interface{}) (interface{}, error) { - - return types.NewAttributeSubstitution(name.(string), string(c.text)) - -} - -func (p *parser) callonDocumentRawLine226() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentRawLine226(stack["name"]) -} - -func (c *current) onDocumentRawLine211(s interface{}) (interface{}, error) { - return s, nil -} - -func (p *parser) callonDocumentRawLine211() (interface{}, error) { +func (p *parser) callonDocumentRawLine72() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine211(stack["s"]) + return p.cur.onDocumentRawLine72() } -func (c *current) onDocumentRawLine246() (interface{}, error) { +func (c *current) onDocumentRawLine78() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentRawLine246() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentRawLine246() -} - -func (c *current) onDocumentRawLine242(name interface{}) (interface{}, error) { - - log.Debug("matching escaped attribute reference") - // return types.NewStringElement("{"+name.(string)+"}") - return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) - -} - -func (p *parser) callonDocumentRawLine242() (interface{}, error) { +func (p *parser) callonDocumentRawLine78() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine242(stack["name"]) + return p.cur.onDocumentRawLine78() } -func (c *current) onDocumentRawLine256() (interface{}, error) { +func (c *current) onDocumentRawLine83() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentRawLine256() (interface{}, error) { +func (p *parser) callonDocumentRawLine83() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine256() -} - -func (c *current) onDocumentRawLine252(name interface{}) (interface{}, error) { - - return types.NewAttributeSubstitution(name.(string), string(c.text)) - + return p.cur.onDocumentRawLine83() } -func (p *parser) callonDocumentRawLine252() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentRawLine252(stack["name"]) -} +func (c *current) onDocumentRawLine68(name, attr interface{}) (interface{}, error) { + return types.NewIfndefCondition(name.(string), attr) -func (c *current) onDocumentRawLine237(s interface{}) (interface{}, error) { - return s, nil } -func (p *parser) callonDocumentRawLine237() (interface{}, error) { +func (p *parser) callonDocumentRawLine68() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine237(stack["s"]) + return p.cur.onDocumentRawLine68(stack["name"], stack["attr"]) } -func (c *current) onDocumentRawLine270() (interface{}, error) { +func (c *current) onDocumentRawLine101() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentRawLine270() (interface{}, error) { +func (p *parser) callonDocumentRawLine101() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine270() + return p.cur.onDocumentRawLine101() } -func (c *current) onDocumentRawLine266(name interface{}) (interface{}, error) { +func (c *current) onDocumentRawLine97(name interface{}) (interface{}, error) { log.Debug("matching escaped attribute reference") // return types.NewStringElement("{"+name.(string)+"}") @@ -68160,6376 +66125,6141 @@ func (c *current) onDocumentRawLine266(name interface{}) (interface{}, error) { } -func (p *parser) callonDocumentRawLine266() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentRawLine266(stack["name"]) -} - -func (c *current) onDocumentRawLine280() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonDocumentRawLine280() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentRawLine280() -} - -func (c *current) onDocumentRawLine276(name interface{}) (interface{}, error) { - - return types.NewAttributeSubstitution(name.(string), string(c.text)) - -} - -func (p *parser) callonDocumentRawLine276() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentRawLine276(stack["name"]) -} - -func (c *current) onDocumentRawLine263(s interface{}) (interface{}, error) { - return s, nil -} - -func (p *parser) callonDocumentRawLine263() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentRawLine263(stack["s"]) -} - -func (c *current) onDocumentRawLine290() (interface{}, error) { - return string(c.text), nil -} - -func (p *parser) callonDocumentRawLine290() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentRawLine290() -} - -func (c *current) onDocumentRawLine286(w interface{}) (interface{}, error) { - return w, nil -} - -func (p *parser) callonDocumentRawLine286() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentRawLine286(stack["w"]) -} - -func (c *current) onDocumentRawLine298() (interface{}, error) { - return string(c.text), nil -} - -func (p *parser) callonDocumentRawLine298() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentRawLine298() -} - -func (c *current) onDocumentRawLine294(w interface{}) (interface{}, error) { - return w, nil -} - -func (p *parser) callonDocumentRawLine294() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentRawLine294(stack["w"]) -} - -func (c *current) onDocumentRawLine302() (interface{}, error) { - return strconv.Atoi(string(c.text)) - -} - -func (p *parser) callonDocumentRawLine302() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentRawLine302() -} - -func (c *current) onDocumentRawLine310() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonDocumentRawLine310() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentRawLine310() -} - -func (c *current) onDocumentRawLine87(left, operand, right interface{}) (interface{}, error) { - return types.NewIfevalCondition(left, right, operand.(types.IfevalOperand)) - -} - -func (p *parser) callonDocumentRawLine87() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentRawLine87(stack["left"], stack["operand"], stack["right"]) -} - -func (c *current) onDocumentRawLine319() (interface{}, error) { - - return string(c.text), nil - -} - -func (p *parser) callonDocumentRawLine319() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentRawLine319() -} - -func (c *current) onDocumentRawLine325() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonDocumentRawLine325() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentRawLine325() -} - -func (c *current) onDocumentRawLine330() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonDocumentRawLine330() (interface{}, error) { +func (p *parser) callonDocumentRawLine97() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine330() + return p.cur.onDocumentRawLine97(stack["name"]) } -func (c *current) onDocumentRawLine314(name, attr interface{}) (interface{}, error) { - return types.NewEndOfCondition() // name and attributes are parsed but ignored +func (c *current) onDocumentRawLine111() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDocumentRawLine314() (interface{}, error) { +func (p *parser) callonDocumentRawLine111() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine314(stack["name"], stack["attr"]) + return p.cur.onDocumentRawLine111() } -func (c *current) onDocumentRawLine343() (interface{}, error) { - // sequence of 4 "/" chars or more - return string(c.text), nil +func (c *current) onDocumentRawLine107(name interface{}) (interface{}, error) { + + return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonDocumentRawLine343() (interface{}, error) { +func (p *parser) callonDocumentRawLine107() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine343() + return p.cur.onDocumentRawLine107(stack["name"]) } -func (c *current) onDocumentRawLine349() (interface{}, error) { - return string(c.text), nil - +func (c *current) onDocumentRawLine92(s interface{}) (interface{}, error) { + return s, nil } -func (p *parser) callonDocumentRawLine349() (interface{}, error) { +func (p *parser) callonDocumentRawLine92() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine349() + return p.cur.onDocumentRawLine92(stack["s"]) } -func (c *current) onDocumentRawLine352() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onDocumentRawLine127() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonDocumentRawLine352() (interface{}, error) { +func (p *parser) callonDocumentRawLine127() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine352() + return p.cur.onDocumentRawLine127() } -func (c *current) onDocumentRawLine340(delimiter interface{}) (interface{}, error) { +func (c *current) onDocumentRawLine123(name interface{}) (interface{}, error) { - return types.NewBlockDelimiter(types.Comment, len(delimiter.(string)), string(c.text)) + log.Debug("matching escaped attribute reference") + // return types.NewStringElement("{"+name.(string)+"}") + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) } -func (p *parser) callonDocumentRawLine340() (interface{}, error) { +func (p *parser) callonDocumentRawLine123() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine340(stack["delimiter"]) + return p.cur.onDocumentRawLine123(stack["name"]) } -func (c *current) onDocumentRawLine362() (interface{}, error) { - // sequence of 4 "=" chars or more +func (c *current) onDocumentRawLine137() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentRawLine362() (interface{}, error) { +func (p *parser) callonDocumentRawLine137() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine362() + return p.cur.onDocumentRawLine137() } -func (c *current) onDocumentRawLine368() (interface{}, error) { - return string(c.text), nil +func (c *current) onDocumentRawLine133(name interface{}) (interface{}, error) { + + return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonDocumentRawLine368() (interface{}, error) { +func (p *parser) callonDocumentRawLine133() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine368() + return p.cur.onDocumentRawLine133(stack["name"]) } -func (c *current) onDocumentRawLine371() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onDocumentRawLine118(s interface{}) (interface{}, error) { + return s, nil } -func (p *parser) callonDocumentRawLine371() (interface{}, error) { +func (p *parser) callonDocumentRawLine118() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine371() + return p.cur.onDocumentRawLine118(stack["s"]) } -func (c *current) onDocumentRawLine359(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Example, len(delimiter.(string)), string(c.text)) +func (c *current) onDocumentRawLine151() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDocumentRawLine359() (interface{}, error) { +func (p *parser) callonDocumentRawLine151() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine359(stack["delimiter"]) + return p.cur.onDocumentRawLine151() } -func (c *current) onDocumentRawLine382() (interface{}, error) { - // exclude ` to avoid matching fenced blocks with more than 3 "`" delimter chars - return string(c.text), nil +func (c *current) onDocumentRawLine147(name interface{}) (interface{}, error) { + + log.Debug("matching escaped attribute reference") + // return types.NewStringElement("{"+name.(string)+"}") + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) + } -func (p *parser) callonDocumentRawLine382() (interface{}, error) { +func (p *parser) callonDocumentRawLine147() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine382() + return p.cur.onDocumentRawLine147(stack["name"]) } -func (c *current) onDocumentRawLine386() (interface{}, error) { +func (c *current) onDocumentRawLine161() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentRawLine386() (interface{}, error) { +func (p *parser) callonDocumentRawLine161() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine386() + return p.cur.onDocumentRawLine161() } -func (c *current) onDocumentRawLine389() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onDocumentRawLine157(name interface{}) (interface{}, error) { + + return types.NewAttributeSubstitution(name.(string), string(c.text)) + } -func (p *parser) callonDocumentRawLine389() (interface{}, error) { +func (p *parser) callonDocumentRawLine157() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine389() + return p.cur.onDocumentRawLine157(stack["name"]) } -func (c *current) onDocumentRawLine378(language interface{}) (interface{}, error) { - return types.NewMarkdownCodeBlockDelimiter(language.(string), string(c.text)) +func (c *current) onDocumentRawLine144(s interface{}) (interface{}, error) { + return s, nil } -func (p *parser) callonDocumentRawLine378() (interface{}, error) { +func (p *parser) callonDocumentRawLine144() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine378(stack["language"]) + return p.cur.onDocumentRawLine144(stack["s"]) } -func (c *current) onDocumentRawLine399() (interface{}, error) { - // sequence of 3 "`" chars or more +func (c *current) onDocumentRawLine171() (interface{}, error) { return string(c.text), nil - } -func (p *parser) callonDocumentRawLine399() (interface{}, error) { +func (p *parser) callonDocumentRawLine171() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine399() + return p.cur.onDocumentRawLine171() } -func (c *current) onDocumentRawLine405() (interface{}, error) { - return string(c.text), nil - +func (c *current) onDocumentRawLine167(w interface{}) (interface{}, error) { + return w, nil } -func (p *parser) callonDocumentRawLine405() (interface{}, error) { +func (p *parser) callonDocumentRawLine167() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine405() + return p.cur.onDocumentRawLine167(stack["w"]) } -func (c *current) onDocumentRawLine408() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onDocumentRawLine179() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentRawLine408() (interface{}, error) { +func (p *parser) callonDocumentRawLine179() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine408() + return p.cur.onDocumentRawLine179() } -func (c *current) onDocumentRawLine396(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Fenced, len(delimiter.(string)), string(c.text)) - +func (c *current) onDocumentRawLine175(w interface{}) (interface{}, error) { + return w, nil } -func (p *parser) callonDocumentRawLine396() (interface{}, error) { +func (p *parser) callonDocumentRawLine175() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine396(stack["delimiter"]) + return p.cur.onDocumentRawLine175(stack["w"]) } -func (c *current) onDocumentRawLine418() (interface{}, error) { - // sequence of 4 "-" chars or more - return string(c.text), nil +func (c *current) onDocumentRawLine183() (interface{}, error) { + return strconv.Atoi(string(c.text)) } -func (p *parser) callonDocumentRawLine418() (interface{}, error) { +func (p *parser) callonDocumentRawLine183() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine418() + return p.cur.onDocumentRawLine183() } -func (c *current) onDocumentRawLine424() (interface{}, error) { +func (c *current) onDocumentRawLine190() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentRawLine424() (interface{}, error) { +func (p *parser) callonDocumentRawLine190() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine424() + return p.cur.onDocumentRawLine190() } -func (c *current) onDocumentRawLine427() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onDocumentRawLine194() (interface{}, error) { + return types.NewEqualOperand() + } -func (p *parser) callonDocumentRawLine427() (interface{}, error) { +func (p *parser) callonDocumentRawLine194() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine427() + return p.cur.onDocumentRawLine194() } -func (c *current) onDocumentRawLine415(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Listing, len(delimiter.(string)), string(c.text)) +func (c *current) onDocumentRawLine196() (interface{}, error) { + return types.NewNotEqualOperand() } -func (p *parser) callonDocumentRawLine415() (interface{}, error) { +func (p *parser) callonDocumentRawLine196() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine415(stack["delimiter"]) + return p.cur.onDocumentRawLine196() } -func (c *current) onDocumentRawLine437() (interface{}, error) { - // sequence of 4 "." chars or more - return string(c.text), nil +func (c *current) onDocumentRawLine198() (interface{}, error) { + return types.NewLessThanOperand() } -func (p *parser) callonDocumentRawLine437() (interface{}, error) { +func (p *parser) callonDocumentRawLine198() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine437() + return p.cur.onDocumentRawLine198() } -func (c *current) onDocumentRawLine443() (interface{}, error) { - return string(c.text), nil +func (c *current) onDocumentRawLine200() (interface{}, error) { + return types.NewLessOrEqualOperand() } -func (p *parser) callonDocumentRawLine443() (interface{}, error) { +func (p *parser) callonDocumentRawLine200() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine443() + return p.cur.onDocumentRawLine200() } -func (c *current) onDocumentRawLine446() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onDocumentRawLine202() (interface{}, error) { + return types.NewGreaterThanOperand() + } -func (p *parser) callonDocumentRawLine446() (interface{}, error) { +func (p *parser) callonDocumentRawLine202() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine446() + return p.cur.onDocumentRawLine202() } -func (c *current) onDocumentRawLine434(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Listing, len(delimiter.(string)), string(c.text)) +func (c *current) onDocumentRawLine204() (interface{}, error) { + return types.NewGreaterOrEqualOperand() } -func (p *parser) callonDocumentRawLine434() (interface{}, error) { +func (p *parser) callonDocumentRawLine204() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine434(stack["delimiter"]) + return p.cur.onDocumentRawLine204() } -func (c *current) onDocumentRawLine456() (interface{}, error) { - // sequence of 4 "+" chars or more +func (c *current) onDocumentRawLine207() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentRawLine456() (interface{}, error) { +func (p *parser) callonDocumentRawLine207() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine456() + return p.cur.onDocumentRawLine207() } -func (c *current) onDocumentRawLine462() (interface{}, error) { +func (c *current) onDocumentRawLine220() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentRawLine462() (interface{}, error) { +func (p *parser) callonDocumentRawLine220() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine462() + return p.cur.onDocumentRawLine220() } -func (c *current) onDocumentRawLine465() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onDocumentRawLine216(name interface{}) (interface{}, error) { + + log.Debug("matching escaped attribute reference") + // return types.NewStringElement("{"+name.(string)+"}") + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) + } -func (p *parser) callonDocumentRawLine465() (interface{}, error) { +func (p *parser) callonDocumentRawLine216() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine465() + return p.cur.onDocumentRawLine216(stack["name"]) } -func (c *current) onDocumentRawLine453(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Passthrough, len(delimiter.(string)), string(c.text)) +func (c *current) onDocumentRawLine230() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDocumentRawLine453() (interface{}, error) { +func (p *parser) callonDocumentRawLine230() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine453(stack["delimiter"]) + return p.cur.onDocumentRawLine230() } -func (c *current) onDocumentRawLine475() (interface{}, error) { - // sequence of 4 "_" chars or more - return string(c.text), nil +func (c *current) onDocumentRawLine226(name interface{}) (interface{}, error) { + + return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonDocumentRawLine475() (interface{}, error) { +func (p *parser) callonDocumentRawLine226() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine475() + return p.cur.onDocumentRawLine226(stack["name"]) } -func (c *current) onDocumentRawLine481() (interface{}, error) { - return string(c.text), nil - +func (c *current) onDocumentRawLine211(s interface{}) (interface{}, error) { + return s, nil } -func (p *parser) callonDocumentRawLine481() (interface{}, error) { +func (p *parser) callonDocumentRawLine211() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine481() + return p.cur.onDocumentRawLine211(stack["s"]) } -func (c *current) onDocumentRawLine484() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onDocumentRawLine246() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonDocumentRawLine484() (interface{}, error) { +func (p *parser) callonDocumentRawLine246() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine484() + return p.cur.onDocumentRawLine246() } -func (c *current) onDocumentRawLine472(delimiter interface{}) (interface{}, error) { +func (c *current) onDocumentRawLine242(name interface{}) (interface{}, error) { - return types.NewBlockDelimiter(types.Quote, len(delimiter.(string)), string(c.text)) + log.Debug("matching escaped attribute reference") + // return types.NewStringElement("{"+name.(string)+"}") + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) } -func (p *parser) callonDocumentRawLine472() (interface{}, error) { +func (p *parser) callonDocumentRawLine242() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine472(stack["delimiter"]) + return p.cur.onDocumentRawLine242(stack["name"]) } -func (c *current) onDocumentRawLine494() (interface{}, error) { - // sequence of 4 "*" chars or more +func (c *current) onDocumentRawLine256() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentRawLine494() (interface{}, error) { +func (p *parser) callonDocumentRawLine256() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine494() + return p.cur.onDocumentRawLine256() } -func (c *current) onDocumentRawLine500() (interface{}, error) { - return string(c.text), nil +func (c *current) onDocumentRawLine252(name interface{}) (interface{}, error) { + + return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonDocumentRawLine500() (interface{}, error) { +func (p *parser) callonDocumentRawLine252() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine500() + return p.cur.onDocumentRawLine252(stack["name"]) } -func (c *current) onDocumentRawLine503() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onDocumentRawLine237(s interface{}) (interface{}, error) { + return s, nil } -func (p *parser) callonDocumentRawLine503() (interface{}, error) { +func (p *parser) callonDocumentRawLine237() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine503() + return p.cur.onDocumentRawLine237(stack["s"]) } -func (c *current) onDocumentRawLine491(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Sidebar, len(delimiter.(string)), string(c.text)) +func (c *current) onDocumentRawLine270() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDocumentRawLine491() (interface{}, error) { +func (p *parser) callonDocumentRawLine270() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine491(stack["delimiter"]) + return p.cur.onDocumentRawLine270() } -func (c *current) onDocumentRawLine334(delimiter interface{}) (interface{}, error) { - return delimiter, nil +func (c *current) onDocumentRawLine266(name interface{}) (interface{}, error) { + + log.Debug("matching escaped attribute reference") + // return types.NewStringElement("{"+name.(string)+"}") + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) } -func (p *parser) callonDocumentRawLine334() (interface{}, error) { +func (p *parser) callonDocumentRawLine266() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine334(stack["delimiter"]) + return p.cur.onDocumentRawLine266(stack["name"]) } -func (c *current) onDocumentRawLine512() (bool, error) { - // should only be enabled when reading files to include, not the main (root) file - return c.isSectionEnabled(), nil +func (c *current) onDocumentRawLine280() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDocumentRawLine512() (bool, error) { +func (p *parser) callonDocumentRawLine280() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine512() + return p.cur.onDocumentRawLine280() } -func (c *current) onDocumentRawLine513() (bool, error) { +func (c *current) onDocumentRawLine276(name interface{}) (interface{}, error) { - return !c.isWithinDelimitedBlock(), nil + return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonDocumentRawLine513() (bool, error) { +func (p *parser) callonDocumentRawLine276() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine513() + return p.cur.onDocumentRawLine276(stack["name"]) } -func (c *current) onDocumentRawLine515() (interface{}, error) { - - // `=` is level 0, `==` is level 1, etc. - return (len(c.text) - 1), nil - +func (c *current) onDocumentRawLine263(s interface{}) (interface{}, error) { + return s, nil } -func (p *parser) callonDocumentRawLine515() (interface{}, error) { +func (p *parser) callonDocumentRawLine263() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine515() + return p.cur.onDocumentRawLine263(stack["s"]) } -func (c *current) onDocumentRawLine518(level interface{}) (bool, error) { - - // use a predicate to make sure that only `=` (level 0) to `======` (level 5) are allowed - return level.(int) <= 5, nil - +func (c *current) onDocumentRawLine290() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDocumentRawLine518() (bool, error) { +func (p *parser) callonDocumentRawLine290() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine518(stack["level"]) + return p.cur.onDocumentRawLine290() } -func (c *current) onDocumentRawLine519(level interface{}) (interface{}, error) { - // log.Debug("matched multiple spaces") - return string(c.text), nil - +func (c *current) onDocumentRawLine286(w interface{}) (interface{}, error) { + return w, nil } -func (p *parser) callonDocumentRawLine519() (interface{}, error) { +func (p *parser) callonDocumentRawLine286() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine519(stack["level"]) + return p.cur.onDocumentRawLine286(stack["w"]) } -func (c *current) onDocumentRawLine510(level interface{}) (interface{}, error) { - return types.NewRawSection(level.(int), string(c.text)) // just retain the raw content - +func (c *current) onDocumentRawLine298() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDocumentRawLine510() (interface{}, error) { +func (p *parser) callonDocumentRawLine298() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine510(stack["level"]) + return p.cur.onDocumentRawLine298() } -func (c *current) onDocumentRawLine1(element interface{}) (interface{}, error) { - // in case of parse error, we'll keep the rawline content as-is - return element, nil - +func (c *current) onDocumentRawLine294(w interface{}) (interface{}, error) { + return w, nil } -func (p *parser) callonDocumentRawLine1() (interface{}, error) { +func (p *parser) callonDocumentRawLine294() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine1(stack["element"]) + return p.cur.onDocumentRawLine294(stack["w"]) } -func (c *current) onFileInclusion19() (interface{}, error) { - // not supported for now: EOL, space, "{", "[", "]". Also, punctuation chars and `<` and `>` special chars are treated separately below (but `&` is allowed) - return types.NewStringElement(string(c.text)) +func (c *current) onDocumentRawLine302() (interface{}, error) { + return strconv.Atoi(string(c.text)) } -func (p *parser) callonFileInclusion19() (interface{}, error) { +func (p *parser) callonDocumentRawLine302() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFileInclusion19() + return p.cur.onDocumentRawLine302() } -func (c *current) onFileInclusion23() (interface{}, error) { +func (c *current) onDocumentRawLine310() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonFileInclusion23() (interface{}, error) { +func (p *parser) callonDocumentRawLine310() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFileInclusion23() + return p.cur.onDocumentRawLine310() } -func (c *current) onFileInclusion30() (interface{}, error) { - return string(c.text), nil +func (c *current) onDocumentRawLine87(left, operand, right interface{}) (interface{}, error) { + return types.NewIfevalCondition(left, right, operand.(types.IfevalOperand)) } -func (p *parser) callonFileInclusion30() (interface{}, error) { +func (p *parser) callonDocumentRawLine87() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFileInclusion30() + return p.cur.onDocumentRawLine87(stack["left"], stack["operand"], stack["right"]) } -func (c *current) onFileInclusion34() (bool, error) { - return c.isSubstitutionEnabled(Attributes), nil +func (c *current) onDocumentRawLine319() (interface{}, error) { + + return string(c.text), nil } -func (p *parser) callonFileInclusion34() (bool, error) { +func (p *parser) callonDocumentRawLine319() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFileInclusion34() + return p.cur.onDocumentRawLine319() } -func (c *current) onFileInclusion41() (interface{}, error) { +func (c *current) onDocumentRawLine325() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonFileInclusion41() (interface{}, error) { +func (p *parser) callonDocumentRawLine325() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFileInclusion41() + return p.cur.onDocumentRawLine325() } -func (c *current) onFileInclusion53() (interface{}, error) { +func (c *current) onDocumentRawLine330() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonFileInclusion53() (interface{}, error) { +func (p *parser) callonDocumentRawLine330() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFileInclusion53() + return p.cur.onDocumentRawLine330() } -func (c *current) onFileInclusion55() (interface{}, error) { - - return strconv.Atoi(string(c.text)) +func (c *current) onDocumentRawLine314(name, attr interface{}) (interface{}, error) { + return types.NewEndOfCondition() // name and attributes are parsed but ignored } -func (p *parser) callonFileInclusion55() (interface{}, error) { +func (p *parser) callonDocumentRawLine314() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFileInclusion55() + return p.cur.onDocumentRawLine314(stack["name"], stack["attr"]) } -func (c *current) onFileInclusion48(start interface{}) (interface{}, error) { - return start, nil +func (c *current) onDocumentRawLine343() (interface{}, error) { + // sequence of 4 "/" chars or more + return string(c.text), nil } -func (p *parser) callonFileInclusion48() (interface{}, error) { +func (p *parser) callonDocumentRawLine343() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFileInclusion48(stack["start"]) + return p.cur.onDocumentRawLine343() } -func (c *current) onFileInclusion37(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) +func (c *current) onDocumentRawLine349() (interface{}, error) { + return string(c.text), nil + } -func (p *parser) callonFileInclusion37() (interface{}, error) { +func (p *parser) callonDocumentRawLine349() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFileInclusion37(stack["name"], stack["start"]) + return p.cur.onDocumentRawLine349() } -func (c *current) onFileInclusion63() (interface{}, error) { +func (c *current) onDocumentRawLine352() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonFileInclusion63() (interface{}, error) { +func (p *parser) callonDocumentRawLine352() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFileInclusion63() + return p.cur.onDocumentRawLine352() } -func (c *current) onFileInclusion75() (interface{}, error) { - return string(c.text), nil +func (c *current) onDocumentRawLine340(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Comment, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonFileInclusion75() (interface{}, error) { +func (p *parser) callonDocumentRawLine340() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFileInclusion75() + return p.cur.onDocumentRawLine340(stack["delimiter"]) } -func (c *current) onFileInclusion77() (interface{}, error) { - - return strconv.Atoi(string(c.text)) +func (c *current) onDocumentRawLine362() (interface{}, error) { + // sequence of 4 "=" chars or more + return string(c.text), nil } -func (p *parser) callonFileInclusion77() (interface{}, error) { +func (p *parser) callonDocumentRawLine362() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFileInclusion77() + return p.cur.onDocumentRawLine362() } -func (c *current) onFileInclusion70(start interface{}) (interface{}, error) { - return start, nil +func (c *current) onDocumentRawLine368() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonFileInclusion70() (interface{}, error) { +func (p *parser) callonDocumentRawLine368() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFileInclusion70(stack["start"]) + return p.cur.onDocumentRawLine368() } -func (c *current) onFileInclusion59(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) +func (c *current) onDocumentRawLine371() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonFileInclusion59() (interface{}, error) { +func (p *parser) callonDocumentRawLine371() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFileInclusion59(stack["name"], stack["start"]) + return p.cur.onDocumentRawLine371() } -func (c *current) onFileInclusion85() (interface{}, error) { - return string(c.text), nil +func (c *current) onDocumentRawLine359(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Example, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonFileInclusion85() (interface{}, error) { +func (p *parser) callonDocumentRawLine359() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFileInclusion85() + return p.cur.onDocumentRawLine359(stack["delimiter"]) } -func (c *current) onFileInclusion81(name interface{}) (interface{}, error) { - - log.Debug("matching escaped attribute reference") - // return types.NewStringElement("{"+name.(string)+"}") - return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) - +func (c *current) onDocumentRawLine382() (interface{}, error) { + // exclude ` to avoid matching fenced blocks with more than 3 "`" delimter chars + return string(c.text), nil } -func (p *parser) callonFileInclusion81() (interface{}, error) { +func (p *parser) callonDocumentRawLine382() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFileInclusion81(stack["name"]) + return p.cur.onDocumentRawLine382() } -func (c *current) onFileInclusion95() (interface{}, error) { +func (c *current) onDocumentRawLine386() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonFileInclusion95() (interface{}, error) { +func (p *parser) callonDocumentRawLine386() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFileInclusion95() + return p.cur.onDocumentRawLine386() } -func (c *current) onFileInclusion91(name interface{}) (interface{}, error) { - - return types.NewAttributeSubstitution(name.(string), string(c.text)) - +func (c *current) onDocumentRawLine389() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonFileInclusion91() (interface{}, error) { +func (p *parser) callonDocumentRawLine389() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFileInclusion91(stack["name"]) + return p.cur.onDocumentRawLine389() } -func (c *current) onFileInclusion32(element interface{}) (interface{}, error) { - return element, nil - +func (c *current) onDocumentRawLine378(language interface{}) (interface{}, error) { + return types.NewMarkdownCodeBlockDelimiter(language.(string), string(c.text)) } -func (p *parser) callonFileInclusion32() (interface{}, error) { +func (p *parser) callonDocumentRawLine378() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFileInclusion32(stack["element"]) + return p.cur.onDocumentRawLine378(stack["language"]) } -func (c *current) onFileInclusion103() (bool, error) { - return c.isSubstitutionEnabled(SpecialCharacters), nil +func (c *current) onDocumentRawLine399() (interface{}, error) { + // sequence of 3 "`" chars or more + return string(c.text), nil } -func (p *parser) callonFileInclusion103() (bool, error) { +func (p *parser) callonDocumentRawLine399() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFileInclusion103() + return p.cur.onDocumentRawLine399() } -func (c *current) onFileInclusion112() (interface{}, error) { - // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ +func (c *current) onDocumentRawLine405() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonFileInclusion112() (interface{}, error) { +func (p *parser) callonDocumentRawLine405() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFileInclusion112() + return p.cur.onDocumentRawLine405() } -func (c *current) onFileInclusion116() (interface{}, error) { +func (c *current) onDocumentRawLine408() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonFileInclusion116() (interface{}, error) { +func (p *parser) callonDocumentRawLine408() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFileInclusion116() + return p.cur.onDocumentRawLine408() } -func (c *current) onFileInclusion122() (interface{}, error) { - // `{`, `>` and `>` characters are not allowed as they are used for attribute substitutions and cross-references - return types.NewStringElement(string(c.text)) +func (c *current) onDocumentRawLine396(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Fenced, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonFileInclusion122() (interface{}, error) { +func (p *parser) callonDocumentRawLine396() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFileInclusion122() + return p.cur.onDocumentRawLine396(stack["delimiter"]) } -func (c *current) onFileInclusion131() (interface{}, error) { +func (c *current) onDocumentRawLine418() (interface{}, error) { + // sequence of 4 "-" chars or more return string(c.text), nil } -func (p *parser) callonFileInclusion131() (interface{}, error) { +func (p *parser) callonDocumentRawLine418() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFileInclusion131() + return p.cur.onDocumentRawLine418() } -func (c *current) onFileInclusion127(name interface{}) (interface{}, error) { - - log.Debug("matching escaped attribute reference") - // return types.NewStringElement("{"+name.(string)+"}") - return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) +func (c *current) onDocumentRawLine424() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonFileInclusion127() (interface{}, error) { +func (p *parser) callonDocumentRawLine424() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFileInclusion127(stack["name"]) + return p.cur.onDocumentRawLine424() } -func (c *current) onFileInclusion141() (interface{}, error) { +func (c *current) onDocumentRawLine427() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonFileInclusion141() (interface{}, error) { +func (p *parser) callonDocumentRawLine427() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFileInclusion141() + return p.cur.onDocumentRawLine427() } -func (c *current) onFileInclusion137(name interface{}) (interface{}, error) { +func (c *current) onDocumentRawLine415(delimiter interface{}) (interface{}, error) { - return types.NewAttributeSubstitution(name.(string), string(c.text)) + return types.NewBlockDelimiter(types.Listing, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonFileInclusion137() (interface{}, error) { +func (p *parser) callonDocumentRawLine415() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFileInclusion137(stack["name"]) + return p.cur.onDocumentRawLine415(stack["delimiter"]) } -func (c *current) onFileInclusion147() (interface{}, error) { - - return types.NewStringElement(string(c.text)) +func (c *current) onDocumentRawLine437() (interface{}, error) { + // sequence of 4 "." chars or more + return string(c.text), nil } -func (p *parser) callonFileInclusion147() (interface{}, error) { +func (p *parser) callonDocumentRawLine437() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFileInclusion147() + return p.cur.onDocumentRawLine437() } -func (c *current) onFileInclusion108(id, label interface{}) (interface{}, error) { - return types.NewInternalCrossReference(id, label) +func (c *current) onDocumentRawLine443() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonFileInclusion108() (interface{}, error) { +func (p *parser) callonDocumentRawLine443() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFileInclusion108(stack["id"], stack["label"]) + return p.cur.onDocumentRawLine443() } -func (c *current) onFileInclusion154() (interface{}, error) { - // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ +func (c *current) onDocumentRawLine446() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonFileInclusion154() (interface{}, error) { +func (p *parser) callonDocumentRawLine446() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFileInclusion154() + return p.cur.onDocumentRawLine446() } -func (c *current) onFileInclusion150(id interface{}) (interface{}, error) { - return types.NewInternalCrossReference(id, nil) +func (c *current) onDocumentRawLine434(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Listing, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonFileInclusion150() (interface{}, error) { +func (p *parser) callonDocumentRawLine434() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFileInclusion150(stack["id"]) + return p.cur.onDocumentRawLine434(stack["delimiter"]) } -func (c *current) onFileInclusion106() (interface{}, error) { - return types.NewStringElement(string(c.text)) +func (c *current) onDocumentRawLine456() (interface{}, error) { + // sequence of 4 "+" chars or more + return string(c.text), nil } -func (p *parser) callonFileInclusion106() (interface{}, error) { +func (p *parser) callonDocumentRawLine456() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFileInclusion106() + return p.cur.onDocumentRawLine456() } -func (c *current) onFileInclusion158() (interface{}, error) { - return types.NewSpecialCharacter(string(c.text)) +func (c *current) onDocumentRawLine462() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonFileInclusion158() (interface{}, error) { +func (p *parser) callonDocumentRawLine462() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFileInclusion158() + return p.cur.onDocumentRawLine462() } -func (c *current) onFileInclusion101(element interface{}) (interface{}, error) { - return element, nil - +func (c *current) onDocumentRawLine465() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonFileInclusion101() (interface{}, error) { +func (p *parser) callonDocumentRawLine465() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFileInclusion101(stack["element"]) + return p.cur.onDocumentRawLine465() } -func (c *current) onFileInclusion160() (interface{}, error) { - return types.NewStringElement(string(c.text)) +func (c *current) onDocumentRawLine453(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Passthrough, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonFileInclusion160() (interface{}, error) { +func (p *parser) callonDocumentRawLine453() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFileInclusion160() + return p.cur.onDocumentRawLine453(stack["delimiter"]) } -func (c *current) onFileInclusion12(elements interface{}) (interface{}, error) { - return types.NewInlineElements(elements.([]interface{})) +func (c *current) onDocumentRawLine475() (interface{}, error) { + // sequence of 4 "_" chars or more + return string(c.text), nil } -func (p *parser) callonFileInclusion12() (interface{}, error) { +func (p *parser) callonDocumentRawLine475() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFileInclusion12(stack["elements"]) + return p.cur.onDocumentRawLine475() } -func (c *current) onFileInclusion166() (interface{}, error) { +func (c *current) onDocumentRawLine481() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonFileInclusion166() (interface{}, error) { +func (p *parser) callonDocumentRawLine481() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFileInclusion166() + return p.cur.onDocumentRawLine481() } -func (c *current) onFileInclusion162(ref interface{}) (interface{}, error) { - return types.NewElementPlaceHolder(ref.(string)) +func (c *current) onDocumentRawLine484() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonFileInclusion162() (interface{}, error) { +func (p *parser) callonDocumentRawLine484() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFileInclusion162(stack["ref"]) + return p.cur.onDocumentRawLine484() } -func (c *current) onFileInclusion8(path interface{}) (interface{}, error) { - return types.NewLocation("", path.([]interface{})) +func (c *current) onDocumentRawLine472(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Quote, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonFileInclusion8() (interface{}, error) { +func (p *parser) callonDocumentRawLine472() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFileInclusion8(stack["path"]) + return p.cur.onDocumentRawLine472(stack["delimiter"]) } -func (c *current) onFileInclusion4(path, attributes interface{}) (interface{}, error) { - - return types.NewFileInclusion(path.(*types.Location), attributes.(types.Attributes), string(c.text)) +func (c *current) onDocumentRawLine494() (interface{}, error) { + // sequence of 4 "*" chars or more + return string(c.text), nil } -func (p *parser) callonFileInclusion4() (interface{}, error) { +func (p *parser) callonDocumentRawLine494() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFileInclusion4(stack["path"], stack["attributes"]) + return p.cur.onDocumentRawLine494() } -func (c *current) onFileInclusion173() (interface{}, error) { +func (c *current) onDocumentRawLine500() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonFileInclusion173() (interface{}, error) { +func (p *parser) callonDocumentRawLine500() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFileInclusion173() + return p.cur.onDocumentRawLine500() } -func (c *current) onFileInclusion176() (interface{}, error) { +func (c *current) onDocumentRawLine503() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonFileInclusion176() (interface{}, error) { +func (p *parser) callonDocumentRawLine503() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFileInclusion176() + return p.cur.onDocumentRawLine503() } -func (c *current) onFileInclusion1(incl interface{}) (interface{}, error) { - return incl.(*types.FileInclusion), nil +func (c *current) onDocumentRawLine491(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Sidebar, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonFileInclusion1() (interface{}, error) { +func (p *parser) callonDocumentRawLine491() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFileInclusion1(stack["incl"]) + return p.cur.onDocumentRawLine491(stack["delimiter"]) } -func (c *current) onLineRanges12() (interface{}, error) { - return strconv.Atoi(string(c.text)) +func (c *current) onDocumentRawLine334(delimiter interface{}) (interface{}, error) { + return delimiter, nil } -func (p *parser) callonLineRanges12() (interface{}, error) { +func (p *parser) callonDocumentRawLine334() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLineRanges12() + return p.cur.onDocumentRawLine334(stack["delimiter"]) } -func (c *current) onLineRanges20() (interface{}, error) { - return strconv.Atoi(string(c.text)) +func (c *current) onDocumentRawLine512() (bool, error) { + // should only be enabled when reading files to include, not the main (root) file + return c.isSectionEnabled(), nil } -func (p *parser) callonLineRanges20() (interface{}, error) { +func (p *parser) callonDocumentRawLine512() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLineRanges20() + return p.cur.onDocumentRawLine512() } -func (c *current) onLineRanges9(start, end interface{}) (interface{}, error) { - // eg: lines=12..14 - return types.NewLineRange(start.(int), end.(int)) +func (c *current) onDocumentRawLine513() (bool, error) { + + return !c.isWithinDelimitedBlock(), nil } -func (p *parser) callonLineRanges9() (interface{}, error) { +func (p *parser) callonDocumentRawLine513() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLineRanges9(stack["start"], stack["end"]) + return p.cur.onDocumentRawLine513() } -func (c *current) onLineRanges28() (interface{}, error) { - return strconv.Atoi(string(c.text)) +func (c *current) onDocumentRawLine515() (interface{}, error) { + + // `=` is level 0, `==` is level 1, etc. + return (len(c.text) - 1), nil } -func (p *parser) callonLineRanges28() (interface{}, error) { +func (p *parser) callonDocumentRawLine515() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLineRanges28() + return p.cur.onDocumentRawLine515() } -func (c *current) onLineRanges26(singleline interface{}) (interface{}, error) { - // eg: lines=12 - return types.NewLineRange(singleline.(int), singleline.(int)) +func (c *current) onDocumentRawLine518(level interface{}) (bool, error) { + + // use a predicate to make sure that only `=` (level 0) to `======` (level 5) are allowed + return level.(int) <= 5, nil } -func (p *parser) callonLineRanges26() (interface{}, error) { +func (p *parser) callonDocumentRawLine518() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLineRanges26(stack["singleline"]) + return p.cur.onDocumentRawLine518(stack["level"]) } -func (c *current) onLineRanges44() (interface{}, error) { - return strconv.Atoi(string(c.text)) +func (c *current) onDocumentRawLine519(level interface{}) (interface{}, error) { + // log.Debug("matched multiple spaces") + return string(c.text), nil } -func (p *parser) callonLineRanges44() (interface{}, error) { +func (p *parser) callonDocumentRawLine519() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLineRanges44() + return p.cur.onDocumentRawLine519(stack["level"]) } -func (c *current) onLineRanges52() (interface{}, error) { - return strconv.Atoi(string(c.text)) +func (c *current) onDocumentRawLine510(level interface{}) (interface{}, error) { + return types.NewRawSection(level.(int), string(c.text)) // just retain the raw content } -func (p *parser) callonLineRanges52() (interface{}, error) { +func (p *parser) callonDocumentRawLine510() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLineRanges52() + return p.cur.onDocumentRawLine510(stack["level"]) } -func (c *current) onLineRanges41(start, end interface{}) (interface{}, error) { - // eg: lines=12..14 - return types.NewLineRange(start.(int), end.(int)) +func (c *current) onDocumentRawLine1(element interface{}) (interface{}, error) { + // in case of parse error, we'll keep the rawline content as-is + return element, nil } -func (p *parser) callonLineRanges41() (interface{}, error) { +func (p *parser) callonDocumentRawLine1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLineRanges41(stack["start"], stack["end"]) + return p.cur.onDocumentRawLine1(stack["element"]) } -func (c *current) onLineRanges60() (interface{}, error) { - return strconv.Atoi(string(c.text)) +func (c *current) onFileInclusion19() (interface{}, error) { + // not supported for now: EOL, space, "{", "[", "]". Also, punctuation chars and `<` and `>` special chars are treated separately below (but `&` is allowed) + return types.NewStringElement(string(c.text)) } -func (p *parser) callonLineRanges60() (interface{}, error) { +func (p *parser) callonFileInclusion19() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLineRanges60() + return p.cur.onFileInclusion19() } -func (c *current) onLineRanges58(singleline interface{}) (interface{}, error) { - // eg: lines=12 - return types.NewLineRange(singleline.(int), singleline.(int)) - +func (c *current) onFileInclusion23() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonLineRanges58() (interface{}, error) { +func (p *parser) callonFileInclusion23() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLineRanges58(stack["singleline"]) + return p.cur.onFileInclusion23() } -func (c *current) onLineRanges36(other interface{}) (interface{}, error) { - return other, nil +func (c *current) onFileInclusion30() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonLineRanges36() (interface{}, error) { +func (p *parser) callonFileInclusion30() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLineRanges36(stack["other"]) + return p.cur.onFileInclusion30() } -func (c *current) onLineRanges5(first, others interface{}) (interface{}, error) { - return append([]interface{}{first}, others.([]interface{})...), nil +func (c *current) onFileInclusion34() (bool, error) { + return c.isSubstitutionEnabled(Attributes), nil } -func (p *parser) callonLineRanges5() (interface{}, error) { +func (p *parser) callonFileInclusion34() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLineRanges5(stack["first"], stack["others"]) + return p.cur.onFileInclusion34() } -func (c *current) onLineRanges69() (interface{}, error) { - return strconv.Atoi(string(c.text)) +func (c *current) onFileInclusion41() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonLineRanges69() (interface{}, error) { +func (p *parser) callonFileInclusion41() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLineRanges69() + return p.cur.onFileInclusion41() } -func (c *current) onLineRanges77() (interface{}, error) { - return strconv.Atoi(string(c.text)) +func (c *current) onFileInclusion53() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonLineRanges77() (interface{}, error) { +func (p *parser) callonFileInclusion53() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLineRanges77() + return p.cur.onFileInclusion53() } -func (c *current) onLineRanges66(start, end interface{}) (interface{}, error) { - // eg: lines=12..14 - return types.NewLineRange(start.(int), end.(int)) +func (c *current) onFileInclusion55() (interface{}, error) { + + return strconv.Atoi(string(c.text)) } -func (p *parser) callonLineRanges66() (interface{}, error) { +func (p *parser) callonFileInclusion55() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLineRanges66(stack["start"], stack["end"]) + return p.cur.onFileInclusion55() } -func (c *current) onLineRanges85() (interface{}, error) { - return strconv.Atoi(string(c.text)) +func (c *current) onFileInclusion48(start interface{}) (interface{}, error) { + return start, nil } -func (p *parser) callonLineRanges85() (interface{}, error) { +func (p *parser) callonFileInclusion48() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLineRanges85() + return p.cur.onFileInclusion48(stack["start"]) } -func (c *current) onLineRanges83(singleline interface{}) (interface{}, error) { - // eg: lines=12 - return types.NewLineRange(singleline.(int), singleline.(int)) - +func (c *current) onFileInclusion37(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) } -func (p *parser) callonLineRanges83() (interface{}, error) { +func (p *parser) callonFileInclusion37() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLineRanges83(stack["singleline"]) + return p.cur.onFileInclusion37(stack["name"], stack["start"]) } -func (c *current) onLineRanges1(value interface{}) (interface{}, error) { - // must make sure that the whole content is parsed - return value, nil +func (c *current) onFileInclusion63() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonLineRanges1() (interface{}, error) { +func (p *parser) callonFileInclusion63() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLineRanges1(stack["value"]) + return p.cur.onFileInclusion63() } -func (c *current) onTagRanges11() (interface{}, error) { +func (c *current) onFileInclusion75() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonTagRanges11() (interface{}, error) { +func (p *parser) callonFileInclusion75() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onTagRanges11() + return p.cur.onFileInclusion75() } -func (c *current) onTagRanges17() (interface{}, error) { - return string(c.text), nil +func (c *current) onFileInclusion77() (interface{}, error) { + + return strconv.Atoi(string(c.text)) } -func (p *parser) callonTagRanges17() (interface{}, error) { +func (p *parser) callonFileInclusion77() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onTagRanges17() + return p.cur.onFileInclusion77() } -func (c *current) onTagRanges20(stars interface{}) (bool, error) { - - // use a predicate to make sure that only `*` and `**` are allowed - return len(stars.(string)) <= 2, nil +func (c *current) onFileInclusion70(start interface{}) (interface{}, error) { + return start, nil } -func (p *parser) callonTagRanges20() (bool, error) { +func (p *parser) callonFileInclusion70() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onTagRanges20(stack["stars"]) + return p.cur.onFileInclusion70(stack["start"]) } -func (c *current) onTagRanges14(stars interface{}) (interface{}, error) { - return stars, nil - +func (c *current) onFileInclusion59(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) } -func (p *parser) callonTagRanges14() (interface{}, error) { +func (p *parser) callonFileInclusion59() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onTagRanges14(stack["stars"]) + return p.cur.onFileInclusion59(stack["name"], stack["start"]) } -func (c *current) onTagRanges8(tag interface{}) (interface{}, error) { - return types.NewTagRange(tag.(string), true) +func (c *current) onFileInclusion85() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonTagRanges8() (interface{}, error) { +func (p *parser) callonFileInclusion85() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onTagRanges8(stack["tag"]) + return p.cur.onFileInclusion85() } -func (c *current) onTagRanges26() (interface{}, error) { - return string(c.text), nil +func (c *current) onFileInclusion81(name interface{}) (interface{}, error) { + + log.Debug("matching escaped attribute reference") + // return types.NewStringElement("{"+name.(string)+"}") + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) } -func (p *parser) callonTagRanges26() (interface{}, error) { +func (p *parser) callonFileInclusion81() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onTagRanges26() + return p.cur.onFileInclusion81(stack["name"]) } -func (c *current) onTagRanges32() (interface{}, error) { +func (c *current) onFileInclusion95() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonTagRanges32() (interface{}, error) { +func (p *parser) callonFileInclusion95() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onTagRanges32() + return p.cur.onFileInclusion95() } -func (c *current) onTagRanges35(stars interface{}) (bool, error) { +func (c *current) onFileInclusion91(name interface{}) (interface{}, error) { - // use a predicate to make sure that only `*` and `**` are allowed - return len(stars.(string)) <= 2, nil + return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonTagRanges35() (bool, error) { +func (p *parser) callonFileInclusion91() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onTagRanges35(stack["stars"]) + return p.cur.onFileInclusion91(stack["name"]) } -func (c *current) onTagRanges29(stars interface{}) (interface{}, error) { - return stars, nil +func (c *current) onFileInclusion32(element interface{}) (interface{}, error) { + return element, nil } -func (p *parser) callonTagRanges29() (interface{}, error) { +func (p *parser) callonFileInclusion32() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onTagRanges29(stack["stars"]) + return p.cur.onFileInclusion32(stack["element"]) } -func (c *current) onTagRanges21(tag interface{}) (interface{}, error) { - return types.NewTagRange(tag.(string), false) +func (c *current) onFileInclusion103() (bool, error) { + return c.isSubstitutionEnabled(SpecialCharacters), nil } -func (p *parser) callonTagRanges21() (interface{}, error) { +func (p *parser) callonFileInclusion103() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onTagRanges21(stack["tag"]) + return p.cur.onFileInclusion103() } -func (c *current) onTagRanges46() (interface{}, error) { +func (c *current) onFileInclusion112() (interface{}, error) { + // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ return string(c.text), nil } -func (p *parser) callonTagRanges46() (interface{}, error) { +func (p *parser) callonFileInclusion112() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onTagRanges46() + return p.cur.onFileInclusion112() } -func (c *current) onTagRanges52() (interface{}, error) { +func (c *current) onFileInclusion116() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonTagRanges52() (interface{}, error) { +func (p *parser) callonFileInclusion116() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onTagRanges52() + return p.cur.onFileInclusion116() } -func (c *current) onTagRanges55(stars interface{}) (bool, error) { - - // use a predicate to make sure that only `*` and `**` are allowed - return len(stars.(string)) <= 2, nil +func (c *current) onFileInclusion122() (interface{}, error) { + // `{`, `>` and `>` characters are not allowed as they are used for attribute substitutions and cross-references + return types.NewStringElement(string(c.text)) } -func (p *parser) callonTagRanges55() (bool, error) { +func (p *parser) callonFileInclusion122() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onTagRanges55(stack["stars"]) + return p.cur.onFileInclusion122() } -func (c *current) onTagRanges49(stars interface{}) (interface{}, error) { - return stars, nil +func (c *current) onFileInclusion131() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonTagRanges49() (interface{}, error) { +func (p *parser) callonFileInclusion131() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onTagRanges49(stack["stars"]) + return p.cur.onFileInclusion131() } -func (c *current) onTagRanges43(tag interface{}) (interface{}, error) { - return types.NewTagRange(tag.(string), true) +func (c *current) onFileInclusion127(name interface{}) (interface{}, error) { + + log.Debug("matching escaped attribute reference") + // return types.NewStringElement("{"+name.(string)+"}") + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) } -func (p *parser) callonTagRanges43() (interface{}, error) { +func (p *parser) callonFileInclusion127() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onTagRanges43(stack["tag"]) + return p.cur.onFileInclusion127(stack["name"]) } -func (c *current) onTagRanges61() (interface{}, error) { +func (c *current) onFileInclusion141() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonTagRanges61() (interface{}, error) { +func (p *parser) callonFileInclusion141() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onTagRanges61() + return p.cur.onFileInclusion141() } -func (c *current) onTagRanges67() (interface{}, error) { - return string(c.text), nil +func (c *current) onFileInclusion137(name interface{}) (interface{}, error) { + + return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonTagRanges67() (interface{}, error) { +func (p *parser) callonFileInclusion137() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onTagRanges67() + return p.cur.onFileInclusion137(stack["name"]) } -func (c *current) onTagRanges70(stars interface{}) (bool, error) { +func (c *current) onFileInclusion147() (interface{}, error) { - // use a predicate to make sure that only `*` and `**` are allowed - return len(stars.(string)) <= 2, nil + return types.NewStringElement(string(c.text)) } -func (p *parser) callonTagRanges70() (bool, error) { +func (p *parser) callonFileInclusion147() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onTagRanges70(stack["stars"]) + return p.cur.onFileInclusion147() } -func (c *current) onTagRanges64(stars interface{}) (interface{}, error) { - return stars, nil +func (c *current) onFileInclusion108(id, label interface{}) (interface{}, error) { + return types.NewInternalCrossReference(id, label) } -func (p *parser) callonTagRanges64() (interface{}, error) { +func (p *parser) callonFileInclusion108() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onTagRanges64(stack["stars"]) + return p.cur.onFileInclusion108(stack["id"], stack["label"]) } -func (c *current) onTagRanges56(tag interface{}) (interface{}, error) { - return types.NewTagRange(tag.(string), false) +func (c *current) onFileInclusion154() (interface{}, error) { + // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ + return string(c.text), nil } -func (p *parser) callonTagRanges56() (interface{}, error) { +func (p *parser) callonFileInclusion154() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onTagRanges56(stack["tag"]) + return p.cur.onFileInclusion154() } -func (c *current) onTagRanges38(other interface{}) (interface{}, error) { - return other, nil +func (c *current) onFileInclusion150(id interface{}) (interface{}, error) { + return types.NewInternalCrossReference(id, nil) } -func (p *parser) callonTagRanges38() (interface{}, error) { +func (p *parser) callonFileInclusion150() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onTagRanges38(stack["other"]) + return p.cur.onFileInclusion150(stack["id"]) } -func (c *current) onTagRanges4(first, others interface{}) (interface{}, error) { - return append([]interface{}{first}, others.([]interface{})...), nil +func (c *current) onFileInclusion106() (interface{}, error) { + return types.NewStringElement(string(c.text)) } -func (p *parser) callonTagRanges4() (interface{}, error) { +func (p *parser) callonFileInclusion106() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onTagRanges4(stack["first"], stack["others"]) + return p.cur.onFileInclusion106() } -func (c *current) onTagRanges1(value interface{}) (interface{}, error) { - // must make sure that the whole content is parsed - return value, nil +func (c *current) onFileInclusion158() (interface{}, error) { + return types.NewSpecialCharacter(string(c.text)) } -func (p *parser) callonTagRanges1() (interface{}, error) { +func (p *parser) callonFileInclusion158() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onTagRanges1(stack["value"]) + return p.cur.onFileInclusion158() } -func (c *current) onIncludedFileLine11() (interface{}, error) { - return string(c.text), nil +func (c *current) onFileInclusion101(element interface{}) (interface{}, error) { + return element, nil } -func (p *parser) callonIncludedFileLine11() (interface{}, error) { +func (p *parser) callonFileInclusion101() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onIncludedFileLine11() + return p.cur.onFileInclusion101(stack["element"]) } -func (c *current) onIncludedFileLine10() (interface{}, error) { - return string(c.text), nil +func (c *current) onFileInclusion160() (interface{}, error) { + return types.NewStringElement(string(c.text)) + } -func (p *parser) callonIncludedFileLine10() (interface{}, error) { +func (p *parser) callonFileInclusion160() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onIncludedFileLine10() + return p.cur.onFileInclusion160() } -func (c *current) onIncludedFileLine6(tag interface{}) (interface{}, error) { - return types.NewIncludedFileStartTag(tag.(string)) +func (c *current) onFileInclusion12(elements interface{}) (interface{}, error) { + return types.NewInlineElements(elements.([]interface{})) } -func (p *parser) callonIncludedFileLine6() (interface{}, error) { +func (p *parser) callonFileInclusion12() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onIncludedFileLine6(stack["tag"]) + return p.cur.onFileInclusion12(stack["elements"]) } -func (c *current) onIncludedFileLine20() (interface{}, error) { +func (c *current) onFileInclusion166() (interface{}, error) { return string(c.text), nil - } -func (p *parser) callonIncludedFileLine20() (interface{}, error) { +func (p *parser) callonFileInclusion166() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onIncludedFileLine20() + return p.cur.onFileInclusion166() } -func (c *current) onIncludedFileLine19() (interface{}, error) { - return string(c.text), nil +func (c *current) onFileInclusion162(ref interface{}) (interface{}, error) { + return types.NewElementPlaceHolder(ref.(string)) } -func (p *parser) callonIncludedFileLine19() (interface{}, error) { +func (p *parser) callonFileInclusion162() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onIncludedFileLine19() + return p.cur.onFileInclusion162(stack["ref"]) } -func (c *current) onIncludedFileLine15(tag interface{}) (interface{}, error) { - return types.NewIncludedFileEndTag(tag.(string)) +func (c *current) onFileInclusion8(path interface{}) (interface{}, error) { + return types.NewLocation("", path.([]interface{})) } -func (p *parser) callonIncludedFileLine15() (interface{}, error) { +func (p *parser) callonFileInclusion8() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onIncludedFileLine15(stack["tag"]) + return p.cur.onFileInclusion8(stack["path"]) } -func (c *current) onIncludedFileLine24() (interface{}, error) { - return string(c.text), nil +func (c *current) onFileInclusion4(path, attributes interface{}) (interface{}, error) { + + return types.NewFileInclusion(path.(*types.Location), attributes.(types.Attributes), string(c.text)) + } -func (p *parser) callonIncludedFileLine24() (interface{}, error) { +func (p *parser) callonFileInclusion4() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onIncludedFileLine24() + return p.cur.onFileInclusion4(stack["path"], stack["attributes"]) } -func (c *current) onIncludedFileLine27() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onFileInclusion173() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonIncludedFileLine27() (interface{}, error) { +func (p *parser) callonFileInclusion173() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onIncludedFileLine27() + return p.cur.onFileInclusion173() } -func (c *current) onIncludedFileLine1(content interface{}) (interface{}, error) { - return types.NewIncludedFileLine(content.([]interface{})) - +func (c *current) onFileInclusion176() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonIncludedFileLine1() (interface{}, error) { +func (p *parser) callonFileInclusion176() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onIncludedFileLine1(stack["content"]) + return p.cur.onFileInclusion176() } -func (c *current) onDocumentFragment21() (interface{}, error) { - return string(c.text), nil +func (c *current) onFileInclusion1(incl interface{}) (interface{}, error) { + return incl.(*types.FileInclusion), nil } -func (p *parser) callonDocumentFragment21() (interface{}, error) { +func (p *parser) callonFileInclusion1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment21() + return p.cur.onFileInclusion1(stack["incl"]) } -func (c *current) onDocumentFragment28() (interface{}, error) { - return string(c.text), nil +func (c *current) onLineRanges12() (interface{}, error) { + return strconv.Atoi(string(c.text)) } -func (p *parser) callonDocumentFragment28() (interface{}, error) { +func (p *parser) callonLineRanges12() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment28() + return p.cur.onLineRanges12() } -func (c *current) onDocumentFragment31() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onLineRanges20() (interface{}, error) { + return strconv.Atoi(string(c.text)) + } -func (p *parser) callonDocumentFragment31() (interface{}, error) { +func (p *parser) callonLineRanges20() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment31() + return p.cur.onLineRanges20() } -func (c *current) onDocumentFragment17(name interface{}) (interface{}, error) { - return types.NewAttributeReset(name.(string), string(c.text)) +func (c *current) onLineRanges9(start, end interface{}) (interface{}, error) { + // eg: lines=12..14 + return types.NewLineRange(start.(int), end.(int)) } -func (p *parser) callonDocumentFragment17() (interface{}, error) { +func (p *parser) callonLineRanges9() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment17(stack["name"]) + return p.cur.onLineRanges9(stack["start"], stack["end"]) } -func (c *current) onDocumentFragment42() (interface{}, error) { - return string(c.text), nil +func (c *current) onLineRanges28() (interface{}, error) { + return strconv.Atoi(string(c.text)) } -func (p *parser) callonDocumentFragment42() (interface{}, error) { +func (p *parser) callonLineRanges28() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment42() + return p.cur.onLineRanges28() } -func (c *current) onDocumentFragment49() (interface{}, error) { - return string(c.text), nil +func (c *current) onLineRanges26(singleline interface{}) (interface{}, error) { + // eg: lines=12 + return types.NewLineRange(singleline.(int), singleline.(int)) } -func (p *parser) callonDocumentFragment49() (interface{}, error) { +func (p *parser) callonLineRanges26() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment49() + return p.cur.onLineRanges26(stack["singleline"]) } -func (c *current) onDocumentFragment52() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onLineRanges44() (interface{}, error) { + return strconv.Atoi(string(c.text)) + } -func (p *parser) callonDocumentFragment52() (interface{}, error) { +func (p *parser) callonLineRanges44() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment52() + return p.cur.onLineRanges44() } -func (c *current) onDocumentFragment38(name interface{}) (interface{}, error) { - return types.NewAttributeReset(name.(string), string(c.text)) +func (c *current) onLineRanges52() (interface{}, error) { + return strconv.Atoi(string(c.text)) } -func (p *parser) callonDocumentFragment38() (interface{}, error) { +func (p *parser) callonLineRanges52() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment38(stack["name"]) + return p.cur.onLineRanges52() } -func (c *current) onDocumentFragment65() (interface{}, error) { - return string(c.text), nil +func (c *current) onLineRanges41(start, end interface{}) (interface{}, error) { + // eg: lines=12..14 + return types.NewLineRange(start.(int), end.(int)) } -func (p *parser) callonDocumentFragment65() (interface{}, error) { +func (p *parser) callonLineRanges41() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment65() + return p.cur.onLineRanges41(stack["start"], stack["end"]) } -func (c *current) onDocumentFragment68() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onLineRanges60() (interface{}, error) { + return strconv.Atoi(string(c.text)) + } -func (p *parser) callonDocumentFragment68() (interface{}, error) { +func (p *parser) callonLineRanges60() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment68() + return p.cur.onLineRanges60() } -func (c *current) onDocumentFragment59() (interface{}, error) { - return types.NewBlankLine() +func (c *current) onLineRanges58(singleline interface{}) (interface{}, error) { + // eg: lines=12 + return types.NewLineRange(singleline.(int), singleline.(int)) } -func (p *parser) callonDocumentFragment59() (interface{}, error) { +func (p *parser) callonLineRanges58() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment59() + return p.cur.onLineRanges58(stack["singleline"]) } -func (c *current) onDocumentFragment77() (bool, error) { - - return !c.isWithinDelimitedBlock(), nil +func (c *current) onLineRanges36(other interface{}) (interface{}, error) { + return other, nil } -func (p *parser) callonDocumentFragment77() (bool, error) { +func (p *parser) callonLineRanges36() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment77() + return p.cur.onLineRanges36(stack["other"]) } -func (c *current) onDocumentFragment79() (interface{}, error) { - - // `=` is level 0, `==` is level 1, etc. - return (len(c.text) - 1), nil +func (c *current) onLineRanges5(first, others interface{}) (interface{}, error) { + return append([]interface{}{first}, others.([]interface{})...), nil } -func (p *parser) callonDocumentFragment79() (interface{}, error) { +func (p *parser) callonLineRanges5() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment79() + return p.cur.onLineRanges5(stack["first"], stack["others"]) } -func (c *current) onDocumentFragment82(level interface{}) (bool, error) { - - // use a predicate to make sure that only `=` (level 0) to `======` (level 5) are allowed - return level.(int) <= 5, nil +func (c *current) onLineRanges69() (interface{}, error) { + return strconv.Atoi(string(c.text)) } -func (p *parser) callonDocumentFragment82() (bool, error) { +func (p *parser) callonLineRanges69() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment82(stack["level"]) + return p.cur.onLineRanges69() } -func (c *current) onDocumentFragment83(level interface{}) (interface{}, error) { - // log.Debug("matched multiple spaces") - return string(c.text), nil +func (c *current) onLineRanges77() (interface{}, error) { + return strconv.Atoi(string(c.text)) } -func (p *parser) callonDocumentFragment83() (interface{}, error) { +func (p *parser) callonLineRanges77() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment83(stack["level"]) + return p.cur.onLineRanges77() } -func (c *current) onDocumentFragment87() (interface{}, error) { - // can't have empty title, that may collide with example block delimiter (`====`) - return []interface{}{ - types.RawLine(c.text), - }, nil +func (c *current) onLineRanges66(start, end interface{}) (interface{}, error) { + // eg: lines=12..14 + return types.NewLineRange(start.(int), end.(int)) } -func (p *parser) callonDocumentFragment87() (interface{}, error) { +func (p *parser) callonLineRanges66() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment87() + return p.cur.onLineRanges66(stack["start"], stack["end"]) } -func (c *current) onDocumentFragment91() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onLineRanges85() (interface{}, error) { + return strconv.Atoi(string(c.text)) + } -func (p *parser) callonDocumentFragment91() (interface{}, error) { +func (p *parser) callonLineRanges85() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment91() + return p.cur.onLineRanges85() } -func (c *current) onDocumentFragment75(level, title interface{}) (interface{}, error) { - return types.NewSection(level.(int), title.([]interface{})) +func (c *current) onLineRanges83(singleline interface{}) (interface{}, error) { + // eg: lines=12 + return types.NewLineRange(singleline.(int), singleline.(int)) } -func (p *parser) callonDocumentFragment75() (interface{}, error) { +func (p *parser) callonLineRanges83() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment75(stack["level"], stack["title"]) + return p.cur.onLineRanges83(stack["singleline"]) } -func (c *current) onDocumentFragment103() (interface{}, error) { - // sequence of 4 "/" chars or more - return string(c.text), nil +func (c *current) onLineRanges1(value interface{}) (interface{}, error) { + // must make sure that the whole content is parsed + return value, nil } -func (p *parser) callonDocumentFragment103() (interface{}, error) { +func (p *parser) callonLineRanges1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment103() + return p.cur.onLineRanges1(stack["value"]) } -func (c *current) onDocumentFragment109() (interface{}, error) { +func (c *current) onTagRanges11() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentFragment109() (interface{}, error) { +func (p *parser) callonTagRanges11() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment109() + return p.cur.onTagRanges11() } -func (c *current) onDocumentFragment112() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onTagRanges17() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonDocumentFragment112() (interface{}, error) { +func (p *parser) callonTagRanges17() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment112() + return p.cur.onTagRanges17() } -func (c *current) onDocumentFragment100(delimiter interface{}) (interface{}, error) { +func (c *current) onTagRanges20(stars interface{}) (bool, error) { - return types.NewBlockDelimiter(types.Comment, len(delimiter.(string)), string(c.text)) + // use a predicate to make sure that only `*` and `**` are allowed + return len(stars.(string)) <= 2, nil } -func (p *parser) callonDocumentFragment100() (interface{}, error) { +func (p *parser) callonTagRanges20() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment100(stack["delimiter"]) + return p.cur.onTagRanges20(stack["stars"]) } -func (c *current) onDocumentFragment128() (interface{}, error) { - // sequence of 4 "/" chars or more - return string(c.text), nil +func (c *current) onTagRanges14(stars interface{}) (interface{}, error) { + return stars, nil } -func (p *parser) callonDocumentFragment128() (interface{}, error) { +func (p *parser) callonTagRanges14() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment128() + return p.cur.onTagRanges14(stack["stars"]) } -func (c *current) onDocumentFragment134() (interface{}, error) { - return string(c.text), nil +func (c *current) onTagRanges8(tag interface{}) (interface{}, error) { + return types.NewTagRange(tag.(string), true) } -func (p *parser) callonDocumentFragment134() (interface{}, error) { +func (p *parser) callonTagRanges8() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment134() + return p.cur.onTagRanges8(stack["tag"]) } -func (c *current) onDocumentFragment137() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onTagRanges26() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonDocumentFragment137() (interface{}, error) { +func (p *parser) callonTagRanges26() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment137() + return p.cur.onTagRanges26() } -func (c *current) onDocumentFragment125(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Comment, len(delimiter.(string)), string(c.text)) +func (c *current) onTagRanges32() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDocumentFragment125() (interface{}, error) { +func (p *parser) callonTagRanges32() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment125(stack["delimiter"]) + return p.cur.onTagRanges32() } -func (c *current) onDocumentFragment153() (interface{}, error) { - // content is NOT mandatory - return string(c.text), nil +func (c *current) onTagRanges35(stars interface{}) (bool, error) { + + // use a predicate to make sure that only `*` and `**` are allowed + return len(stars.(string)) <= 2, nil } -func (p *parser) callonDocumentFragment153() (interface{}, error) { +func (p *parser) callonTagRanges35() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment153() + return p.cur.onTagRanges35(stack["stars"]) } -func (c *current) onDocumentFragment157() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onTagRanges29(stars interface{}) (interface{}, error) { + return stars, nil + } -func (p *parser) callonDocumentFragment157() (interface{}, error) { +func (p *parser) callonTagRanges29() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment157() + return p.cur.onTagRanges29(stack["stars"]) } -func (c *current) onDocumentFragment147(content interface{}) (interface{}, error) { - - return types.NewRawLine(content.(string)) +func (c *current) onTagRanges21(tag interface{}) (interface{}, error) { + return types.NewTagRange(tag.(string), false) } -func (p *parser) callonDocumentFragment147() (interface{}, error) { +func (p *parser) callonTagRanges21() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment147(stack["content"]) + return p.cur.onTagRanges21(stack["tag"]) } -func (c *current) onDocumentFragment121(line interface{}) (interface{}, error) { - return line, nil +func (c *current) onTagRanges46() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDocumentFragment121() (interface{}, error) { +func (p *parser) callonTagRanges46() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment121(stack["line"]) + return p.cur.onTagRanges46() } -func (c *current) onDocumentFragment169() (interface{}, error) { - // sequence of 4 "/" chars or more +func (c *current) onTagRanges52() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentFragment169() (interface{}, error) { +func (p *parser) callonTagRanges52() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment169() + return p.cur.onTagRanges52() } -func (c *current) onDocumentFragment175() (interface{}, error) { - return string(c.text), nil +func (c *current) onTagRanges55(stars interface{}) (bool, error) { + + // use a predicate to make sure that only `*` and `**` are allowed + return len(stars.(string)) <= 2, nil } -func (p *parser) callonDocumentFragment175() (interface{}, error) { +func (p *parser) callonTagRanges55() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment175() + return p.cur.onTagRanges55(stack["stars"]) } -func (c *current) onDocumentFragment178() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onTagRanges49(stars interface{}) (interface{}, error) { + return stars, nil + } -func (p *parser) callonDocumentFragment178() (interface{}, error) { +func (p *parser) callonTagRanges49() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment178() + return p.cur.onTagRanges49(stack["stars"]) } -func (c *current) onDocumentFragment166(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Comment, len(delimiter.(string)), string(c.text)) +func (c *current) onTagRanges43(tag interface{}) (interface{}, error) { + return types.NewTagRange(tag.(string), true) } -func (p *parser) callonDocumentFragment166() (interface{}, error) { +func (p *parser) callonTagRanges43() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment166(stack["delimiter"]) + return p.cur.onTagRanges43(stack["tag"]) } -func (c *current) onDocumentFragment98(delimiter, content interface{}) (interface{}, error) { - return types.NewDelimitedBlock(types.Comment, content.([]interface{})) +func (c *current) onTagRanges61() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDocumentFragment98() (interface{}, error) { +func (p *parser) callonTagRanges61() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment98(stack["delimiter"], stack["content"]) + return p.cur.onTagRanges61() } -func (c *current) onDocumentFragment193() (interface{}, error) { - // sequence of 4 "=" chars or more +func (c *current) onTagRanges67() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentFragment193() (interface{}, error) { +func (p *parser) callonTagRanges67() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment193() + return p.cur.onTagRanges67() } -func (c *current) onDocumentFragment199() (interface{}, error) { - return string(c.text), nil +func (c *current) onTagRanges70(stars interface{}) (bool, error) { + + // use a predicate to make sure that only `*` and `**` are allowed + return len(stars.(string)) <= 2, nil } -func (p *parser) callonDocumentFragment199() (interface{}, error) { +func (p *parser) callonTagRanges70() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment199() + return p.cur.onTagRanges70(stack["stars"]) } -func (c *current) onDocumentFragment202() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onTagRanges64(stars interface{}) (interface{}, error) { + return stars, nil + } -func (p *parser) callonDocumentFragment202() (interface{}, error) { +func (p *parser) callonTagRanges64() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment202() + return p.cur.onTagRanges64(stack["stars"]) } -func (c *current) onDocumentFragment190(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Example, len(delimiter.(string)), string(c.text)) +func (c *current) onTagRanges56(tag interface{}) (interface{}, error) { + return types.NewTagRange(tag.(string), false) } -func (p *parser) callonDocumentFragment190() (interface{}, error) { +func (p *parser) callonTagRanges56() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment190(stack["delimiter"]) + return p.cur.onTagRanges56(stack["tag"]) } -func (c *current) onDocumentFragment209(start interface{}) (bool, error) { - return c.setBlockDelimiterLength(start.(*types.BlockDelimiter).Length) +func (c *current) onTagRanges38(other interface{}) (interface{}, error) { + return other, nil } -func (p *parser) callonDocumentFragment209() (bool, error) { +func (p *parser) callonTagRanges38() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment209(stack["start"]) + return p.cur.onTagRanges38(stack["other"]) } -func (c *current) onDocumentFragment221() (interface{}, error) { - // sequence of 4 "=" chars or more - return string(c.text), nil +func (c *current) onTagRanges4(first, others interface{}) (interface{}, error) { + return append([]interface{}{first}, others.([]interface{})...), nil } -func (p *parser) callonDocumentFragment221() (interface{}, error) { +func (p *parser) callonTagRanges4() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment221() + return p.cur.onTagRanges4(stack["first"], stack["others"]) } -func (c *current) onDocumentFragment227() (interface{}, error) { - return string(c.text), nil +func (c *current) onTagRanges1(value interface{}) (interface{}, error) { + // must make sure that the whole content is parsed + return value, nil } -func (p *parser) callonDocumentFragment227() (interface{}, error) { +func (p *parser) callonTagRanges1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment227() + return p.cur.onTagRanges1(stack["value"]) } -func (c *current) onDocumentFragment230() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onIncludedFileLine11() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonDocumentFragment230() (interface{}, error) { +func (p *parser) callonIncludedFileLine11() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment230() + return p.cur.onIncludedFileLine11() } -func (c *current) onDocumentFragment218(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Example, len(delimiter.(string)), string(c.text)) - +func (c *current) onIncludedFileLine10() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDocumentFragment218() (interface{}, error) { +func (p *parser) callonIncludedFileLine10() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment218(stack["delimiter"]) + return p.cur.onIncludedFileLine10() } -func (c *current) onDocumentFragment237(end interface{}) (bool, error) { - return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) +func (c *current) onIncludedFileLine6(tag interface{}) (interface{}, error) { + return types.NewIncludedFileStartTag(tag.(string)) } -func (p *parser) callonDocumentFragment237() (bool, error) { +func (p *parser) callonIncludedFileLine6() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment237(stack["end"]) + return p.cur.onIncludedFileLine6(stack["tag"]) } -func (c *current) onDocumentFragment247() (interface{}, error) { - // content is NOT mandatory +func (c *current) onIncludedFileLine20() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentFragment247() (interface{}, error) { +func (p *parser) callonIncludedFileLine20() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment247() + return p.cur.onIncludedFileLine20() } -func (c *current) onDocumentFragment251() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onIncludedFileLine19() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentFragment251() (interface{}, error) { +func (p *parser) callonIncludedFileLine19() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment251() + return p.cur.onIncludedFileLine19() } -func (c *current) onDocumentFragment241(content interface{}) (interface{}, error) { - - return types.NewRawLine(content.(string)) +func (c *current) onIncludedFileLine15(tag interface{}) (interface{}, error) { + return types.NewIncludedFileEndTag(tag.(string)) } -func (p *parser) callonDocumentFragment241() (interface{}, error) { +func (p *parser) callonIncludedFileLine15() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment241(stack["content"]) + return p.cur.onIncludedFileLine15(stack["tag"]) } -func (c *current) onDocumentFragment212(line interface{}) (interface{}, error) { - return line, nil - +func (c *current) onIncludedFileLine24() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDocumentFragment212() (interface{}, error) { +func (p *parser) callonIncludedFileLine24() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment212(stack["line"]) + return p.cur.onIncludedFileLine24() } -func (c *current) onDocumentFragment266() (interface{}, error) { - // sequence of 4 "=" chars or more +func (c *current) onIncludedFileLine27() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonDocumentFragment266() (interface{}, error) { +func (p *parser) callonIncludedFileLine27() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment266() + return p.cur.onIncludedFileLine27() } -func (c *current) onDocumentFragment272() (interface{}, error) { - return string(c.text), nil +func (c *current) onIncludedFileLine1(content interface{}) (interface{}, error) { + return types.NewIncludedFileLine(content.([]interface{})) } -func (p *parser) callonDocumentFragment272() (interface{}, error) { +func (p *parser) callonIncludedFileLine1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment272() + return p.cur.onIncludedFileLine1(stack["content"]) } -func (c *current) onDocumentFragment275() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onDocumentFragment21() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonDocumentFragment275() (interface{}, error) { +func (p *parser) callonDocumentFragment21() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment275() + return p.cur.onDocumentFragment21() } -func (c *current) onDocumentFragment263(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Example, len(delimiter.(string)), string(c.text)) +func (c *current) onDocumentFragment28() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDocumentFragment263() (interface{}, error) { +func (p *parser) callonDocumentFragment28() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment263(stack["delimiter"]) + return p.cur.onDocumentFragment28() } -func (c *current) onDocumentFragment282(end interface{}) (bool, error) { - return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) - +func (c *current) onDocumentFragment31() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonDocumentFragment282() (bool, error) { +func (p *parser) callonDocumentFragment31() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment282(stack["end"]) + return p.cur.onDocumentFragment31() } -func (c *current) onDocumentFragment187(start, content, end interface{}) (interface{}, error) { - return types.NewDelimitedBlock(types.Example, content.([]interface{})) +func (c *current) onDocumentFragment17(name interface{}) (interface{}, error) { + return types.NewAttributeReset(name.(string), string(c.text)) } -func (p *parser) callonDocumentFragment187() (interface{}, error) { +func (p *parser) callonDocumentFragment17() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment187(stack["start"], stack["content"], stack["end"]) + return p.cur.onDocumentFragment17(stack["name"]) } -func (c *current) onDocumentFragment292() (interface{}, error) { - // exclude ` to avoid matching fenced blocks with more than 3 "`" delimter chars +func (c *current) onDocumentFragment42() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonDocumentFragment292() (interface{}, error) { +func (p *parser) callonDocumentFragment42() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment292() + return p.cur.onDocumentFragment42() } -func (c *current) onDocumentFragment296() (interface{}, error) { +func (c *current) onDocumentFragment49() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentFragment296() (interface{}, error) { +func (p *parser) callonDocumentFragment49() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment296() + return p.cur.onDocumentFragment49() } -func (c *current) onDocumentFragment299() (interface{}, error) { +func (c *current) onDocumentFragment52() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonDocumentFragment299() (interface{}, error) { +func (p *parser) callonDocumentFragment52() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment299() + return p.cur.onDocumentFragment52() } -func (c *current) onDocumentFragment288(language interface{}) (interface{}, error) { - return types.NewMarkdownCodeBlockDelimiter(language.(string), string(c.text)) +func (c *current) onDocumentFragment38(name interface{}) (interface{}, error) { + return types.NewAttributeReset(name.(string), string(c.text)) + } -func (p *parser) callonDocumentFragment288() (interface{}, error) { +func (p *parser) callonDocumentFragment38() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment288(stack["language"]) + return p.cur.onDocumentFragment38(stack["name"]) } -func (c *current) onDocumentFragment314() (interface{}, error) { +func (c *current) onDocumentFragment65() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentFragment314() (interface{}, error) { +func (p *parser) callonDocumentFragment65() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment314() + return p.cur.onDocumentFragment65() } -func (c *current) onDocumentFragment317() (interface{}, error) { +func (c *current) onDocumentFragment68() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonDocumentFragment317() (interface{}, error) { +func (p *parser) callonDocumentFragment68() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment317() + return p.cur.onDocumentFragment68() } -func (c *current) onDocumentFragment331() (interface{}, error) { - // content is NOT mandatory - return string(c.text), nil +func (c *current) onDocumentFragment59() (interface{}, error) { + return types.NewBlankLine() } -func (p *parser) callonDocumentFragment331() (interface{}, error) { +func (p *parser) callonDocumentFragment59() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment331() + return p.cur.onDocumentFragment59() } -func (c *current) onDocumentFragment335() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onDocumentFragment77() (bool, error) { + + return !c.isWithinDelimitedBlock(), nil + } -func (p *parser) callonDocumentFragment335() (interface{}, error) { +func (p *parser) callonDocumentFragment77() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment335() + return p.cur.onDocumentFragment77() } -func (c *current) onDocumentFragment325(content interface{}) (interface{}, error) { +func (c *current) onDocumentFragment79() (interface{}, error) { - return types.NewRawLine(content.(string)) + // `=` is level 0, `==` is level 1, etc. + return (len(c.text) - 1), nil } -func (p *parser) callonDocumentFragment325() (interface{}, error) { +func (p *parser) callonDocumentFragment79() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment325(stack["content"]) + return p.cur.onDocumentFragment79() } -func (c *current) onDocumentFragment308(line interface{}) (interface{}, error) { - return line, nil +func (c *current) onDocumentFragment82(level interface{}) (bool, error) { + + // use a predicate to make sure that only `=` (level 0) to `======` (level 5) are allowed + return level.(int) <= 5, nil } -func (p *parser) callonDocumentFragment308() (interface{}, error) { +func (p *parser) callonDocumentFragment82() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment308(stack["line"]) + return p.cur.onDocumentFragment82(stack["level"]) } -func (c *current) onDocumentFragment346() (interface{}, error) { +func (c *current) onDocumentFragment83(level interface{}) (interface{}, error) { + // log.Debug("matched multiple spaces") return string(c.text), nil } -func (p *parser) callonDocumentFragment346() (interface{}, error) { +func (p *parser) callonDocumentFragment83() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment346() + return p.cur.onDocumentFragment83(stack["level"]) } -func (c *current) onDocumentFragment349() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onDocumentFragment87() (interface{}, error) { + // can't have empty title, that may collide with example block delimiter (`====`) + return []interface{}{ + types.RawLine(c.text), + }, nil + } -func (p *parser) callonDocumentFragment349() (interface{}, error) { +func (p *parser) callonDocumentFragment87() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment349() + return p.cur.onDocumentFragment87() } -func (c *current) onDocumentFragment285(delimiter, content interface{}) (interface{}, error) { - // Markdown code with fences is a "listing/source" block in Asciidoc - b, err := types.NewDelimitedBlock(types.Listing, content.([]interface{})) - b.AddAttributes(delimiter.(*types.BlockDelimiter).Attributes) - return b, err - +func (c *current) onDocumentFragment91() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonDocumentFragment285() (interface{}, error) { +func (p *parser) callonDocumentFragment91() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment285(stack["delimiter"], stack["content"]) + return p.cur.onDocumentFragment91() } -func (c *current) onDocumentFragment362() (interface{}, error) { - // sequence of 3 "`" chars or more - return string(c.text), nil +func (c *current) onDocumentFragment75(level, title interface{}) (interface{}, error) { + return types.NewSection(level.(int), title.([]interface{})) } -func (p *parser) callonDocumentFragment362() (interface{}, error) { +func (p *parser) callonDocumentFragment75() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment362() + return p.cur.onDocumentFragment75(stack["level"], stack["title"]) } -func (c *current) onDocumentFragment368() (interface{}, error) { +func (c *current) onDocumentFragment103() (interface{}, error) { + // sequence of 4 "/" chars or more return string(c.text), nil } -func (p *parser) callonDocumentFragment368() (interface{}, error) { +func (p *parser) callonDocumentFragment103() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment368() + return p.cur.onDocumentFragment103() } -func (c *current) onDocumentFragment371() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onDocumentFragment109() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonDocumentFragment371() (interface{}, error) { +func (p *parser) callonDocumentFragment109() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment371() + return p.cur.onDocumentFragment109() } -func (c *current) onDocumentFragment359(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Fenced, len(delimiter.(string)), string(c.text)) - +func (c *current) onDocumentFragment112() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonDocumentFragment359() (interface{}, error) { +func (p *parser) callonDocumentFragment112() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment359(stack["delimiter"]) + return p.cur.onDocumentFragment112() } -func (c *current) onDocumentFragment378(start interface{}) (bool, error) { - return c.setBlockDelimiterLength(start.(*types.BlockDelimiter).Length) +func (c *current) onDocumentFragment100(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Comment, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonDocumentFragment378() (bool, error) { +func (p *parser) callonDocumentFragment100() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment378(stack["start"]) + return p.cur.onDocumentFragment100(stack["delimiter"]) } -func (c *current) onDocumentFragment390() (interface{}, error) { - // sequence of 3 "`" chars or more +func (c *current) onDocumentFragment128() (interface{}, error) { + // sequence of 4 "/" chars or more return string(c.text), nil } -func (p *parser) callonDocumentFragment390() (interface{}, error) { +func (p *parser) callonDocumentFragment128() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment390() + return p.cur.onDocumentFragment128() } -func (c *current) onDocumentFragment396() (interface{}, error) { +func (c *current) onDocumentFragment134() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentFragment396() (interface{}, error) { +func (p *parser) callonDocumentFragment134() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment396() + return p.cur.onDocumentFragment134() } -func (c *current) onDocumentFragment399() (interface{}, error) { +func (c *current) onDocumentFragment137() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonDocumentFragment399() (interface{}, error) { +func (p *parser) callonDocumentFragment137() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment399() -} - -func (c *current) onDocumentFragment387(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Fenced, len(delimiter.(string)), string(c.text)) - + return p.cur.onDocumentFragment137() } -func (p *parser) callonDocumentFragment387() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment387(stack["delimiter"]) -} +func (c *current) onDocumentFragment125(delimiter interface{}) (interface{}, error) { -func (c *current) onDocumentFragment406(end interface{}) (bool, error) { - return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) + return types.NewBlockDelimiter(types.Comment, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonDocumentFragment406() (bool, error) { +func (p *parser) callonDocumentFragment125() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment406(stack["end"]) + return p.cur.onDocumentFragment125(stack["delimiter"]) } -func (c *current) onDocumentFragment416() (interface{}, error) { +func (c *current) onDocumentFragment153() (interface{}, error) { // content is NOT mandatory return string(c.text), nil } -func (p *parser) callonDocumentFragment416() (interface{}, error) { +func (p *parser) callonDocumentFragment153() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment416() + return p.cur.onDocumentFragment153() } -func (c *current) onDocumentFragment420() (interface{}, error) { +func (c *current) onDocumentFragment157() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonDocumentFragment420() (interface{}, error) { +func (p *parser) callonDocumentFragment157() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment420() + return p.cur.onDocumentFragment157() } -func (c *current) onDocumentFragment410(content interface{}) (interface{}, error) { +func (c *current) onDocumentFragment147(content interface{}) (interface{}, error) { return types.NewRawLine(content.(string)) } -func (p *parser) callonDocumentFragment410() (interface{}, error) { +func (p *parser) callonDocumentFragment147() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment410(stack["content"]) + return p.cur.onDocumentFragment147(stack["content"]) } -func (c *current) onDocumentFragment381(line interface{}) (interface{}, error) { +func (c *current) onDocumentFragment121(line interface{}) (interface{}, error) { return line, nil } -func (p *parser) callonDocumentFragment381() (interface{}, error) { +func (p *parser) callonDocumentFragment121() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment381(stack["line"]) + return p.cur.onDocumentFragment121(stack["line"]) } -func (c *current) onDocumentFragment435() (interface{}, error) { - // sequence of 3 "`" chars or more +func (c *current) onDocumentFragment169() (interface{}, error) { + // sequence of 4 "/" chars or more return string(c.text), nil } -func (p *parser) callonDocumentFragment435() (interface{}, error) { +func (p *parser) callonDocumentFragment169() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment435() + return p.cur.onDocumentFragment169() } -func (c *current) onDocumentFragment441() (interface{}, error) { +func (c *current) onDocumentFragment175() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentFragment441() (interface{}, error) { +func (p *parser) callonDocumentFragment175() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment441() + return p.cur.onDocumentFragment175() } -func (c *current) onDocumentFragment444() (interface{}, error) { +func (c *current) onDocumentFragment178() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonDocumentFragment444() (interface{}, error) { +func (p *parser) callonDocumentFragment178() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment444() -} - -func (c *current) onDocumentFragment432(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Fenced, len(delimiter.(string)), string(c.text)) - + return p.cur.onDocumentFragment178() } -func (p *parser) callonDocumentFragment432() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment432(stack["delimiter"]) -} +func (c *current) onDocumentFragment166(delimiter interface{}) (interface{}, error) { -func (c *current) onDocumentFragment451(end interface{}) (bool, error) { - return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) + return types.NewBlockDelimiter(types.Comment, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonDocumentFragment451() (bool, error) { +func (p *parser) callonDocumentFragment166() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment451(stack["end"]) + return p.cur.onDocumentFragment166(stack["delimiter"]) } -func (c *current) onDocumentFragment356(start, content, end interface{}) (interface{}, error) { - return types.NewDelimitedBlock(types.Fenced, content.([]interface{})) +func (c *current) onDocumentFragment98(delimiter, content interface{}) (interface{}, error) { + return types.NewDelimitedBlock(types.Comment, content.([]interface{})) } -func (p *parser) callonDocumentFragment356() (interface{}, error) { +func (p *parser) callonDocumentFragment98() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment356(stack["start"], stack["content"], stack["end"]) + return p.cur.onDocumentFragment98(stack["delimiter"], stack["content"]) } -func (c *current) onDocumentFragment460() (interface{}, error) { - // sequence of 4 "-" chars or more +func (c *current) onDocumentFragment193() (interface{}, error) { + // sequence of 4 "=" chars or more return string(c.text), nil } -func (p *parser) callonDocumentFragment460() (interface{}, error) { +func (p *parser) callonDocumentFragment193() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment460() + return p.cur.onDocumentFragment193() } -func (c *current) onDocumentFragment466() (interface{}, error) { +func (c *current) onDocumentFragment199() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentFragment466() (interface{}, error) { +func (p *parser) callonDocumentFragment199() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment466() + return p.cur.onDocumentFragment199() } -func (c *current) onDocumentFragment469() (interface{}, error) { +func (c *current) onDocumentFragment202() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonDocumentFragment469() (interface{}, error) { +func (p *parser) callonDocumentFragment202() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment469() + return p.cur.onDocumentFragment202() } -func (c *current) onDocumentFragment457(delimiter interface{}) (interface{}, error) { +func (c *current) onDocumentFragment190(delimiter interface{}) (interface{}, error) { - return types.NewBlockDelimiter(types.Listing, len(delimiter.(string)), string(c.text)) + return types.NewBlockDelimiter(types.Example, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonDocumentFragment457() (interface{}, error) { +func (p *parser) callonDocumentFragment190() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment457(stack["delimiter"]) + return p.cur.onDocumentFragment190(stack["delimiter"]) } -func (c *current) onDocumentFragment476(start interface{}) (bool, error) { +func (c *current) onDocumentFragment209(start interface{}) (bool, error) { return c.setBlockDelimiterLength(start.(*types.BlockDelimiter).Length) } -func (p *parser) callonDocumentFragment476() (bool, error) { +func (p *parser) callonDocumentFragment209() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment476(stack["start"]) + return p.cur.onDocumentFragment209(stack["start"]) } -func (c *current) onDocumentFragment488() (interface{}, error) { - // sequence of 4 "-" chars or more +func (c *current) onDocumentFragment221() (interface{}, error) { + // sequence of 4 "=" chars or more return string(c.text), nil } -func (p *parser) callonDocumentFragment488() (interface{}, error) { +func (p *parser) callonDocumentFragment221() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment488() + return p.cur.onDocumentFragment221() } -func (c *current) onDocumentFragment494() (interface{}, error) { +func (c *current) onDocumentFragment227() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentFragment494() (interface{}, error) { +func (p *parser) callonDocumentFragment227() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment494() + return p.cur.onDocumentFragment227() } -func (c *current) onDocumentFragment497() (interface{}, error) { +func (c *current) onDocumentFragment230() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonDocumentFragment497() (interface{}, error) { +func (p *parser) callonDocumentFragment230() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment497() + return p.cur.onDocumentFragment230() } -func (c *current) onDocumentFragment485(delimiter interface{}) (interface{}, error) { +func (c *current) onDocumentFragment218(delimiter interface{}) (interface{}, error) { - return types.NewBlockDelimiter(types.Listing, len(delimiter.(string)), string(c.text)) + return types.NewBlockDelimiter(types.Example, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonDocumentFragment485() (interface{}, error) { +func (p *parser) callonDocumentFragment218() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment485(stack["delimiter"]) + return p.cur.onDocumentFragment218(stack["delimiter"]) } -func (c *current) onDocumentFragment504(end interface{}) (bool, error) { +func (c *current) onDocumentFragment237(end interface{}) (bool, error) { return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) } -func (p *parser) callonDocumentFragment504() (bool, error) { +func (p *parser) callonDocumentFragment237() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment504(stack["end"]) + return p.cur.onDocumentFragment237(stack["end"]) } -func (c *current) onDocumentFragment514() (interface{}, error) { +func (c *current) onDocumentFragment247() (interface{}, error) { // content is NOT mandatory return string(c.text), nil } -func (p *parser) callonDocumentFragment514() (interface{}, error) { +func (p *parser) callonDocumentFragment247() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment514() + return p.cur.onDocumentFragment247() } -func (c *current) onDocumentFragment518() (interface{}, error) { +func (c *current) onDocumentFragment251() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonDocumentFragment518() (interface{}, error) { +func (p *parser) callonDocumentFragment251() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment518() + return p.cur.onDocumentFragment251() } -func (c *current) onDocumentFragment508(content interface{}) (interface{}, error) { +func (c *current) onDocumentFragment241(content interface{}) (interface{}, error) { return types.NewRawLine(content.(string)) } -func (p *parser) callonDocumentFragment508() (interface{}, error) { +func (p *parser) callonDocumentFragment241() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment508(stack["content"]) + return p.cur.onDocumentFragment241(stack["content"]) } -func (c *current) onDocumentFragment479(line interface{}) (interface{}, error) { +func (c *current) onDocumentFragment212(line interface{}) (interface{}, error) { return line, nil } -func (p *parser) callonDocumentFragment479() (interface{}, error) { +func (p *parser) callonDocumentFragment212() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment479(stack["line"]) + return p.cur.onDocumentFragment212(stack["line"]) } -func (c *current) onDocumentFragment533() (interface{}, error) { - // sequence of 4 "-" chars or more +func (c *current) onDocumentFragment266() (interface{}, error) { + // sequence of 4 "=" chars or more return string(c.text), nil } -func (p *parser) callonDocumentFragment533() (interface{}, error) { +func (p *parser) callonDocumentFragment266() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment533() + return p.cur.onDocumentFragment266() } -func (c *current) onDocumentFragment539() (interface{}, error) { +func (c *current) onDocumentFragment272() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentFragment539() (interface{}, error) { +func (p *parser) callonDocumentFragment272() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment539() + return p.cur.onDocumentFragment272() } -func (c *current) onDocumentFragment542() (interface{}, error) { +func (c *current) onDocumentFragment275() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonDocumentFragment542() (interface{}, error) { +func (p *parser) callonDocumentFragment275() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment542() + return p.cur.onDocumentFragment275() } -func (c *current) onDocumentFragment530(delimiter interface{}) (interface{}, error) { +func (c *current) onDocumentFragment263(delimiter interface{}) (interface{}, error) { - return types.NewBlockDelimiter(types.Listing, len(delimiter.(string)), string(c.text)) + return types.NewBlockDelimiter(types.Example, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonDocumentFragment530() (interface{}, error) { +func (p *parser) callonDocumentFragment263() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment530(stack["delimiter"]) + return p.cur.onDocumentFragment263(stack["delimiter"]) } -func (c *current) onDocumentFragment549(end interface{}) (bool, error) { +func (c *current) onDocumentFragment282(end interface{}) (bool, error) { return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) } -func (p *parser) callonDocumentFragment549() (bool, error) { +func (p *parser) callonDocumentFragment282() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment549(stack["end"]) + return p.cur.onDocumentFragment282(stack["end"]) } -func (c *current) onDocumentFragment454(start, content, end interface{}) (interface{}, error) { - return types.NewDelimitedBlock(types.Listing, content.([]interface{})) +func (c *current) onDocumentFragment187(start, content, end interface{}) (interface{}, error) { + return types.NewDelimitedBlock(types.Example, content.([]interface{})) } -func (p *parser) callonDocumentFragment454() (interface{}, error) { +func (p *parser) callonDocumentFragment187() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment454(stack["start"], stack["content"], stack["end"]) + return p.cur.onDocumentFragment187(stack["start"], stack["content"], stack["end"]) } -func (c *current) onDocumentFragment558() (interface{}, error) { - // sequence of 4 "." chars or more +func (c *current) onDocumentFragment292() (interface{}, error) { + // exclude ` to avoid matching fenced blocks with more than 3 "`" delimter chars return string(c.text), nil - } -func (p *parser) callonDocumentFragment558() (interface{}, error) { +func (p *parser) callonDocumentFragment292() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment558() + return p.cur.onDocumentFragment292() } -func (c *current) onDocumentFragment564() (interface{}, error) { +func (c *current) onDocumentFragment296() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentFragment564() (interface{}, error) { +func (p *parser) callonDocumentFragment296() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment564() + return p.cur.onDocumentFragment296() } -func (c *current) onDocumentFragment567() (interface{}, error) { +func (c *current) onDocumentFragment299() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonDocumentFragment567() (interface{}, error) { +func (p *parser) callonDocumentFragment299() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment567() + return p.cur.onDocumentFragment299() } -func (c *current) onDocumentFragment555(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Listing, len(delimiter.(string)), string(c.text)) - +func (c *current) onDocumentFragment288(language interface{}) (interface{}, error) { + return types.NewMarkdownCodeBlockDelimiter(language.(string), string(c.text)) } -func (p *parser) callonDocumentFragment555() (interface{}, error) { +func (p *parser) callonDocumentFragment288() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment555(stack["delimiter"]) + return p.cur.onDocumentFragment288(stack["language"]) } -func (c *current) onDocumentFragment574(start interface{}) (bool, error) { - return c.setBlockDelimiterLength(start.(*types.BlockDelimiter).Length) +func (c *current) onDocumentFragment314() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDocumentFragment574() (bool, error) { +func (p *parser) callonDocumentFragment314() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment574(stack["start"]) + return p.cur.onDocumentFragment314() } -func (c *current) onDocumentFragment586() (interface{}, error) { - // sequence of 4 "." chars or more +func (c *current) onDocumentFragment317() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonDocumentFragment586() (interface{}, error) { +func (p *parser) callonDocumentFragment317() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment586() + return p.cur.onDocumentFragment317() } -func (c *current) onDocumentFragment592() (interface{}, error) { +func (c *current) onDocumentFragment331() (interface{}, error) { + // content is NOT mandatory return string(c.text), nil } -func (p *parser) callonDocumentFragment592() (interface{}, error) { +func (p *parser) callonDocumentFragment331() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment592() + return p.cur.onDocumentFragment331() } -func (c *current) onDocumentFragment595() (interface{}, error) { +func (c *current) onDocumentFragment335() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonDocumentFragment595() (interface{}, error) { +func (p *parser) callonDocumentFragment335() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment595() + return p.cur.onDocumentFragment335() } -func (c *current) onDocumentFragment583(delimiter interface{}) (interface{}, error) { +func (c *current) onDocumentFragment325(content interface{}) (interface{}, error) { - return types.NewBlockDelimiter(types.Listing, len(delimiter.(string)), string(c.text)) + return types.NewRawLine(content.(string)) } -func (p *parser) callonDocumentFragment583() (interface{}, error) { +func (p *parser) callonDocumentFragment325() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment583(stack["delimiter"]) + return p.cur.onDocumentFragment325(stack["content"]) } -func (c *current) onDocumentFragment602(end interface{}) (bool, error) { - return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) +func (c *current) onDocumentFragment308(line interface{}) (interface{}, error) { + return line, nil } -func (p *parser) callonDocumentFragment602() (bool, error) { +func (p *parser) callonDocumentFragment308() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment602(stack["end"]) + return p.cur.onDocumentFragment308(stack["line"]) } -func (c *current) onDocumentFragment612() (interface{}, error) { - // content is NOT mandatory +func (c *current) onDocumentFragment346() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentFragment612() (interface{}, error) { +func (p *parser) callonDocumentFragment346() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment612() + return p.cur.onDocumentFragment346() } -func (c *current) onDocumentFragment616() (interface{}, error) { +func (c *current) onDocumentFragment349() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonDocumentFragment616() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment616() -} - -func (c *current) onDocumentFragment606(content interface{}) (interface{}, error) { - - return types.NewRawLine(content.(string)) - -} - -func (p *parser) callonDocumentFragment606() (interface{}, error) { +func (p *parser) callonDocumentFragment349() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment606(stack["content"]) + return p.cur.onDocumentFragment349() } -func (c *current) onDocumentFragment577(line interface{}) (interface{}, error) { - return line, nil +func (c *current) onDocumentFragment285(delimiter, content interface{}) (interface{}, error) { + // Markdown code with fences is a "listing/source" block in Asciidoc + b, err := types.NewDelimitedBlock(types.Listing, content.([]interface{})) + b.AddAttributes(delimiter.(*types.BlockDelimiter).Attributes) + return b, err } -func (p *parser) callonDocumentFragment577() (interface{}, error) { +func (p *parser) callonDocumentFragment285() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment577(stack["line"]) + return p.cur.onDocumentFragment285(stack["delimiter"], stack["content"]) } -func (c *current) onDocumentFragment631() (interface{}, error) { - // sequence of 4 "." chars or more +func (c *current) onDocumentFragment362() (interface{}, error) { + // sequence of 3 "`" chars or more return string(c.text), nil } -func (p *parser) callonDocumentFragment631() (interface{}, error) { +func (p *parser) callonDocumentFragment362() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment631() + return p.cur.onDocumentFragment362() } -func (c *current) onDocumentFragment637() (interface{}, error) { +func (c *current) onDocumentFragment368() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentFragment637() (interface{}, error) { +func (p *parser) callonDocumentFragment368() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment637() + return p.cur.onDocumentFragment368() } -func (c *current) onDocumentFragment640() (interface{}, error) { +func (c *current) onDocumentFragment371() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonDocumentFragment640() (interface{}, error) { +func (p *parser) callonDocumentFragment371() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment640() + return p.cur.onDocumentFragment371() } -func (c *current) onDocumentFragment628(delimiter interface{}) (interface{}, error) { +func (c *current) onDocumentFragment359(delimiter interface{}) (interface{}, error) { - return types.NewBlockDelimiter(types.Listing, len(delimiter.(string)), string(c.text)) + return types.NewBlockDelimiter(types.Fenced, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonDocumentFragment628() (interface{}, error) { +func (p *parser) callonDocumentFragment359() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment628(stack["delimiter"]) + return p.cur.onDocumentFragment359(stack["delimiter"]) } -func (c *current) onDocumentFragment647(end interface{}) (bool, error) { - return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) +func (c *current) onDocumentFragment378(start interface{}) (bool, error) { + return c.setBlockDelimiterLength(start.(*types.BlockDelimiter).Length) } -func (p *parser) callonDocumentFragment647() (bool, error) { +func (p *parser) callonDocumentFragment378() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment647(stack["end"]) + return p.cur.onDocumentFragment378(stack["start"]) } -func (c *current) onDocumentFragment552(start, content, end interface{}) (interface{}, error) { - return types.NewDelimitedBlock(types.Literal, content.([]interface{})) +func (c *current) onDocumentFragment390() (interface{}, error) { + // sequence of 3 "`" chars or more + return string(c.text), nil } -func (p *parser) callonDocumentFragment552() (interface{}, error) { +func (p *parser) callonDocumentFragment390() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment552(stack["start"], stack["content"], stack["end"]) + return p.cur.onDocumentFragment390() } -func (c *current) onDocumentFragment662() (interface{}, error) { +func (c *current) onDocumentFragment396() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentFragment662() (interface{}, error) { +func (p *parser) callonDocumentFragment396() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment662() + return p.cur.onDocumentFragment396() } -func (c *current) onDocumentFragment665() (interface{}, error) { +func (c *current) onDocumentFragment399() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonDocumentFragment665() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment665() -} - -func (c *current) onDocumentFragment656() (interface{}, error) { - return types.NewBlankLine() - -} - -func (p *parser) callonDocumentFragment656() (interface{}, error) { +func (p *parser) callonDocumentFragment399() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment656() + return p.cur.onDocumentFragment399() } -func (c *current) onDocumentFragment674() (interface{}, error) { - - return string(c.text), nil - -} +func (c *current) onDocumentFragment387(delimiter interface{}) (interface{}, error) { -func (p *parser) callonDocumentFragment674() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment674() -} + return types.NewBlockDelimiter(types.Fenced, len(delimiter.(string)), string(c.text)) -func (c *current) onDocumentFragment678() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil } -func (p *parser) callonDocumentFragment678() (interface{}, error) { +func (p *parser) callonDocumentFragment387() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment678() + return p.cur.onDocumentFragment387(stack["delimiter"]) } -func (c *current) onDocumentFragment653(content interface{}) (interface{}, error) { - return types.NewRawLine(content.(string)) +func (c *current) onDocumentFragment406(end interface{}) (bool, error) { + return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) } -func (p *parser) callonDocumentFragment653() (interface{}, error) { +func (p *parser) callonDocumentFragment406() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment653(stack["content"]) + return p.cur.onDocumentFragment406(stack["end"]) } -func (c *current) onDocumentFragment697() (interface{}, error) { +func (c *current) onDocumentFragment416() (interface{}, error) { + // content is NOT mandatory return string(c.text), nil } -func (p *parser) callonDocumentFragment697() (interface{}, error) { +func (p *parser) callonDocumentFragment416() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment697() + return p.cur.onDocumentFragment416() } -func (c *current) onDocumentFragment700() (interface{}, error) { +func (c *current) onDocumentFragment420() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonDocumentFragment700() (interface{}, error) { +func (p *parser) callonDocumentFragment420() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment700() + return p.cur.onDocumentFragment420() } -func (c *current) onDocumentFragment691() (interface{}, error) { - return types.NewBlankLine() +func (c *current) onDocumentFragment410(content interface{}) (interface{}, error) { + + return types.NewRawLine(content.(string)) } -func (p *parser) callonDocumentFragment691() (interface{}, error) { +func (p *parser) callonDocumentFragment410() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment691() + return p.cur.onDocumentFragment410(stack["content"]) } -func (c *current) onDocumentFragment709() (interface{}, error) { - - return string(c.text), nil +func (c *current) onDocumentFragment381(line interface{}) (interface{}, error) { + return line, nil } -func (p *parser) callonDocumentFragment709() (interface{}, error) { +func (p *parser) callonDocumentFragment381() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment709() + return p.cur.onDocumentFragment381(stack["line"]) } -func (c *current) onDocumentFragment713() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onDocumentFragment435() (interface{}, error) { + // sequence of 3 "`" chars or more return string(c.text), nil + } -func (p *parser) callonDocumentFragment713() (interface{}, error) { +func (p *parser) callonDocumentFragment435() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment713() + return p.cur.onDocumentFragment435() } -func (c *current) onDocumentFragment688(content interface{}) (interface{}, error) { - return types.NewRawLine(content.(string)) +func (c *current) onDocumentFragment441() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDocumentFragment688() (interface{}, error) { +func (p *parser) callonDocumentFragment441() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment688(stack["content"]) + return p.cur.onDocumentFragment441() } -func (c *current) onDocumentFragment723() (interface{}, error) { - return strings.TrimRight(string(c.text), " \t"), nil // trim spaces and tabs - +func (c *current) onDocumentFragment444() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonDocumentFragment723() (interface{}, error) { +func (p *parser) callonDocumentFragment444() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment723() + return p.cur.onDocumentFragment444() } -func (c *current) onDocumentFragment726(content interface{}) (bool, error) { - return len(strings.TrimSpace(content.(string))) > 0, nil - -} +func (c *current) onDocumentFragment432(delimiter interface{}) (interface{}, error) { -func (p *parser) callonDocumentFragment726() (bool, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment726(stack["content"]) -} + return types.NewBlockDelimiter(types.Fenced, len(delimiter.(string)), string(c.text)) -func (c *current) onDocumentFragment728() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil } -func (p *parser) callonDocumentFragment728() (interface{}, error) { +func (p *parser) callonDocumentFragment432() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment728() + return p.cur.onDocumentFragment432(stack["delimiter"]) } -func (c *current) onDocumentFragment720(content interface{}) (interface{}, error) { - return types.NewRawLine(content.(string)) +func (c *current) onDocumentFragment451(end interface{}) (bool, error) { + return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) } -func (p *parser) callonDocumentFragment720() (interface{}, error) { +func (p *parser) callonDocumentFragment451() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment720(stack["content"]) + return p.cur.onDocumentFragment451(stack["end"]) } -func (c *current) onDocumentFragment650(firstLine, otherLines interface{}) (interface{}, error) { - return types.NewDelimitedBlock(types.MarkdownQuote, append([]interface{}{firstLine}, otherLines.([]interface{})...)) +func (c *current) onDocumentFragment356(start, content, end interface{}) (interface{}, error) { + return types.NewDelimitedBlock(types.Fenced, content.([]interface{})) } -func (p *parser) callonDocumentFragment650() (interface{}, error) { +func (p *parser) callonDocumentFragment356() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment650(stack["firstLine"], stack["otherLines"]) + return p.cur.onDocumentFragment356(stack["start"], stack["content"], stack["end"]) } -func (c *current) onDocumentFragment741() (interface{}, error) { - // sequence of 4 "+" chars or more +func (c *current) onDocumentFragment460() (interface{}, error) { + // sequence of 4 "-" chars or more return string(c.text), nil } -func (p *parser) callonDocumentFragment741() (interface{}, error) { +func (p *parser) callonDocumentFragment460() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment741() + return p.cur.onDocumentFragment460() } -func (c *current) onDocumentFragment747() (interface{}, error) { +func (c *current) onDocumentFragment466() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentFragment747() (interface{}, error) { +func (p *parser) callonDocumentFragment466() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment747() + return p.cur.onDocumentFragment466() } -func (c *current) onDocumentFragment750() (interface{}, error) { +func (c *current) onDocumentFragment469() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonDocumentFragment750() (interface{}, error) { +func (p *parser) callonDocumentFragment469() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment750() + return p.cur.onDocumentFragment469() } -func (c *current) onDocumentFragment738(delimiter interface{}) (interface{}, error) { +func (c *current) onDocumentFragment457(delimiter interface{}) (interface{}, error) { - return types.NewBlockDelimiter(types.Passthrough, len(delimiter.(string)), string(c.text)) + return types.NewBlockDelimiter(types.Listing, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonDocumentFragment738() (interface{}, error) { +func (p *parser) callonDocumentFragment457() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment738(stack["delimiter"]) + return p.cur.onDocumentFragment457(stack["delimiter"]) } -func (c *current) onDocumentFragment757(start interface{}) (bool, error) { +func (c *current) onDocumentFragment476(start interface{}) (bool, error) { return c.setBlockDelimiterLength(start.(*types.BlockDelimiter).Length) } -func (p *parser) callonDocumentFragment757() (bool, error) { +func (p *parser) callonDocumentFragment476() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment757(stack["start"]) + return p.cur.onDocumentFragment476(stack["start"]) } -func (c *current) onDocumentFragment769() (interface{}, error) { - // sequence of 4 "+" chars or more +func (c *current) onDocumentFragment488() (interface{}, error) { + // sequence of 4 "-" chars or more return string(c.text), nil } -func (p *parser) callonDocumentFragment769() (interface{}, error) { +func (p *parser) callonDocumentFragment488() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment769() + return p.cur.onDocumentFragment488() } -func (c *current) onDocumentFragment775() (interface{}, error) { +func (c *current) onDocumentFragment494() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentFragment775() (interface{}, error) { +func (p *parser) callonDocumentFragment494() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment775() + return p.cur.onDocumentFragment494() } -func (c *current) onDocumentFragment778() (interface{}, error) { +func (c *current) onDocumentFragment497() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonDocumentFragment778() (interface{}, error) { +func (p *parser) callonDocumentFragment497() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment778() + return p.cur.onDocumentFragment497() } -func (c *current) onDocumentFragment766(delimiter interface{}) (interface{}, error) { +func (c *current) onDocumentFragment485(delimiter interface{}) (interface{}, error) { - return types.NewBlockDelimiter(types.Passthrough, len(delimiter.(string)), string(c.text)) + return types.NewBlockDelimiter(types.Listing, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonDocumentFragment766() (interface{}, error) { +func (p *parser) callonDocumentFragment485() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment766(stack["delimiter"]) + return p.cur.onDocumentFragment485(stack["delimiter"]) } -func (c *current) onDocumentFragment785(end interface{}) (bool, error) { +func (c *current) onDocumentFragment504(end interface{}) (bool, error) { return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) } -func (p *parser) callonDocumentFragment785() (bool, error) { +func (p *parser) callonDocumentFragment504() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment785(stack["end"]) + return p.cur.onDocumentFragment504(stack["end"]) } -func (c *current) onDocumentFragment795() (interface{}, error) { +func (c *current) onDocumentFragment514() (interface{}, error) { // content is NOT mandatory return string(c.text), nil } -func (p *parser) callonDocumentFragment795() (interface{}, error) { +func (p *parser) callonDocumentFragment514() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment795() + return p.cur.onDocumentFragment514() } -func (c *current) onDocumentFragment799() (interface{}, error) { +func (c *current) onDocumentFragment518() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonDocumentFragment799() (interface{}, error) { +func (p *parser) callonDocumentFragment518() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment799() + return p.cur.onDocumentFragment518() } -func (c *current) onDocumentFragment789(content interface{}) (interface{}, error) { +func (c *current) onDocumentFragment508(content interface{}) (interface{}, error) { return types.NewRawLine(content.(string)) } -func (p *parser) callonDocumentFragment789() (interface{}, error) { +func (p *parser) callonDocumentFragment508() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment789(stack["content"]) + return p.cur.onDocumentFragment508(stack["content"]) } -func (c *current) onDocumentFragment760(line interface{}) (interface{}, error) { +func (c *current) onDocumentFragment479(line interface{}) (interface{}, error) { return line, nil } -func (p *parser) callonDocumentFragment760() (interface{}, error) { +func (p *parser) callonDocumentFragment479() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment760(stack["line"]) + return p.cur.onDocumentFragment479(stack["line"]) } -func (c *current) onDocumentFragment814() (interface{}, error) { - // sequence of 4 "+" chars or more +func (c *current) onDocumentFragment533() (interface{}, error) { + // sequence of 4 "-" chars or more return string(c.text), nil } -func (p *parser) callonDocumentFragment814() (interface{}, error) { +func (p *parser) callonDocumentFragment533() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment814() + return p.cur.onDocumentFragment533() } -func (c *current) onDocumentFragment820() (interface{}, error) { +func (c *current) onDocumentFragment539() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentFragment820() (interface{}, error) { +func (p *parser) callonDocumentFragment539() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment820() + return p.cur.onDocumentFragment539() } -func (c *current) onDocumentFragment823() (interface{}, error) { +func (c *current) onDocumentFragment542() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonDocumentFragment823() (interface{}, error) { +func (p *parser) callonDocumentFragment542() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment823() + return p.cur.onDocumentFragment542() } -func (c *current) onDocumentFragment811(delimiter interface{}) (interface{}, error) { +func (c *current) onDocumentFragment530(delimiter interface{}) (interface{}, error) { - return types.NewBlockDelimiter(types.Passthrough, len(delimiter.(string)), string(c.text)) + return types.NewBlockDelimiter(types.Listing, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonDocumentFragment811() (interface{}, error) { +func (p *parser) callonDocumentFragment530() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment811(stack["delimiter"]) + return p.cur.onDocumentFragment530(stack["delimiter"]) } -func (c *current) onDocumentFragment830(end interface{}) (bool, error) { +func (c *current) onDocumentFragment549(end interface{}) (bool, error) { return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) } -func (p *parser) callonDocumentFragment830() (bool, error) { +func (p *parser) callonDocumentFragment549() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment830(stack["end"]) + return p.cur.onDocumentFragment549(stack["end"]) } -func (c *current) onDocumentFragment735(start, content, end interface{}) (interface{}, error) { - return types.NewDelimitedBlock(types.Passthrough, content.([]interface{})) +func (c *current) onDocumentFragment454(start, content, end interface{}) (interface{}, error) { + return types.NewDelimitedBlock(types.Listing, content.([]interface{})) } -func (p *parser) callonDocumentFragment735() (interface{}, error) { +func (p *parser) callonDocumentFragment454() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment735(stack["start"], stack["content"], stack["end"]) + return p.cur.onDocumentFragment454(stack["start"], stack["content"], stack["end"]) } -func (c *current) onDocumentFragment839() (interface{}, error) { - // sequence of 4 "_" chars or more +func (c *current) onDocumentFragment558() (interface{}, error) { + // sequence of 4 "." chars or more return string(c.text), nil } -func (p *parser) callonDocumentFragment839() (interface{}, error) { +func (p *parser) callonDocumentFragment558() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment839() + return p.cur.onDocumentFragment558() } -func (c *current) onDocumentFragment845() (interface{}, error) { +func (c *current) onDocumentFragment564() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentFragment845() (interface{}, error) { +func (p *parser) callonDocumentFragment564() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment845() + return p.cur.onDocumentFragment564() } -func (c *current) onDocumentFragment848() (interface{}, error) { +func (c *current) onDocumentFragment567() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonDocumentFragment848() (interface{}, error) { +func (p *parser) callonDocumentFragment567() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment848() + return p.cur.onDocumentFragment567() } -func (c *current) onDocumentFragment836(delimiter interface{}) (interface{}, error) { +func (c *current) onDocumentFragment555(delimiter interface{}) (interface{}, error) { - return types.NewBlockDelimiter(types.Quote, len(delimiter.(string)), string(c.text)) + return types.NewBlockDelimiter(types.Listing, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonDocumentFragment836() (interface{}, error) { +func (p *parser) callonDocumentFragment555() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment836(stack["delimiter"]) + return p.cur.onDocumentFragment555(stack["delimiter"]) } -func (c *current) onDocumentFragment855(start interface{}) (bool, error) { +func (c *current) onDocumentFragment574(start interface{}) (bool, error) { return c.setBlockDelimiterLength(start.(*types.BlockDelimiter).Length) } -func (p *parser) callonDocumentFragment855() (bool, error) { +func (p *parser) callonDocumentFragment574() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment855(stack["start"]) + return p.cur.onDocumentFragment574(stack["start"]) } -func (c *current) onDocumentFragment867() (interface{}, error) { - // sequence of 4 "_" chars or more +func (c *current) onDocumentFragment586() (interface{}, error) { + // sequence of 4 "." chars or more return string(c.text), nil } -func (p *parser) callonDocumentFragment867() (interface{}, error) { +func (p *parser) callonDocumentFragment586() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment867() + return p.cur.onDocumentFragment586() } -func (c *current) onDocumentFragment873() (interface{}, error) { +func (c *current) onDocumentFragment592() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentFragment873() (interface{}, error) { +func (p *parser) callonDocumentFragment592() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment873() + return p.cur.onDocumentFragment592() } -func (c *current) onDocumentFragment876() (interface{}, error) { +func (c *current) onDocumentFragment595() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonDocumentFragment876() (interface{}, error) { +func (p *parser) callonDocumentFragment595() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment876() + return p.cur.onDocumentFragment595() } -func (c *current) onDocumentFragment864(delimiter interface{}) (interface{}, error) { +func (c *current) onDocumentFragment583(delimiter interface{}) (interface{}, error) { - return types.NewBlockDelimiter(types.Quote, len(delimiter.(string)), string(c.text)) + return types.NewBlockDelimiter(types.Listing, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonDocumentFragment864() (interface{}, error) { +func (p *parser) callonDocumentFragment583() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment864(stack["delimiter"]) + return p.cur.onDocumentFragment583(stack["delimiter"]) } -func (c *current) onDocumentFragment883(end interface{}) (bool, error) { +func (c *current) onDocumentFragment602(end interface{}) (bool, error) { return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) } -func (p *parser) callonDocumentFragment883() (bool, error) { +func (p *parser) callonDocumentFragment602() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment883(stack["end"]) + return p.cur.onDocumentFragment602(stack["end"]) } -func (c *current) onDocumentFragment893() (interface{}, error) { +func (c *current) onDocumentFragment612() (interface{}, error) { // content is NOT mandatory return string(c.text), nil } -func (p *parser) callonDocumentFragment893() (interface{}, error) { +func (p *parser) callonDocumentFragment612() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment893() + return p.cur.onDocumentFragment612() } -func (c *current) onDocumentFragment897() (interface{}, error) { +func (c *current) onDocumentFragment616() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonDocumentFragment897() (interface{}, error) { +func (p *parser) callonDocumentFragment616() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment897() + return p.cur.onDocumentFragment616() } -func (c *current) onDocumentFragment887(content interface{}) (interface{}, error) { +func (c *current) onDocumentFragment606(content interface{}) (interface{}, error) { return types.NewRawLine(content.(string)) } -func (p *parser) callonDocumentFragment887() (interface{}, error) { +func (p *parser) callonDocumentFragment606() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment887(stack["content"]) + return p.cur.onDocumentFragment606(stack["content"]) } -func (c *current) onDocumentFragment858(line interface{}) (interface{}, error) { +func (c *current) onDocumentFragment577(line interface{}) (interface{}, error) { return line, nil } -func (p *parser) callonDocumentFragment858() (interface{}, error) { +func (p *parser) callonDocumentFragment577() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment858(stack["line"]) + return p.cur.onDocumentFragment577(stack["line"]) } -func (c *current) onDocumentFragment912() (interface{}, error) { - // sequence of 4 "_" chars or more +func (c *current) onDocumentFragment631() (interface{}, error) { + // sequence of 4 "." chars or more return string(c.text), nil } -func (p *parser) callonDocumentFragment912() (interface{}, error) { +func (p *parser) callonDocumentFragment631() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment912() + return p.cur.onDocumentFragment631() } -func (c *current) onDocumentFragment918() (interface{}, error) { +func (c *current) onDocumentFragment637() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentFragment918() (interface{}, error) { +func (p *parser) callonDocumentFragment637() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment918() + return p.cur.onDocumentFragment637() } -func (c *current) onDocumentFragment921() (interface{}, error) { +func (c *current) onDocumentFragment640() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonDocumentFragment921() (interface{}, error) { +func (p *parser) callonDocumentFragment640() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment921() + return p.cur.onDocumentFragment640() } -func (c *current) onDocumentFragment909(delimiter interface{}) (interface{}, error) { +func (c *current) onDocumentFragment628(delimiter interface{}) (interface{}, error) { - return types.NewBlockDelimiter(types.Quote, len(delimiter.(string)), string(c.text)) + return types.NewBlockDelimiter(types.Listing, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonDocumentFragment909() (interface{}, error) { +func (p *parser) callonDocumentFragment628() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment909(stack["delimiter"]) + return p.cur.onDocumentFragment628(stack["delimiter"]) } -func (c *current) onDocumentFragment928(end interface{}) (bool, error) { +func (c *current) onDocumentFragment647(end interface{}) (bool, error) { return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) } -func (p *parser) callonDocumentFragment928() (bool, error) { +func (p *parser) callonDocumentFragment647() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment928(stack["end"]) + return p.cur.onDocumentFragment647(stack["end"]) } -func (c *current) onDocumentFragment833(start, content, end interface{}) (interface{}, error) { - return types.NewDelimitedBlock(types.Quote, content.([]interface{})) +func (c *current) onDocumentFragment552(start, content, end interface{}) (interface{}, error) { + return types.NewDelimitedBlock(types.Literal, content.([]interface{})) } -func (p *parser) callonDocumentFragment833() (interface{}, error) { +func (p *parser) callonDocumentFragment552() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment833(stack["start"], stack["content"], stack["end"]) + return p.cur.onDocumentFragment552(stack["start"], stack["content"], stack["end"]) } -func (c *current) onDocumentFragment937() (interface{}, error) { - // sequence of 4 "*" chars or more +func (c *current) onDocumentFragment662() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentFragment937() (interface{}, error) { +func (p *parser) callonDocumentFragment662() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment937() + return p.cur.onDocumentFragment662() } -func (c *current) onDocumentFragment943() (interface{}, error) { +func (c *current) onDocumentFragment665() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonDocumentFragment943() (interface{}, error) { +func (p *parser) callonDocumentFragment665() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment943() + return p.cur.onDocumentFragment665() } -func (c *current) onDocumentFragment946() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onDocumentFragment656() (interface{}, error) { + return types.NewBlankLine() + } -func (p *parser) callonDocumentFragment946() (interface{}, error) { +func (p *parser) callonDocumentFragment656() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment946() + return p.cur.onDocumentFragment656() } -func (c *current) onDocumentFragment934(delimiter interface{}) (interface{}, error) { +func (c *current) onDocumentFragment674() (interface{}, error) { - return types.NewBlockDelimiter(types.Sidebar, len(delimiter.(string)), string(c.text)) + return string(c.text), nil } -func (p *parser) callonDocumentFragment934() (interface{}, error) { +func (p *parser) callonDocumentFragment674() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment934(stack["delimiter"]) + return p.cur.onDocumentFragment674() } -func (c *current) onDocumentFragment953(start interface{}) (bool, error) { - return c.setBlockDelimiterLength(start.(*types.BlockDelimiter).Length) - +func (c *current) onDocumentFragment678() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonDocumentFragment953() (bool, error) { +func (p *parser) callonDocumentFragment678() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment953(stack["start"]) + return p.cur.onDocumentFragment678() } -func (c *current) onDocumentFragment965() (interface{}, error) { - // sequence of 4 "*" chars or more - return string(c.text), nil +func (c *current) onDocumentFragment653(content interface{}) (interface{}, error) { + return types.NewRawLine(content.(string)) } -func (p *parser) callonDocumentFragment965() (interface{}, error) { +func (p *parser) callonDocumentFragment653() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment965() + return p.cur.onDocumentFragment653(stack["content"]) } -func (c *current) onDocumentFragment971() (interface{}, error) { +func (c *current) onDocumentFragment697() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentFragment971() (interface{}, error) { +func (p *parser) callonDocumentFragment697() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment971() + return p.cur.onDocumentFragment697() } -func (c *current) onDocumentFragment974() (interface{}, error) { +func (c *current) onDocumentFragment700() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonDocumentFragment974() (interface{}, error) { +func (p *parser) callonDocumentFragment700() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment974() + return p.cur.onDocumentFragment700() } -func (c *current) onDocumentFragment962(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Sidebar, len(delimiter.(string)), string(c.text)) +func (c *current) onDocumentFragment691() (interface{}, error) { + return types.NewBlankLine() } -func (p *parser) callonDocumentFragment962() (interface{}, error) { +func (p *parser) callonDocumentFragment691() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment962(stack["delimiter"]) -} - -func (c *current) onDocumentFragment981(end interface{}) (bool, error) { - return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) - + return p.cur.onDocumentFragment691() } -func (p *parser) callonDocumentFragment981() (bool, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment981(stack["end"]) -} +func (c *current) onDocumentFragment709() (interface{}, error) { -func (c *current) onDocumentFragment991() (interface{}, error) { - // content is NOT mandatory return string(c.text), nil } -func (p *parser) callonDocumentFragment991() (interface{}, error) { +func (p *parser) callonDocumentFragment709() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment991() + return p.cur.onDocumentFragment709() } -func (c *current) onDocumentFragment995() (interface{}, error) { +func (c *current) onDocumentFragment713() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonDocumentFragment995() (interface{}, error) { +func (p *parser) callonDocumentFragment713() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment995() + return p.cur.onDocumentFragment713() } -func (c *current) onDocumentFragment985(content interface{}) (interface{}, error) { - +func (c *current) onDocumentFragment688(content interface{}) (interface{}, error) { return types.NewRawLine(content.(string)) } -func (p *parser) callonDocumentFragment985() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment985(stack["content"]) -} - -func (c *current) onDocumentFragment956(line interface{}) (interface{}, error) { - return line, nil - -} - -func (p *parser) callonDocumentFragment956() (interface{}, error) { +func (p *parser) callonDocumentFragment688() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment956(stack["line"]) + return p.cur.onDocumentFragment688(stack["content"]) } -func (c *current) onDocumentFragment1010() (interface{}, error) { - // sequence of 4 "*" chars or more - return string(c.text), nil +func (c *current) onDocumentFragment723() (interface{}, error) { + return strings.TrimRight(string(c.text), " \t"), nil // trim spaces and tabs } -func (p *parser) callonDocumentFragment1010() (interface{}, error) { +func (p *parser) callonDocumentFragment723() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1010() + return p.cur.onDocumentFragment723() } -func (c *current) onDocumentFragment1016() (interface{}, error) { - return string(c.text), nil +func (c *current) onDocumentFragment726(content interface{}) (bool, error) { + return len(strings.TrimSpace(content.(string))) > 0, nil } -func (p *parser) callonDocumentFragment1016() (interface{}, error) { +func (p *parser) callonDocumentFragment726() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1016() + return p.cur.onDocumentFragment726(stack["content"]) } -func (c *current) onDocumentFragment1019() (interface{}, error) { +func (c *current) onDocumentFragment728() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonDocumentFragment1019() (interface{}, error) { +func (p *parser) callonDocumentFragment728() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1019() + return p.cur.onDocumentFragment728() } -func (c *current) onDocumentFragment1007(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Sidebar, len(delimiter.(string)), string(c.text)) +func (c *current) onDocumentFragment720(content interface{}) (interface{}, error) { + return types.NewRawLine(content.(string)) } -func (p *parser) callonDocumentFragment1007() (interface{}, error) { +func (p *parser) callonDocumentFragment720() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1007(stack["delimiter"]) + return p.cur.onDocumentFragment720(stack["content"]) } -func (c *current) onDocumentFragment1026(end interface{}) (bool, error) { - return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) +func (c *current) onDocumentFragment650(firstLine, otherLines interface{}) (interface{}, error) { + return types.NewDelimitedBlock(types.MarkdownQuote, append([]interface{}{firstLine}, otherLines.([]interface{})...)) } -func (p *parser) callonDocumentFragment1026() (bool, error) { +func (p *parser) callonDocumentFragment650() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1026(stack["end"]) + return p.cur.onDocumentFragment650(stack["firstLine"], stack["otherLines"]) } -func (c *current) onDocumentFragment931(start, content, end interface{}) (interface{}, error) { - return types.NewDelimitedBlock(types.Sidebar, content.([]interface{})) +func (c *current) onDocumentFragment741() (interface{}, error) { + // sequence of 4 "+" chars or more + return string(c.text), nil } -func (p *parser) callonDocumentFragment931() (interface{}, error) { +func (p *parser) callonDocumentFragment741() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment931(stack["start"], stack["content"], stack["end"]) + return p.cur.onDocumentFragment741() } -func (c *current) onDocumentFragment1040() (interface{}, error) { +func (c *current) onDocumentFragment747() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentFragment1040() (interface{}, error) { +func (p *parser) callonDocumentFragment747() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1040() + return p.cur.onDocumentFragment747() } -func (c *current) onDocumentFragment1043() (interface{}, error) { +func (c *current) onDocumentFragment750() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonDocumentFragment1043() (interface{}, error) { +func (p *parser) callonDocumentFragment750() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1043() + return p.cur.onDocumentFragment750() } -func (c *current) onDocumentFragment1051() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onDocumentFragment738(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Passthrough, len(delimiter.(string)), string(c.text)) + } -func (p *parser) callonDocumentFragment1051() (interface{}, error) { +func (p *parser) callonDocumentFragment738() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1051() + return p.cur.onDocumentFragment738(stack["delimiter"]) } -func (c *current) onDocumentFragment1029() (interface{}, error) { - - return types.NewThematicBreak() +func (c *current) onDocumentFragment757(start interface{}) (bool, error) { + return c.setBlockDelimiterLength(start.(*types.BlockDelimiter).Length) } -func (p *parser) callonDocumentFragment1029() (interface{}, error) { +func (p *parser) callonDocumentFragment757() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1029() + return p.cur.onDocumentFragment757(stack["start"]) } -func (c *current) onDocumentFragment1063() (interface{}, error) { +func (c *current) onDocumentFragment769() (interface{}, error) { + // sequence of 4 "+" chars or more return string(c.text), nil } -func (p *parser) callonDocumentFragment1063() (interface{}, error) { +func (p *parser) callonDocumentFragment769() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1063() + return p.cur.onDocumentFragment769() } -func (c *current) onDocumentFragment1066() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onDocumentFragment775() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonDocumentFragment1066() (interface{}, error) { +func (p *parser) callonDocumentFragment775() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1066() + return p.cur.onDocumentFragment775() } -func (c *current) onDocumentFragment1083() (interface{}, error) { +func (c *current) onDocumentFragment778() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonDocumentFragment1083() (interface{}, error) { +func (p *parser) callonDocumentFragment778() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1083() + return p.cur.onDocumentFragment778() } -func (c *current) onDocumentFragment1089() (interface{}, error) { - return string(c.text), nil +func (c *current) onDocumentFragment766(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Passthrough, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonDocumentFragment1089() (interface{}, error) { +func (p *parser) callonDocumentFragment766() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1089() + return p.cur.onDocumentFragment766(stack["delimiter"]) } -func (c *current) onDocumentFragment1087(content interface{}) (interface{}, error) { - return types.NewRawContent(content.(string)) +func (c *current) onDocumentFragment785(end interface{}) (bool, error) { + return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) } -func (p *parser) callonDocumentFragment1087() (interface{}, error) { +func (p *parser) callonDocumentFragment785() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1087(stack["content"]) + return p.cur.onDocumentFragment785(stack["end"]) } -func (c *current) onDocumentFragment1079(content interface{}) (interface{}, error) { - return types.NewTableCell(content.(types.RawContent)) +func (c *current) onDocumentFragment795() (interface{}, error) { + // content is NOT mandatory + return string(c.text), nil } -func (p *parser) callonDocumentFragment1079() (interface{}, error) { +func (p *parser) callonDocumentFragment795() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1079(stack["content"]) + return p.cur.onDocumentFragment795() } -func (c *current) onDocumentFragment1093() (interface{}, error) { +func (c *current) onDocumentFragment799() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonDocumentFragment1093() (interface{}, error) { +func (p *parser) callonDocumentFragment799() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1093() + return p.cur.onDocumentFragment799() } -func (c *current) onDocumentFragment1107() (interface{}, error) { - return string(c.text), nil - -} +func (c *current) onDocumentFragment789(content interface{}) (interface{}, error) { -func (p *parser) callonDocumentFragment1107() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment1107() -} + return types.NewRawLine(content.(string)) -func (c *current) onDocumentFragment1110() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil } -func (p *parser) callonDocumentFragment1110() (interface{}, error) { +func (p *parser) callonDocumentFragment789() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1110() + return p.cur.onDocumentFragment789(stack["content"]) } -func (c *current) onDocumentFragment1101() (interface{}, error) { - return types.NewBlankLine() +func (c *current) onDocumentFragment760(line interface{}) (interface{}, error) { + return line, nil } -func (p *parser) callonDocumentFragment1101() (interface{}, error) { +func (p *parser) callonDocumentFragment760() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1101() + return p.cur.onDocumentFragment760(stack["line"]) } -func (c *current) onDocumentFragment1075(cells interface{}) (interface{}, error) { - return types.NewTableRow(cells.([]interface{})) +func (c *current) onDocumentFragment814() (interface{}, error) { + // sequence of 4 "+" chars or more + return string(c.text), nil } -func (p *parser) callonDocumentFragment1075() (interface{}, error) { +func (p *parser) callonDocumentFragment814() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1075(stack["cells"]) + return p.cur.onDocumentFragment814() } -func (c *current) onDocumentFragment1127() (interface{}, error) { +func (c *current) onDocumentFragment820() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentFragment1127() (interface{}, error) { +func (p *parser) callonDocumentFragment820() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1127() + return p.cur.onDocumentFragment820() } -func (c *current) onDocumentFragment1130() (interface{}, error) { +func (c *current) onDocumentFragment823() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonDocumentFragment1130() (interface{}, error) { +func (p *parser) callonDocumentFragment823() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1130() + return p.cur.onDocumentFragment823() } -func (c *current) onDocumentFragment1151() (interface{}, error) { - return string(c.text), nil - -} +func (c *current) onDocumentFragment811(delimiter interface{}) (interface{}, error) { -func (p *parser) callonDocumentFragment1151() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment1151() -} + return types.NewBlockDelimiter(types.Passthrough, len(delimiter.(string)), string(c.text)) -func (c *current) onDocumentFragment1154() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil } -func (p *parser) callonDocumentFragment1154() (interface{}, error) { +func (p *parser) callonDocumentFragment811() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1154() + return p.cur.onDocumentFragment811(stack["delimiter"]) } -func (c *current) onDocumentFragment1170() (interface{}, error) { - return string(c.text), nil +func (c *current) onDocumentFragment830(end interface{}) (bool, error) { + return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) } -func (p *parser) callonDocumentFragment1170() (interface{}, error) { +func (p *parser) callonDocumentFragment830() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1170() + return p.cur.onDocumentFragment830(stack["end"]) } -func (c *current) onDocumentFragment1173() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onDocumentFragment735(start, content, end interface{}) (interface{}, error) { + return types.NewDelimitedBlock(types.Passthrough, content.([]interface{})) + } -func (p *parser) callonDocumentFragment1173() (interface{}, error) { +func (p *parser) callonDocumentFragment735() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1173() + return p.cur.onDocumentFragment735(stack["start"], stack["content"], stack["end"]) } -func (c *current) onDocumentFragment1164() (interface{}, error) { - return types.NewBlankLine() +func (c *current) onDocumentFragment839() (interface{}, error) { + // sequence of 4 "_" chars or more + return string(c.text), nil } -func (p *parser) callonDocumentFragment1164() (interface{}, error) { +func (p *parser) callonDocumentFragment839() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1164() + return p.cur.onDocumentFragment839() } -func (c *current) onDocumentFragment1182() (interface{}, error) { +func (c *current) onDocumentFragment845() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentFragment1182() (interface{}, error) { +func (p *parser) callonDocumentFragment845() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1182() + return p.cur.onDocumentFragment845() } -func (c *current) onDocumentFragment1188() (interface{}, error) { +func (c *current) onDocumentFragment848() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonDocumentFragment1188() (interface{}, error) { +func (p *parser) callonDocumentFragment848() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1188() + return p.cur.onDocumentFragment848() } -func (c *current) onDocumentFragment1186(content interface{}) (interface{}, error) { - return types.NewRawContent(content.(string)) +func (c *current) onDocumentFragment836(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Quote, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonDocumentFragment1186() (interface{}, error) { +func (p *parser) callonDocumentFragment836() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1186(stack["content"]) + return p.cur.onDocumentFragment836(stack["delimiter"]) } -func (c *current) onDocumentFragment1144(content interface{}) (interface{}, error) { - return types.NewTableCell(content.(types.RawContent)) +func (c *current) onDocumentFragment855(start interface{}) (bool, error) { + return c.setBlockDelimiterLength(start.(*types.BlockDelimiter).Length) } -func (p *parser) callonDocumentFragment1144() (interface{}, error) { +func (p *parser) callonDocumentFragment855() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1144(stack["content"]) + return p.cur.onDocumentFragment855(stack["start"]) } -func (c *current) onDocumentFragment1192() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onDocumentFragment867() (interface{}, error) { + // sequence of 4 "_" chars or more return string(c.text), nil + } -func (p *parser) callonDocumentFragment1192() (interface{}, error) { +func (p *parser) callonDocumentFragment867() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1192() + return p.cur.onDocumentFragment867() } -func (c *current) onDocumentFragment1141(cell interface{}) (interface{}, error) { - return cell, nil +func (c *current) onDocumentFragment873() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDocumentFragment1141() (interface{}, error) { +func (p *parser) callonDocumentFragment873() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1141(stack["cell"]) + return p.cur.onDocumentFragment873() } -func (c *current) onDocumentFragment1207() (interface{}, error) { +func (c *current) onDocumentFragment876() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonDocumentFragment1207() (interface{}, error) { +func (p *parser) callonDocumentFragment876() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1207() + return p.cur.onDocumentFragment876() } -func (c *current) onDocumentFragment1210() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onDocumentFragment864(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Quote, len(delimiter.(string)), string(c.text)) + } -func (p *parser) callonDocumentFragment1210() (interface{}, error) { +func (p *parser) callonDocumentFragment864() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1210() + return p.cur.onDocumentFragment864(stack["delimiter"]) } -func (c *current) onDocumentFragment1201() (interface{}, error) { - return types.NewBlankLine() +func (c *current) onDocumentFragment883(end interface{}) (bool, error) { + return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) } -func (p *parser) callonDocumentFragment1201() (interface{}, error) { +func (p *parser) callonDocumentFragment883() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1201() + return p.cur.onDocumentFragment883(stack["end"]) } -func (c *current) onDocumentFragment1222() (interface{}, error) { +func (c *current) onDocumentFragment893() (interface{}, error) { + // content is NOT mandatory return string(c.text), nil } -func (p *parser) callonDocumentFragment1222() (interface{}, error) { +func (p *parser) callonDocumentFragment893() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1222() + return p.cur.onDocumentFragment893() } -func (c *current) onDocumentFragment1225() (interface{}, error) { +func (c *current) onDocumentFragment897() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonDocumentFragment1225() (interface{}, error) { +func (p *parser) callonDocumentFragment897() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1225() + return p.cur.onDocumentFragment897() } -func (c *current) onDocumentFragment1120(cells interface{}) (interface{}, error) { - return types.NewTableRow(cells.([]interface{})) +func (c *current) onDocumentFragment887(content interface{}) (interface{}, error) { + + return types.NewRawLine(content.(string)) } -func (p *parser) callonDocumentFragment1120() (interface{}, error) { +func (p *parser) callonDocumentFragment887() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1120(stack["cells"]) + return p.cur.onDocumentFragment887(stack["content"]) } -func (c *current) onDocumentFragment1241() (interface{}, error) { - return string(c.text), nil +func (c *current) onDocumentFragment858(line interface{}) (interface{}, error) { + return line, nil } -func (p *parser) callonDocumentFragment1241() (interface{}, error) { +func (p *parser) callonDocumentFragment858() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1241() + return p.cur.onDocumentFragment858(stack["line"]) } -func (c *current) onDocumentFragment1244() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onDocumentFragment912() (interface{}, error) { + // sequence of 4 "_" chars or more return string(c.text), nil + } -func (p *parser) callonDocumentFragment1244() (interface{}, error) { +func (p *parser) callonDocumentFragment912() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1244() + return p.cur.onDocumentFragment912() } -func (c *current) onDocumentFragment1262() (interface{}, error) { +func (c *current) onDocumentFragment918() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentFragment1262() (interface{}, error) { +func (p *parser) callonDocumentFragment918() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1262() + return p.cur.onDocumentFragment918() } -func (c *current) onDocumentFragment1265() (interface{}, error) { +func (c *current) onDocumentFragment921() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonDocumentFragment1265() (interface{}, error) { +func (p *parser) callonDocumentFragment921() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1265() + return p.cur.onDocumentFragment921() } -func (c *current) onDocumentFragment1281() (interface{}, error) { - return string(c.text), nil +func (c *current) onDocumentFragment909(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Quote, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonDocumentFragment1281() (interface{}, error) { +func (p *parser) callonDocumentFragment909() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1281() + return p.cur.onDocumentFragment909(stack["delimiter"]) } -func (c *current) onDocumentFragment1284() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onDocumentFragment928(end interface{}) (bool, error) { + return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) + } -func (p *parser) callonDocumentFragment1284() (interface{}, error) { +func (p *parser) callonDocumentFragment928() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1284() + return p.cur.onDocumentFragment928(stack["end"]) } -func (c *current) onDocumentFragment1275() (interface{}, error) { - return types.NewBlankLine() +func (c *current) onDocumentFragment833(start, content, end interface{}) (interface{}, error) { + return types.NewDelimitedBlock(types.Quote, content.([]interface{})) } -func (p *parser) callonDocumentFragment1275() (interface{}, error) { +func (p *parser) callonDocumentFragment833() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1275() + return p.cur.onDocumentFragment833(stack["start"], stack["content"], stack["end"]) } -func (c *current) onDocumentFragment1293() (interface{}, error) { +func (c *current) onDocumentFragment937() (interface{}, error) { + // sequence of 4 "*" chars or more return string(c.text), nil } -func (p *parser) callonDocumentFragment1293() (interface{}, error) { +func (p *parser) callonDocumentFragment937() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1293() + return p.cur.onDocumentFragment937() } -func (c *current) onDocumentFragment1299() (interface{}, error) { +func (c *current) onDocumentFragment943() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentFragment1299() (interface{}, error) { +func (p *parser) callonDocumentFragment943() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1299() + return p.cur.onDocumentFragment943() } -func (c *current) onDocumentFragment1297(content interface{}) (interface{}, error) { - return types.NewRawContent(content.(string)) +func (c *current) onDocumentFragment946() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonDocumentFragment946() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment946() +} + +func (c *current) onDocumentFragment934(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Sidebar, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonDocumentFragment1297() (interface{}, error) { +func (p *parser) callonDocumentFragment934() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1297(stack["content"]) + return p.cur.onDocumentFragment934(stack["delimiter"]) } -func (c *current) onDocumentFragment1255(content interface{}) (interface{}, error) { - return types.NewTableCell(content.(types.RawContent)) +func (c *current) onDocumentFragment953(start interface{}) (bool, error) { + return c.setBlockDelimiterLength(start.(*types.BlockDelimiter).Length) } -func (p *parser) callonDocumentFragment1255() (interface{}, error) { +func (p *parser) callonDocumentFragment953() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1255(stack["content"]) + return p.cur.onDocumentFragment953(stack["start"]) } -func (c *current) onDocumentFragment1303() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onDocumentFragment965() (interface{}, error) { + // sequence of 4 "*" chars or more return string(c.text), nil + } -func (p *parser) callonDocumentFragment1303() (interface{}, error) { +func (p *parser) callonDocumentFragment965() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1303() + return p.cur.onDocumentFragment965() } -func (c *current) onDocumentFragment1317() (interface{}, error) { +func (c *current) onDocumentFragment971() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentFragment1317() (interface{}, error) { +func (p *parser) callonDocumentFragment971() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1317() + return p.cur.onDocumentFragment971() } -func (c *current) onDocumentFragment1320() (interface{}, error) { +func (c *current) onDocumentFragment974() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonDocumentFragment1320() (interface{}, error) { +func (p *parser) callonDocumentFragment974() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1320() + return p.cur.onDocumentFragment974() } -func (c *current) onDocumentFragment1311() (interface{}, error) { - return types.NewBlankLine() +func (c *current) onDocumentFragment962(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Sidebar, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonDocumentFragment1311() (interface{}, error) { +func (p *parser) callonDocumentFragment962() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1311() + return p.cur.onDocumentFragment962(stack["delimiter"]) } -func (c *current) onDocumentFragment1234(cells interface{}) (interface{}, error) { - return types.NewTableRow(cells.([]interface{})) +func (c *current) onDocumentFragment981(end interface{}) (bool, error) { + return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) } -func (p *parser) callonDocumentFragment1234() (interface{}, error) { +func (p *parser) callonDocumentFragment981() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1234(stack["cells"]) + return p.cur.onDocumentFragment981(stack["end"]) } -func (c *current) onDocumentFragment1331() (interface{}, error) { +func (c *current) onDocumentFragment991() (interface{}, error) { + // content is NOT mandatory return string(c.text), nil } -func (p *parser) callonDocumentFragment1331() (interface{}, error) { +func (p *parser) callonDocumentFragment991() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1331() + return p.cur.onDocumentFragment991() } -func (c *current) onDocumentFragment1334() (interface{}, error) { +func (c *current) onDocumentFragment995() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonDocumentFragment1334() (interface{}, error) { +func (p *parser) callonDocumentFragment995() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1334() + return p.cur.onDocumentFragment995() } -func (c *current) onDocumentFragment1059(header, rows interface{}) (interface{}, error) { - return types.NewTable(header, rows.([]interface{})) +func (c *current) onDocumentFragment985(content interface{}) (interface{}, error) { + + return types.NewRawLine(content.(string)) } -func (p *parser) callonDocumentFragment1059() (interface{}, error) { +func (p *parser) callonDocumentFragment985() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1059(stack["header"], stack["rows"]) + return p.cur.onDocumentFragment985(stack["content"]) } -func (c *current) onDocumentFragment1349() (interface{}, error) { - return string(c.text), nil +func (c *current) onDocumentFragment956(line interface{}) (interface{}, error) { + return line, nil } -func (p *parser) callonDocumentFragment1349() (interface{}, error) { +func (p *parser) callonDocumentFragment956() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1349() + return p.cur.onDocumentFragment956(stack["line"]) } -func (c *current) onDocumentFragment1353() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onDocumentFragment1010() (interface{}, error) { + // sequence of 4 "*" chars or more return string(c.text), nil + } -func (p *parser) callonDocumentFragment1353() (interface{}, error) { +func (p *parser) callonDocumentFragment1010() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1353() + return p.cur.onDocumentFragment1010() } -func (c *current) onDocumentFragment1343(content interface{}) (interface{}, error) { - return types.NewSingleLineComment(content.(string)) +func (c *current) onDocumentFragment1016() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDocumentFragment1343() (interface{}, error) { +func (p *parser) callonDocumentFragment1016() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1343(stack["content"]) + return p.cur.onDocumentFragment1016() } -func (c *current) onDocumentFragment1364() (interface{}, error) { - return types.Tip, nil +func (c *current) onDocumentFragment1019() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonDocumentFragment1364() (interface{}, error) { +func (p *parser) callonDocumentFragment1019() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1364() + return p.cur.onDocumentFragment1019() } -func (c *current) onDocumentFragment1366() (interface{}, error) { - return types.Note, nil -} +func (c *current) onDocumentFragment1007(delimiter interface{}) (interface{}, error) { -func (p *parser) callonDocumentFragment1366() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment1366() -} + return types.NewBlockDelimiter(types.Sidebar, len(delimiter.(string)), string(c.text)) -func (c *current) onDocumentFragment1368() (interface{}, error) { - return types.Important, nil } -func (p *parser) callonDocumentFragment1368() (interface{}, error) { +func (p *parser) callonDocumentFragment1007() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1368() + return p.cur.onDocumentFragment1007(stack["delimiter"]) } -func (c *current) onDocumentFragment1370() (interface{}, error) { - return types.Warning, nil +func (c *current) onDocumentFragment1026(end interface{}) (bool, error) { + return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) + } -func (p *parser) callonDocumentFragment1370() (interface{}, error) { +func (p *parser) callonDocumentFragment1026() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1370() + return p.cur.onDocumentFragment1026(stack["end"]) } -func (c *current) onDocumentFragment1372() (interface{}, error) { - return types.Caution, nil +func (c *current) onDocumentFragment931(start, content, end interface{}) (interface{}, error) { + return types.NewDelimitedBlock(types.Sidebar, content.([]interface{})) + } -func (p *parser) callonDocumentFragment1372() (interface{}, error) { +func (p *parser) callonDocumentFragment931() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1372() + return p.cur.onDocumentFragment931(stack["start"], stack["content"], stack["end"]) } -func (c *current) onDocumentFragment1379() (interface{}, error) { - return strings.TrimRight(string(c.text), " \t"), nil // trim spaces and tabs +func (c *current) onDocumentFragment1040() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDocumentFragment1379() (interface{}, error) { +func (p *parser) callonDocumentFragment1040() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1379() + return p.cur.onDocumentFragment1040() } -func (c *current) onDocumentFragment1382(content interface{}) (bool, error) { - return len(strings.TrimSpace(content.(string))) > 0, nil - +func (c *current) onDocumentFragment1043() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonDocumentFragment1382() (bool, error) { +func (p *parser) callonDocumentFragment1043() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1382(stack["content"]) + return p.cur.onDocumentFragment1043() } -func (c *current) onDocumentFragment1384() (interface{}, error) { +func (c *current) onDocumentFragment1051() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonDocumentFragment1384() (interface{}, error) { +func (p *parser) callonDocumentFragment1051() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1384() + return p.cur.onDocumentFragment1051() } -func (c *current) onDocumentFragment1376(content interface{}) (interface{}, error) { - return types.NewRawLine(content.(string)) +func (c *current) onDocumentFragment1029() (interface{}, error) { + + return types.NewThematicBreak() } -func (p *parser) callonDocumentFragment1376() (interface{}, error) { +func (p *parser) callonDocumentFragment1029() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1376(stack["content"]) + return p.cur.onDocumentFragment1029() } -func (c *current) onDocumentFragment1399() (interface{}, error) { +func (c *current) onDocumentFragment1063() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentFragment1399() (interface{}, error) { +func (p *parser) callonDocumentFragment1063() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1399() + return p.cur.onDocumentFragment1063() } -func (c *current) onDocumentFragment1401() (interface{}, error) { +func (c *current) onDocumentFragment1066() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonDocumentFragment1401() (interface{}, error) { +func (p *parser) callonDocumentFragment1066() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1401() + return p.cur.onDocumentFragment1066() } -func (c *current) onDocumentFragment1414() (interface{}, error) { +func (c *current) onDocumentFragment1083() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentFragment1414() (interface{}, error) { +func (p *parser) callonDocumentFragment1083() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1414() + return p.cur.onDocumentFragment1083() } -func (c *current) onDocumentFragment1418() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onDocumentFragment1089() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonDocumentFragment1418() (interface{}, error) { +func (p *parser) callonDocumentFragment1089() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1418() + return p.cur.onDocumentFragment1089() } -func (c *current) onDocumentFragment1408(content interface{}) (interface{}, error) { - return types.NewSingleLineComment(content.(string)) +func (c *current) onDocumentFragment1087(content interface{}) (interface{}, error) { + return types.NewRawContent(content.(string)) } -func (p *parser) callonDocumentFragment1408() (interface{}, error) { +func (p *parser) callonDocumentFragment1087() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1408(stack["content"]) + return p.cur.onDocumentFragment1087(stack["content"]) } -func (c *current) onDocumentFragment1428() (interface{}, error) { - return strings.TrimRight(string(c.text), " \t"), nil // trim spaces and tabs +func (c *current) onDocumentFragment1079(content interface{}) (interface{}, error) { + return types.NewTableCell(content.(types.RawContent)) } -func (p *parser) callonDocumentFragment1428() (interface{}, error) { +func (p *parser) callonDocumentFragment1079() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1428() + return p.cur.onDocumentFragment1079(stack["content"]) } -func (c *current) onDocumentFragment1431(content interface{}) (bool, error) { - return len(strings.TrimSpace(content.(string))) > 0, nil - +func (c *current) onDocumentFragment1093() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonDocumentFragment1431() (bool, error) { +func (p *parser) callonDocumentFragment1093() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1431(stack["content"]) + return p.cur.onDocumentFragment1093() } -func (c *current) onDocumentFragment1433() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onDocumentFragment1107() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonDocumentFragment1433() (interface{}, error) { +func (p *parser) callonDocumentFragment1107() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1433() + return p.cur.onDocumentFragment1107() } -func (c *current) onDocumentFragment1425(content interface{}) (interface{}, error) { - return types.NewRawLine(content.(string)) - +func (c *current) onDocumentFragment1110() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonDocumentFragment1425() (interface{}, error) { +func (p *parser) callonDocumentFragment1110() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1425(stack["content"]) + return p.cur.onDocumentFragment1110() } -func (c *current) onDocumentFragment1393(line interface{}) (interface{}, error) { - return line, nil +func (c *current) onDocumentFragment1101() (interface{}, error) { + return types.NewBlankLine() } -func (p *parser) callonDocumentFragment1393() (interface{}, error) { +func (p *parser) callonDocumentFragment1101() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1393(stack["line"]) + return p.cur.onDocumentFragment1101() } -func (c *current) onDocumentFragment1360(kind, firstLine, otherLines interface{}) (interface{}, error) { - - return types.NewAdmonitionParagraph(kind.(string), append([]interface{}{firstLine}, otherLines.([]interface{})...)) +func (c *current) onDocumentFragment1075(cells interface{}) (interface{}, error) { + return types.NewTableRow(cells.([]interface{})) } -func (p *parser) callonDocumentFragment1360() (interface{}, error) { +func (p *parser) callonDocumentFragment1075() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1360(stack["kind"], stack["firstLine"], stack["otherLines"]) + return p.cur.onDocumentFragment1075(stack["cells"]) } -func (c *current) onDocumentFragment1448() (interface{}, error) { - // log.Debug("matched multiple spaces") +func (c *current) onDocumentFragment1127() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentFragment1448() (interface{}, error) { +func (p *parser) callonDocumentFragment1127() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1448() + return p.cur.onDocumentFragment1127() } -func (c *current) onDocumentFragment1446() (interface{}, error) { +func (c *current) onDocumentFragment1130() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonDocumentFragment1446() (interface{}, error) { +func (p *parser) callonDocumentFragment1130() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1446() + return p.cur.onDocumentFragment1130() } -func (c *current) onDocumentFragment1453(content interface{}) (bool, error) { - return len(strings.TrimSpace(string(c.text))) > 0, nil +func (c *current) onDocumentFragment1151() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDocumentFragment1453() (bool, error) { +func (p *parser) callonDocumentFragment1151() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1453(stack["content"]) + return p.cur.onDocumentFragment1151() } -func (c *current) onDocumentFragment1455() (interface{}, error) { +func (c *current) onDocumentFragment1154() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonDocumentFragment1455() (interface{}, error) { +func (p *parser) callonDocumentFragment1154() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1455() + return p.cur.onDocumentFragment1154() } -func (c *current) onDocumentFragment1443(content interface{}) (interface{}, error) { - return types.NewRawLine(content.(string)) +func (c *current) onDocumentFragment1170() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDocumentFragment1443() (interface{}, error) { +func (p *parser) callonDocumentFragment1170() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1443(stack["content"]) + return p.cur.onDocumentFragment1170() } -func (c *current) onDocumentFragment1471() (interface{}, error) { +func (c *current) onDocumentFragment1173() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil +} + +func (p *parser) callonDocumentFragment1173() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment1173() +} + +func (c *current) onDocumentFragment1164() (interface{}, error) { + return types.NewBlankLine() } -func (p *parser) callonDocumentFragment1471() (interface{}, error) { +func (p *parser) callonDocumentFragment1164() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1471() + return p.cur.onDocumentFragment1164() } -func (c *current) onDocumentFragment1475() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onDocumentFragment1182() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonDocumentFragment1475() (interface{}, error) { +func (p *parser) callonDocumentFragment1182() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1475() + return p.cur.onDocumentFragment1182() } -func (c *current) onDocumentFragment1465(content interface{}) (interface{}, error) { - return types.NewSingleLineComment(content.(string)) +func (c *current) onDocumentFragment1188() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDocumentFragment1465() (interface{}, error) { +func (p *parser) callonDocumentFragment1188() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1465(stack["content"]) + return p.cur.onDocumentFragment1188() } -func (c *current) onDocumentFragment1485() (interface{}, error) { - return strings.TrimRight(string(c.text), " \t"), nil // trim spaces and tabs +func (c *current) onDocumentFragment1186(content interface{}) (interface{}, error) { + return types.NewRawContent(content.(string)) } -func (p *parser) callonDocumentFragment1485() (interface{}, error) { +func (p *parser) callonDocumentFragment1186() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1485() + return p.cur.onDocumentFragment1186(stack["content"]) } -func (c *current) onDocumentFragment1488(content interface{}) (bool, error) { - return len(strings.TrimSpace(content.(string))) > 0, nil +func (c *current) onDocumentFragment1144(content interface{}) (interface{}, error) { + return types.NewTableCell(content.(types.RawContent)) } -func (p *parser) callonDocumentFragment1488() (bool, error) { +func (p *parser) callonDocumentFragment1144() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1488(stack["content"]) + return p.cur.onDocumentFragment1144(stack["content"]) } -func (c *current) onDocumentFragment1490() (interface{}, error) { +func (c *current) onDocumentFragment1192() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonDocumentFragment1490() (interface{}, error) { +func (p *parser) callonDocumentFragment1192() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1490() + return p.cur.onDocumentFragment1192() } -func (c *current) onDocumentFragment1482(content interface{}) (interface{}, error) { - return types.NewRawLine(content.(string)) +func (c *current) onDocumentFragment1141(cell interface{}) (interface{}, error) { + return cell, nil } -func (p *parser) callonDocumentFragment1482() (interface{}, error) { +func (p *parser) callonDocumentFragment1141() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1482(stack["content"]) + return p.cur.onDocumentFragment1141(stack["cell"]) } -func (c *current) onDocumentFragment1440(firstLine, otherLines interface{}) (interface{}, error) { +func (c *current) onDocumentFragment1207() (interface{}, error) { + return string(c.text), nil - return types.NewLiteralParagraph(types.LiteralBlockWithSpacesOnFirstLine, append([]interface{}{firstLine}, otherLines.([]interface{})...)) +} + +func (p *parser) callonDocumentFragment1207() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment1207() +} +func (c *current) onDocumentFragment1210() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonDocumentFragment1440() (interface{}, error) { +func (p *parser) callonDocumentFragment1210() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1440(stack["firstLine"], stack["otherLines"]) + return p.cur.onDocumentFragment1210() } -func (c *current) onDocumentFragment1499() (bool, error) { - return c.isFrontMatterAllowed(), nil +func (c *current) onDocumentFragment1201() (interface{}, error) { + return types.NewBlankLine() } -func (p *parser) callonDocumentFragment1499() (bool, error) { +func (p *parser) callonDocumentFragment1201() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1499() + return p.cur.onDocumentFragment1201() } -func (c *current) onDocumentFragment1505() (interface{}, error) { +func (c *current) onDocumentFragment1222() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentFragment1505() (interface{}, error) { +func (p *parser) callonDocumentFragment1222() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1505() + return p.cur.onDocumentFragment1222() } -func (c *current) onDocumentFragment1508() (interface{}, error) { +func (c *current) onDocumentFragment1225() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonDocumentFragment1508() (interface{}, error) { +func (p *parser) callonDocumentFragment1225() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1508() + return p.cur.onDocumentFragment1225() } -func (c *current) onDocumentFragment1525() (interface{}, error) { - return string(c.text), nil +func (c *current) onDocumentFragment1120(cells interface{}) (interface{}, error) { + return types.NewTableRow(cells.([]interface{})) } -func (p *parser) callonDocumentFragment1525() (interface{}, error) { +func (p *parser) callonDocumentFragment1120() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1525() + return p.cur.onDocumentFragment1120(stack["cells"]) } -func (c *current) onDocumentFragment1528() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onDocumentFragment1241() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonDocumentFragment1528() (interface{}, error) { +func (p *parser) callonDocumentFragment1241() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1528() + return p.cur.onDocumentFragment1241() } -func (c *current) onDocumentFragment1517() (interface{}, error) { +func (c *current) onDocumentFragment1244() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonDocumentFragment1517() (interface{}, error) { +func (p *parser) callonDocumentFragment1244() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1517() + return p.cur.onDocumentFragment1244() } -func (c *current) onDocumentFragment1538() (interface{}, error) { +func (c *current) onDocumentFragment1262() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentFragment1538() (interface{}, error) { +func (p *parser) callonDocumentFragment1262() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1538() + return p.cur.onDocumentFragment1262() } -func (c *current) onDocumentFragment1541() (interface{}, error) { +func (c *current) onDocumentFragment1265() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonDocumentFragment1541() (interface{}, error) { +func (p *parser) callonDocumentFragment1265() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1541() + return p.cur.onDocumentFragment1265() } -func (c *current) onDocumentFragment1501(content interface{}) (interface{}, error) { - return types.NewYamlFrontMatter(content.(string)) +func (c *current) onDocumentFragment1281() (interface{}, error) { + return string(c.text), nil + } -func (p *parser) callonDocumentFragment1501() (interface{}, error) { +func (p *parser) callonDocumentFragment1281() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1501(stack["content"]) + return p.cur.onDocumentFragment1281() } -func (c *current) onDocumentFragment1497(frontmatter interface{}) (interface{}, error) { - return frontmatter, nil - +func (c *current) onDocumentFragment1284() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonDocumentFragment1497() (interface{}, error) { +func (p *parser) callonDocumentFragment1284() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1497(stack["frontmatter"]) + return p.cur.onDocumentFragment1284() } -func (c *current) onDocumentFragment1(attributes, element interface{}) (interface{}, error) { - c.disableFrontMatterRule() // not allowed as soon as a single element is found - c.disableDocumentHeaderRule() // not allowed anymore, based on element that was found - - if element, ok := element.(types.WithAttributes); ok && attributes != nil { - element.AddAttributes(attributes.(types.Attributes)) - } - return element, nil +func (c *current) onDocumentFragment1275() (interface{}, error) { + return types.NewBlankLine() } -func (p *parser) callonDocumentFragment1() (interface{}, error) { +func (p *parser) callonDocumentFragment1275() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1(stack["attributes"], stack["element"]) + return p.cur.onDocumentFragment1275() } -func (c *current) onDelimitedBlockElements10() (interface{}, error) { +func (c *current) onDocumentFragment1293() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonDelimitedBlockElements10() (interface{}, error) { +func (p *parser) callonDocumentFragment1293() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDelimitedBlockElements10() + return p.cur.onDocumentFragment1293() } -func (c *current) onDelimitedBlockElements6(ref interface{}) (interface{}, error) { - return types.NewElementPlaceHolder(ref.(string)) +func (c *current) onDocumentFragment1299() (interface{}, error) { + return string(c.text), nil + } -func (p *parser) callonDelimitedBlockElements6() (interface{}, error) { +func (p *parser) callonDocumentFragment1299() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDelimitedBlockElements6(stack["ref"]) + return p.cur.onDocumentFragment1299() } -func (c *current) onDelimitedBlockElements1(elements interface{}) (interface{}, error) { - return elements, nil +func (c *current) onDocumentFragment1297(content interface{}) (interface{}, error) { + return types.NewRawContent(content.(string)) } -func (p *parser) callonDelimitedBlockElements1() (interface{}, error) { +func (p *parser) callonDocumentFragment1297() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDelimitedBlockElements1(stack["elements"]) + return p.cur.onDocumentFragment1297(stack["content"]) } -func (c *current) onAttributeDeclaration5() (interface{}, error) { - return string(c.text), nil +func (c *current) onDocumentFragment1255(content interface{}) (interface{}, error) { + return types.NewTableCell(content.(types.RawContent)) } -func (p *parser) callonAttributeDeclaration5() (interface{}, error) { +func (p *parser) callonDocumentFragment1255() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeDeclaration5() + return p.cur.onDocumentFragment1255(stack["content"]) } -func (c *current) onAttributeDeclaration15() (interface{}, error) { - // log.Debug("matched multiple spaces") +func (c *current) onDocumentFragment1303() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonAttributeDeclaration15() (interface{}, error) { +func (p *parser) callonDocumentFragment1303() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeDeclaration15() + return p.cur.onDocumentFragment1303() } -func (c *current) onAttributeDeclaration13(value interface{}) (interface{}, error) { - return value, nil +func (c *current) onDocumentFragment1317() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonAttributeDeclaration13() (interface{}, error) { +func (p *parser) callonDocumentFragment1317() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeDeclaration13(stack["value"]) + return p.cur.onDocumentFragment1317() } -func (c *current) onAttributeDeclaration21() (interface{}, error) { +func (c *current) onDocumentFragment1320() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonAttributeDeclaration21() (interface{}, error) { +func (p *parser) callonDocumentFragment1320() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeDeclaration21() + return p.cur.onDocumentFragment1320() } -func (c *current) onAttributeDeclaration1(name, value interface{}) (interface{}, error) { - return types.NewAttributeDeclaration(name.(string), types.Reduce(value, strings.TrimSpace), string(c.text)) +func (c *current) onDocumentFragment1311() (interface{}, error) { + return types.NewBlankLine() } -func (p *parser) callonAttributeDeclaration1() (interface{}, error) { +func (p *parser) callonDocumentFragment1311() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeDeclaration1(stack["name"], stack["value"]) + return p.cur.onDocumentFragment1311() } -func (c *current) onAttributeDeclarationValue14() (interface{}, error) { - return string(c.text), nil +func (c *current) onDocumentFragment1234(cells interface{}) (interface{}, error) { + return types.NewTableRow(cells.([]interface{})) } -func (p *parser) callonAttributeDeclarationValue14() (interface{}, error) { +func (p *parser) callonDocumentFragment1234() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeDeclarationValue14() + return p.cur.onDocumentFragment1234(stack["cells"]) } -func (c *current) onAttributeDeclarationValue17() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onDocumentFragment1331() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonAttributeDeclarationValue17() (interface{}, error) { +func (p *parser) callonDocumentFragment1331() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeDeclarationValue17() + return p.cur.onDocumentFragment1331() } -func (c *current) onAttributeDeclarationValue26() (interface{}, error) { - return types.NewStringElement(string(c.text)) - +func (c *current) onDocumentFragment1334() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonAttributeDeclarationValue26() (interface{}, error) { +func (p *parser) callonDocumentFragment1334() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeDeclarationValue26() + return p.cur.onDocumentFragment1334() } -func (c *current) onAttributeDeclarationValue29() (interface{}, error) { - return string(c.text), nil +func (c *current) onDocumentFragment1059(header, rows interface{}) (interface{}, error) { + return types.NewTable(header, rows.([]interface{})) } -func (p *parser) callonAttributeDeclarationValue29() (interface{}, error) { +func (p *parser) callonDocumentFragment1059() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeDeclarationValue29() + return p.cur.onDocumentFragment1059(stack["header"], stack["rows"]) } -func (c *current) onAttributeDeclarationValue33() (bool, error) { - return c.isSubstitutionEnabled(Attributes), nil +func (c *current) onDocumentFragment1349() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonAttributeDeclarationValue33() (bool, error) { +func (p *parser) callonDocumentFragment1349() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeDeclarationValue33() + return p.cur.onDocumentFragment1349() } -func (c *current) onAttributeDeclarationValue40() (interface{}, error) { +func (c *current) onDocumentFragment1353() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonAttributeDeclarationValue40() (interface{}, error) { +func (p *parser) callonDocumentFragment1353() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeDeclarationValue40() + return p.cur.onDocumentFragment1353() } -func (c *current) onAttributeDeclarationValue52() (interface{}, error) { - return string(c.text), nil +func (c *current) onDocumentFragment1343(content interface{}) (interface{}, error) { + return types.NewSingleLineComment(content.(string)) } -func (p *parser) callonAttributeDeclarationValue52() (interface{}, error) { +func (p *parser) callonDocumentFragment1343() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeDeclarationValue52() + return p.cur.onDocumentFragment1343(stack["content"]) } -func (c *current) onAttributeDeclarationValue54() (interface{}, error) { - - return strconv.Atoi(string(c.text)) - +func (c *current) onDocumentFragment1364() (interface{}, error) { + return types.Tip, nil } -func (p *parser) callonAttributeDeclarationValue54() (interface{}, error) { +func (p *parser) callonDocumentFragment1364() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeDeclarationValue54() + return p.cur.onDocumentFragment1364() } -func (c *current) onAttributeDeclarationValue47(start interface{}) (interface{}, error) { - return start, nil - +func (c *current) onDocumentFragment1366() (interface{}, error) { + return types.Note, nil } -func (p *parser) callonAttributeDeclarationValue47() (interface{}, error) { +func (p *parser) callonDocumentFragment1366() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeDeclarationValue47(stack["start"]) + return p.cur.onDocumentFragment1366() } -func (c *current) onAttributeDeclarationValue36(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) +func (c *current) onDocumentFragment1368() (interface{}, error) { + return types.Important, nil } -func (p *parser) callonAttributeDeclarationValue36() (interface{}, error) { +func (p *parser) callonDocumentFragment1368() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeDeclarationValue36(stack["name"], stack["start"]) + return p.cur.onDocumentFragment1368() } -func (c *current) onAttributeDeclarationValue62() (interface{}, error) { - return string(c.text), nil - +func (c *current) onDocumentFragment1370() (interface{}, error) { + return types.Warning, nil } -func (p *parser) callonAttributeDeclarationValue62() (interface{}, error) { +func (p *parser) callonDocumentFragment1370() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeDeclarationValue62() + return p.cur.onDocumentFragment1370() } -func (c *current) onAttributeDeclarationValue74() (interface{}, error) { - return string(c.text), nil - +func (c *current) onDocumentFragment1372() (interface{}, error) { + return types.Caution, nil } -func (p *parser) callonAttributeDeclarationValue74() (interface{}, error) { +func (p *parser) callonDocumentFragment1372() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeDeclarationValue74() + return p.cur.onDocumentFragment1372() } -func (c *current) onAttributeDeclarationValue76() (interface{}, error) { - - return strconv.Atoi(string(c.text)) +func (c *current) onDocumentFragment1379() (interface{}, error) { + return strings.TrimRight(string(c.text), " \t"), nil // trim spaces and tabs } -func (p *parser) callonAttributeDeclarationValue76() (interface{}, error) { +func (p *parser) callonDocumentFragment1379() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeDeclarationValue76() + return p.cur.onDocumentFragment1379() } -func (c *current) onAttributeDeclarationValue69(start interface{}) (interface{}, error) { - return start, nil +func (c *current) onDocumentFragment1382(content interface{}) (bool, error) { + return len(strings.TrimSpace(content.(string))) > 0, nil } -func (p *parser) callonAttributeDeclarationValue69() (interface{}, error) { +func (p *parser) callonDocumentFragment1382() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeDeclarationValue69(stack["start"]) + return p.cur.onDocumentFragment1382(stack["content"]) } -func (c *current) onAttributeDeclarationValue58(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) +func (c *current) onDocumentFragment1384() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonAttributeDeclarationValue58() (interface{}, error) { +func (p *parser) callonDocumentFragment1384() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeDeclarationValue58(stack["name"], stack["start"]) + return p.cur.onDocumentFragment1384() } -func (c *current) onAttributeDeclarationValue84() (interface{}, error) { - return string(c.text), nil +func (c *current) onDocumentFragment1376(content interface{}) (interface{}, error) { + return types.NewRawLine(content.(string)) } -func (p *parser) callonAttributeDeclarationValue84() (interface{}, error) { +func (p *parser) callonDocumentFragment1376() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeDeclarationValue84() + return p.cur.onDocumentFragment1376(stack["content"]) } -func (c *current) onAttributeDeclarationValue80(name interface{}) (interface{}, error) { - - log.Debug("matching escaped attribute reference") - // return types.NewStringElement("{"+name.(string)+"}") - return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) +func (c *current) onDocumentFragment1399() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonAttributeDeclarationValue80() (interface{}, error) { +func (p *parser) callonDocumentFragment1399() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeDeclarationValue80(stack["name"]) + return p.cur.onDocumentFragment1399() } -func (c *current) onAttributeDeclarationValue94() (interface{}, error) { +func (c *current) onDocumentFragment1401() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonAttributeDeclarationValue94() (interface{}, error) { +func (p *parser) callonDocumentFragment1401() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeDeclarationValue94() + return p.cur.onDocumentFragment1401() } -func (c *current) onAttributeDeclarationValue90(name interface{}) (interface{}, error) { - - return types.NewAttributeSubstitution(name.(string), string(c.text)) +func (c *current) onDocumentFragment1414() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonAttributeDeclarationValue90() (interface{}, error) { +func (p *parser) callonDocumentFragment1414() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeDeclarationValue90(stack["name"]) + return p.cur.onDocumentFragment1414() } -func (c *current) onAttributeDeclarationValue31(element interface{}) (interface{}, error) { - return element, nil - +func (c *current) onDocumentFragment1418() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonAttributeDeclarationValue31() (interface{}, error) { +func (p *parser) callonDocumentFragment1418() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeDeclarationValue31(stack["element"]) + return p.cur.onDocumentFragment1418() } -func (c *current) onAttributeDeclarationValue100() (interface{}, error) { - // standalone '{' - return types.NewStringElement(string(c.text)) +func (c *current) onDocumentFragment1408(content interface{}) (interface{}, error) { + return types.NewSingleLineComment(content.(string)) } -func (p *parser) callonAttributeDeclarationValue100() (interface{}, error) { +func (p *parser) callonDocumentFragment1408() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeDeclarationValue100() + return p.cur.onDocumentFragment1408(stack["content"]) } -func (c *current) onAttributeDeclarationValue7(element interface{}) (interface{}, error) { - - return element, nil +func (c *current) onDocumentFragment1428() (interface{}, error) { + return strings.TrimRight(string(c.text), " \t"), nil // trim spaces and tabs } -func (p *parser) callonAttributeDeclarationValue7() (interface{}, error) { +func (p *parser) callonDocumentFragment1428() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeDeclarationValue7(stack["element"]) + return p.cur.onDocumentFragment1428() } -func (c *current) onAttributeDeclarationValue4(elements interface{}) (interface{}, error) { - return elements.([]interface{}), nil +func (c *current) onDocumentFragment1431(content interface{}) (bool, error) { + return len(strings.TrimSpace(content.(string))) > 0, nil } -func (p *parser) callonAttributeDeclarationValue4() (interface{}, error) { +func (p *parser) callonDocumentFragment1431() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeDeclarationValue4(stack["elements"]) + return p.cur.onDocumentFragment1431(stack["content"]) } -func (c *current) onAttributeDeclarationValue107() (interface{}, error) { +func (c *current) onDocumentFragment1433() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonAttributeDeclarationValue107() (interface{}, error) { +func (p *parser) callonDocumentFragment1433() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeDeclarationValue107() + return p.cur.onDocumentFragment1433() } -func (c *current) onAttributeDeclarationValue113() (interface{}, error) { - return string(c.text), nil +func (c *current) onDocumentFragment1425(content interface{}) (interface{}, error) { + return types.NewRawLine(content.(string)) } -func (p *parser) callonAttributeDeclarationValue113() (interface{}, error) { +func (p *parser) callonDocumentFragment1425() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeDeclarationValue113() + return p.cur.onDocumentFragment1425(stack["content"]) } -func (c *current) onAttributeDeclarationValue104(elements interface{}) (interface{}, error) { - return elements, nil +func (c *current) onDocumentFragment1393(line interface{}) (interface{}, error) { + return line, nil } -func (p *parser) callonAttributeDeclarationValue104() (interface{}, error) { +func (p *parser) callonDocumentFragment1393() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeDeclarationValue104(stack["elements"]) + return p.cur.onDocumentFragment1393(stack["line"]) } -func (c *current) onAttributeDeclarationValue1(elements, otherElements interface{}) (interface{}, error) { - if otherElements, ok := otherElements.([]interface{}); ok { - return types.Reduce(append(elements.([]interface{}), otherElements...), strings.TrimSpace), nil - } - return types.Reduce(elements.([]interface{}), strings.TrimSpace), nil +func (c *current) onDocumentFragment1360(kind, firstLine, otherLines interface{}) (interface{}, error) { + + return types.NewAdmonitionParagraph(kind.(string), append([]interface{}{firstLine}, otherLines.([]interface{})...)) } -func (p *parser) callonAttributeDeclarationValue1() (interface{}, error) { +func (p *parser) callonDocumentFragment1360() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeDeclarationValue1(stack["elements"], stack["otherElements"]) + return p.cur.onDocumentFragment1360(stack["kind"], stack["firstLine"], stack["otherLines"]) } -func (c *current) onBlockAttributes16() (interface{}, error) { - // spaces, commas and dots are allowed in this syntax - return types.NewStringElement(string(c.text)) +func (c *current) onDocumentFragment1448() (interface{}, error) { + // log.Debug("matched multiple spaces") + return string(c.text), nil } -func (p *parser) callonBlockAttributes16() (interface{}, error) { +func (p *parser) callonDocumentFragment1448() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onBlockAttributes16() + return p.cur.onDocumentFragment1448() } -func (c *current) onBlockAttributes23() (interface{}, error) { +func (c *current) onDocumentFragment1446() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonBlockAttributes23() (interface{}, error) { +func (p *parser) callonDocumentFragment1446() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onBlockAttributes23() + return p.cur.onDocumentFragment1446() } -func (c *current) onBlockAttributes19(ref interface{}) (interface{}, error) { - return types.NewElementPlaceHolder(ref.(string)) +func (c *current) onDocumentFragment1453(content interface{}) (bool, error) { + return len(strings.TrimSpace(string(c.text))) > 0, nil + } -func (p *parser) callonBlockAttributes19() (interface{}, error) { +func (p *parser) callonDocumentFragment1453() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onBlockAttributes19(stack["ref"]) + return p.cur.onDocumentFragment1453(stack["content"]) } -func (c *current) onBlockAttributes29() (bool, error) { - return c.isSubstitutionEnabled(Attributes), nil - +func (c *current) onDocumentFragment1455() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonBlockAttributes29() (bool, error) { +func (p *parser) callonDocumentFragment1455() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onBlockAttributes29() + return p.cur.onDocumentFragment1455() } -func (c *current) onBlockAttributes36() (interface{}, error) { - return string(c.text), nil +func (c *current) onDocumentFragment1443(content interface{}) (interface{}, error) { + return types.NewRawLine(content.(string)) } -func (p *parser) callonBlockAttributes36() (interface{}, error) { +func (p *parser) callonDocumentFragment1443() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onBlockAttributes36() + return p.cur.onDocumentFragment1443(stack["content"]) } -func (c *current) onBlockAttributes48() (interface{}, error) { +func (c *current) onDocumentFragment1471() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonBlockAttributes48() (interface{}, error) { +func (p *parser) callonDocumentFragment1471() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onBlockAttributes48() + return p.cur.onDocumentFragment1471() } -func (c *current) onBlockAttributes50() (interface{}, error) { +func (c *current) onDocumentFragment1475() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} - return strconv.Atoi(string(c.text)) +func (p *parser) callonDocumentFragment1475() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment1475() +} + +func (c *current) onDocumentFragment1465(content interface{}) (interface{}, error) { + return types.NewSingleLineComment(content.(string)) } -func (p *parser) callonBlockAttributes50() (interface{}, error) { +func (p *parser) callonDocumentFragment1465() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onBlockAttributes50() + return p.cur.onDocumentFragment1465(stack["content"]) } -func (c *current) onBlockAttributes43(start interface{}) (interface{}, error) { - return start, nil +func (c *current) onDocumentFragment1485() (interface{}, error) { + return strings.TrimRight(string(c.text), " \t"), nil // trim spaces and tabs } -func (p *parser) callonBlockAttributes43() (interface{}, error) { +func (p *parser) callonDocumentFragment1485() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onBlockAttributes43(stack["start"]) + return p.cur.onDocumentFragment1485() } -func (c *current) onBlockAttributes32(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) +func (c *current) onDocumentFragment1488(content interface{}) (bool, error) { + return len(strings.TrimSpace(content.(string))) > 0, nil + } -func (p *parser) callonBlockAttributes32() (interface{}, error) { +func (p *parser) callonDocumentFragment1488() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onBlockAttributes32(stack["name"], stack["start"]) + return p.cur.onDocumentFragment1488(stack["content"]) } -func (c *current) onBlockAttributes58() (interface{}, error) { +func (c *current) onDocumentFragment1490() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonBlockAttributes58() (interface{}, error) { +func (p *parser) callonDocumentFragment1490() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onBlockAttributes58() + return p.cur.onDocumentFragment1490() } -func (c *current) onBlockAttributes70() (interface{}, error) { - return string(c.text), nil +func (c *current) onDocumentFragment1482(content interface{}) (interface{}, error) { + return types.NewRawLine(content.(string)) } -func (p *parser) callonBlockAttributes70() (interface{}, error) { +func (p *parser) callonDocumentFragment1482() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onBlockAttributes70() + return p.cur.onDocumentFragment1482(stack["content"]) } -func (c *current) onBlockAttributes72() (interface{}, error) { +func (c *current) onDocumentFragment1440(firstLine, otherLines interface{}) (interface{}, error) { - return strconv.Atoi(string(c.text)) + return types.NewLiteralParagraph(types.LiteralBlockWithSpacesOnFirstLine, append([]interface{}{firstLine}, otherLines.([]interface{})...)) } -func (p *parser) callonBlockAttributes72() (interface{}, error) { +func (p *parser) callonDocumentFragment1440() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onBlockAttributes72() + return p.cur.onDocumentFragment1440(stack["firstLine"], stack["otherLines"]) } -func (c *current) onBlockAttributes65(start interface{}) (interface{}, error) { - return start, nil +func (c *current) onDocumentFragment1499() (bool, error) { + return c.isFrontMatterAllowed(), nil } -func (p *parser) callonBlockAttributes65() (interface{}, error) { +func (p *parser) callonDocumentFragment1499() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onBlockAttributes65(stack["start"]) + return p.cur.onDocumentFragment1499() } -func (c *current) onBlockAttributes54(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) +func (c *current) onDocumentFragment1505() (interface{}, error) { + return string(c.text), nil + } -func (p *parser) callonBlockAttributes54() (interface{}, error) { +func (p *parser) callonDocumentFragment1505() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onBlockAttributes54(stack["name"], stack["start"]) + return p.cur.onDocumentFragment1505() } -func (c *current) onBlockAttributes80() (interface{}, error) { +func (c *current) onDocumentFragment1508() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonBlockAttributes80() (interface{}, error) { +func (p *parser) callonDocumentFragment1508() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onBlockAttributes80() + return p.cur.onDocumentFragment1508() } -func (c *current) onBlockAttributes76(name interface{}) (interface{}, error) { - - log.Debug("matching escaped attribute reference") - // return types.NewStringElement("{"+name.(string)+"}") - return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) +func (c *current) onDocumentFragment1525() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonBlockAttributes76() (interface{}, error) { +func (p *parser) callonDocumentFragment1525() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onBlockAttributes76(stack["name"]) + return p.cur.onDocumentFragment1525() } -func (c *current) onBlockAttributes90() (interface{}, error) { +func (c *current) onDocumentFragment1528() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonBlockAttributes90() (interface{}, error) { +func (p *parser) callonDocumentFragment1528() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onBlockAttributes90() + return p.cur.onDocumentFragment1528() } -func (c *current) onBlockAttributes86(name interface{}) (interface{}, error) { - - return types.NewAttributeSubstitution(name.(string), string(c.text)) - +func (c *current) onDocumentFragment1517() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonBlockAttributes86() (interface{}, error) { +func (p *parser) callonDocumentFragment1517() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onBlockAttributes86(stack["name"]) + return p.cur.onDocumentFragment1517() } -func (c *current) onBlockAttributes27(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onDocumentFragment1538() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonBlockAttributes27() (interface{}, error) { +func (p *parser) callonDocumentFragment1538() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onBlockAttributes27(stack["element"]) + return p.cur.onDocumentFragment1538() } -func (c *current) onBlockAttributes96() (interface{}, error) { - - return types.NewStringElement(string(c.text)) - +func (c *current) onDocumentFragment1541() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonBlockAttributes96() (interface{}, error) { +func (p *parser) callonDocumentFragment1541() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onBlockAttributes96() + return p.cur.onDocumentFragment1541() } -func (c *current) onBlockAttributes12(elements interface{}) (interface{}, error) { - return types.Reduce(elements, strings.TrimSpace), nil - +func (c *current) onDocumentFragment1501(content interface{}) (interface{}, error) { + return types.NewYamlFrontMatter(content.(string)) } -func (p *parser) callonBlockAttributes12() (interface{}, error) { +func (p *parser) callonDocumentFragment1501() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onBlockAttributes12(stack["elements"]) + return p.cur.onDocumentFragment1501(stack["content"]) } -func (c *current) onBlockAttributes8(id interface{}) (interface{}, error) { - return types.NewIDAttribute(id) +func (c *current) onDocumentFragment1497(frontmatter interface{}) (interface{}, error) { + return frontmatter, nil } -func (p *parser) callonBlockAttributes8() (interface{}, error) { +func (p *parser) callonDocumentFragment1497() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onBlockAttributes8(stack["id"]) + return p.cur.onDocumentFragment1497(stack["frontmatter"]) } -func (c *current) onBlockAttributes100() (interface{}, error) { - return string(c.text), nil +func (c *current) onDocumentFragment1(attributes, element interface{}) (interface{}, error) { + c.disableFrontMatterRule() // not allowed as soon as a single element is found + c.disableDocumentHeaderRule() // not allowed anymore, based on element that was found + + if element, ok := element.(types.WithAttributes); ok && attributes != nil { + element.AddAttributes(attributes.(types.Attributes)) + } + return element, nil } -func (p *parser) callonBlockAttributes100() (interface{}, error) { +func (p *parser) callonDocumentFragment1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onBlockAttributes100() + return p.cur.onDocumentFragment1(stack["attributes"], stack["element"]) } -func (c *current) onBlockAttributes103() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onDelimitedBlockElements10() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonBlockAttributes103() (interface{}, error) { +func (p *parser) callonDelimitedBlockElements10() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onBlockAttributes103() + return p.cur.onDelimitedBlockElements10() } -func (c *current) onBlockAttributes117() (interface{}, error) { - return string(c.text), nil - +func (c *current) onDelimitedBlockElements6(ref interface{}) (interface{}, error) { + return types.NewElementPlaceHolder(ref.(string)) } -func (p *parser) callonBlockAttributes117() (interface{}, error) { +func (p *parser) callonDelimitedBlockElements6() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onBlockAttributes117() + return p.cur.onDelimitedBlockElements6(stack["ref"]) } -func (c *current) onBlockAttributes120() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onDelimitedBlockElements1(elements interface{}) (interface{}, error) { + return elements, nil + } -func (p *parser) callonBlockAttributes120() (interface{}, error) { +func (p *parser) callonDelimitedBlockElements1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onBlockAttributes120() + return p.cur.onDelimitedBlockElements1(stack["elements"]) } -func (c *current) onBlockAttributes111() (interface{}, error) { - return types.NewBlankLine() +func (c *current) onAttributeDeclaration5() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonBlockAttributes111() (interface{}, error) { +func (p *parser) callonAttributeDeclaration5() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onBlockAttributes111() + return p.cur.onAttributeDeclaration5() } -func (c *current) onBlockAttributes5(anchor interface{}) (interface{}, error) { - return anchor, nil +func (c *current) onAttributeDeclaration15() (interface{}, error) { + // log.Debug("matched multiple spaces") + return string(c.text), nil } -func (p *parser) callonBlockAttributes5() (interface{}, error) { +func (p *parser) callonAttributeDeclaration15() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onBlockAttributes5(stack["anchor"]) + return p.cur.onAttributeDeclaration15() } -func (c *current) onBlockAttributes141() (interface{}, error) { - return string(c.text), nil +func (c *current) onAttributeDeclaration13(value interface{}) (interface{}, error) { + return value, nil } -func (p *parser) callonBlockAttributes141() (interface{}, error) { +func (p *parser) callonAttributeDeclaration13() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onBlockAttributes141() + return p.cur.onAttributeDeclaration13(stack["value"]) } -func (c *current) onBlockAttributes148() (interface{}, error) { +func (c *current) onAttributeDeclaration21() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonBlockAttributes148() (interface{}, error) { +func (p *parser) callonAttributeDeclaration21() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onBlockAttributes148() + return p.cur.onAttributeDeclaration21() } -func (c *current) onBlockAttributes144(name interface{}) (interface{}, error) { - - log.Debug("matching escaped attribute reference") - // return types.NewStringElement("{"+name.(string)+"}") - return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) +func (c *current) onAttributeDeclaration1(name, value interface{}) (interface{}, error) { + return types.NewAttributeDeclaration(name.(string), types.Reduce(value, strings.TrimSpace), string(c.text)) } -func (p *parser) callonBlockAttributes144() (interface{}, error) { +func (p *parser) callonAttributeDeclaration1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onBlockAttributes144(stack["name"]) + return p.cur.onAttributeDeclaration1(stack["name"], stack["value"]) } -func (c *current) onBlockAttributes158() (interface{}, error) { +func (c *current) onAttributeDeclarationValue14() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonBlockAttributes158() (interface{}, error) { +func (p *parser) callonAttributeDeclarationValue14() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onBlockAttributes158() + return p.cur.onAttributeDeclarationValue14() } -func (c *current) onBlockAttributes154(name interface{}) (interface{}, error) { - - return types.NewAttributeSubstitution(name.(string), string(c.text)) - +func (c *current) onAttributeDeclarationValue17() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonBlockAttributes154() (interface{}, error) { +func (p *parser) callonAttributeDeclarationValue17() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onBlockAttributes154(stack["name"]) + return p.cur.onAttributeDeclarationValue17() } -func (c *current) onBlockAttributes164() (interface{}, error) { - - return string(c.text), nil +func (c *current) onAttributeDeclarationValue26() (interface{}, error) { + return types.NewStringElement(string(c.text)) } -func (p *parser) callonBlockAttributes164() (interface{}, error) { +func (p *parser) callonAttributeDeclarationValue26() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onBlockAttributes164() + return p.cur.onAttributeDeclarationValue26() } -func (c *current) onBlockAttributes134(elements interface{}) (interface{}, error) { - return types.Reduce(elements, strings.TrimSpace), nil +func (c *current) onAttributeDeclarationValue29() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonBlockAttributes134() (interface{}, error) { +func (p *parser) callonAttributeDeclarationValue29() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onBlockAttributes134(stack["elements"]) + return p.cur.onAttributeDeclarationValue29() } -func (c *current) onBlockAttributes130(title interface{}) (interface{}, error) { - return types.NewTitleAttribute(title) +func (c *current) onAttributeDeclarationValue33() (bool, error) { + return c.isSubstitutionEnabled(Attributes), nil } -func (p *parser) callonBlockAttributes130() (interface{}, error) { +func (p *parser) callonAttributeDeclarationValue33() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onBlockAttributes130(stack["title"]) + return p.cur.onAttributeDeclarationValue33() } -func (c *current) onBlockAttributes167() (interface{}, error) { +func (c *current) onAttributeDeclarationValue40() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonBlockAttributes167() (interface{}, error) { +func (p *parser) callonAttributeDeclarationValue40() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onBlockAttributes167() + return p.cur.onAttributeDeclarationValue40() } -func (c *current) onBlockAttributes170() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onAttributeDeclarationValue52() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonBlockAttributes170() (interface{}, error) { +func (p *parser) callonAttributeDeclarationValue52() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onBlockAttributes170() + return p.cur.onAttributeDeclarationValue52() } -func (c *current) onBlockAttributes184() (interface{}, error) { - return string(c.text), nil +func (c *current) onAttributeDeclarationValue54() (interface{}, error) { + + return strconv.Atoi(string(c.text)) } -func (p *parser) callonBlockAttributes184() (interface{}, error) { +func (p *parser) callonAttributeDeclarationValue54() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onBlockAttributes184() + return p.cur.onAttributeDeclarationValue54() } -func (c *current) onBlockAttributes187() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onAttributeDeclarationValue47(start interface{}) (interface{}, error) { + return start, nil + } -func (p *parser) callonBlockAttributes187() (interface{}, error) { +func (p *parser) callonAttributeDeclarationValue47() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onBlockAttributes187() + return p.cur.onAttributeDeclarationValue47(stack["start"]) } -func (c *current) onBlockAttributes178() (interface{}, error) { - return types.NewBlankLine() - +func (c *current) onAttributeDeclarationValue36(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) } -func (p *parser) callonBlockAttributes178() (interface{}, error) { +func (p *parser) callonAttributeDeclarationValue36() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onBlockAttributes178() + return p.cur.onAttributeDeclarationValue36(stack["name"], stack["start"]) } -func (c *current) onBlockAttributes127(title interface{}) (interface{}, error) { - return title, nil +func (c *current) onAttributeDeclarationValue62() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonBlockAttributes127() (interface{}, error) { +func (p *parser) callonAttributeDeclarationValue62() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onBlockAttributes127(stack["title"]) + return p.cur.onAttributeDeclarationValue62() } -func (c *current) onBlockAttributes199() (interface{}, error) { +func (c *current) onAttributeDeclarationValue74() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonBlockAttributes199() (interface{}, error) { +func (p *parser) callonAttributeDeclarationValue74() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onBlockAttributes199() + return p.cur.onAttributeDeclarationValue74() } -func (c *current) onBlockAttributes202() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onAttributeDeclarationValue76() (interface{}, error) { + + return strconv.Atoi(string(c.text)) + } -func (p *parser) callonBlockAttributes202() (interface{}, error) { +func (p *parser) callonAttributeDeclarationValue76() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onBlockAttributes202() + return p.cur.onAttributeDeclarationValue76() } -func (c *current) onBlockAttributes216() (interface{}, error) { - return string(c.text), nil +func (c *current) onAttributeDeclarationValue69(start interface{}) (interface{}, error) { + return start, nil } -func (p *parser) callonBlockAttributes216() (interface{}, error) { +func (p *parser) callonAttributeDeclarationValue69() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onBlockAttributes216() + return p.cur.onAttributeDeclarationValue69(stack["start"]) } -func (c *current) onBlockAttributes219() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onAttributeDeclarationValue58(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) } -func (p *parser) callonBlockAttributes219() (interface{}, error) { +func (p *parser) callonAttributeDeclarationValue58() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onBlockAttributes219() + return p.cur.onAttributeDeclarationValue58(stack["name"], stack["start"]) } -func (c *current) onBlockAttributes210() (interface{}, error) { - return types.NewBlankLine() +func (c *current) onAttributeDeclarationValue84() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonBlockAttributes210() (interface{}, error) { +func (p *parser) callonAttributeDeclarationValue84() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onBlockAttributes210() + return p.cur.onAttributeDeclarationValue84() } -func (c *current) onBlockAttributes194(attributes interface{}) (interface{}, error) { - return attributes, nil +func (c *current) onAttributeDeclarationValue80(name interface{}) (interface{}, error) { + + log.Debug("matching escaped attribute reference") + // return types.NewStringElement("{"+name.(string)+"}") + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) } -func (p *parser) callonBlockAttributes194() (interface{}, error) { +func (p *parser) callonAttributeDeclarationValue80() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onBlockAttributes194(stack["attributes"]) + return p.cur.onAttributeDeclarationValue80(stack["name"]) } -func (c *current) onBlockAttributes1(attributes interface{}) (interface{}, error) { - // c.unsetCurrentSubstitution() - return types.MergeAttributes(attributes.([]interface{})...) +func (c *current) onAttributeDeclarationValue94() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonBlockAttributes1() (interface{}, error) { +func (p *parser) callonAttributeDeclarationValue94() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onBlockAttributes1(stack["attributes"]) + return p.cur.onAttributeDeclarationValue94() } -func (c *current) onInlineAttributes6(attribute interface{}) (interface{}, error) { - return attribute, nil +func (c *current) onAttributeDeclarationValue90(name interface{}) (interface{}, error) { + + return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonInlineAttributes6() (interface{}, error) { +func (p *parser) callonAttributeDeclarationValue90() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineAttributes6(stack["attribute"]) + return p.cur.onAttributeDeclarationValue90(stack["name"]) } -func (c *current) onInlineAttributes1(attributes interface{}) (interface{}, error) { - return types.NewAttributes(attributes.([]interface{})...) +func (c *current) onAttributeDeclarationValue31(element interface{}) (interface{}, error) { + return element, nil } -func (p *parser) callonInlineAttributes1() (interface{}, error) { +func (p *parser) callonAttributeDeclarationValue31() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineAttributes1(stack["attributes"]) + return p.cur.onAttributeDeclarationValue31(stack["element"]) } -func (c *current) onLongHandAttributes1(firstPositionalAttributes, otherAttributes interface{}) (interface{}, error) { - attributes := []interface{}{} - if firstPositionalAttributes != nil { - attributes = append(attributes, firstPositionalAttributes.([]interface{})...) - } - if len(otherAttributes.([]interface{})) > 0 { - attributes = append(attributes, otherAttributes.([]interface{})...) - } - return types.NewAttributes(attributes...) +func (c *current) onAttributeDeclarationValue100() (interface{}, error) { + // standalone '{' + return types.NewStringElement(string(c.text)) } -func (p *parser) callonLongHandAttributes1() (interface{}, error) { +func (p *parser) callonAttributeDeclarationValue100() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes1(stack["firstPositionalAttributes"], stack["otherAttributes"]) + return p.cur.onAttributeDeclarationValue100() } -func (c *current) onFirstPositionalAttributes8(extra interface{}) (interface{}, error) { - return extra, nil +func (c *current) onAttributeDeclarationValue7(element interface{}) (interface{}, error) { + + return element, nil } -func (p *parser) callonFirstPositionalAttributes8() (interface{}, error) { +func (p *parser) callonAttributeDeclarationValue7() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFirstPositionalAttributes8(stack["extra"]) + return p.cur.onAttributeDeclarationValue7(stack["element"]) } -func (c *current) onFirstPositionalAttributes23() (interface{}, error) { - return string(c.text), nil +func (c *current) onAttributeDeclarationValue4(elements interface{}) (interface{}, error) { + return elements.([]interface{}), nil } -func (p *parser) callonFirstPositionalAttributes23() (interface{}, error) { +func (p *parser) callonAttributeDeclarationValue4() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFirstPositionalAttributes23() + return p.cur.onAttributeDeclarationValue4(stack["elements"]) } -func (c *current) onFirstPositionalAttributes25(main, extras interface{}) (bool, error) { - // make sure there was a match - return main != nil || len(extras.([]interface{})) > 0, nil - +func (c *current) onAttributeDeclarationValue107() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonFirstPositionalAttributes25() (bool, error) { +func (p *parser) callonAttributeDeclarationValue107() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFirstPositionalAttributes25(stack["main"], stack["extras"]) + return p.cur.onAttributeDeclarationValue107() } -func (c *current) onFirstPositionalAttributes1(main, extras interface{}) (interface{}, error) { - attrs := []interface{}{} - if main != nil { - attrs = append(attrs, main) - } - if len(extras.([]interface{})) > 0 { - attrs = append(attrs, extras.([]interface{})...) - } - return attrs, nil +func (c *current) onAttributeDeclarationValue113() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonFirstPositionalAttributes1() (interface{}, error) { +func (p *parser) callonAttributeDeclarationValue113() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFirstPositionalAttributes1(stack["main"], stack["extras"]) + return p.cur.onAttributeDeclarationValue113() } -func (c *current) onShortHandIDAttribute1(id interface{}) (interface{}, error) { - return types.NewIDAttribute(id) +func (c *current) onAttributeDeclarationValue104(elements interface{}) (interface{}, error) { + return elements, nil } -func (p *parser) callonShortHandIDAttribute1() (interface{}, error) { +func (p *parser) callonAttributeDeclarationValue104() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortHandIDAttribute1(stack["id"]) + return p.cur.onAttributeDeclarationValue104(stack["elements"]) } -func (c *current) onShortHandAttribute1(value interface{}) (interface{}, error) { - return types.NewPositionalAttribute(value) +func (c *current) onAttributeDeclarationValue1(elements, otherElements interface{}) (interface{}, error) { + if otherElements, ok := otherElements.([]interface{}); ok { + return types.Reduce(append(elements.([]interface{}), otherElements...), strings.TrimSpace), nil + } + return types.Reduce(elements.([]interface{}), strings.TrimSpace), nil } -func (p *parser) callonShortHandAttribute1() (interface{}, error) { +func (p *parser) callonAttributeDeclarationValue1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortHandAttribute1(stack["value"]) + return p.cur.onAttributeDeclarationValue1(stack["elements"], stack["otherElements"]) } -func (c *current) onShortHandDotRoleAttribute1(role interface{}) (interface{}, error) { - return types.NewRoleAttribute(role) +func (c *current) onBlockAttributes16() (interface{}, error) { + // spaces, commas and dots are allowed in this syntax + return types.NewStringElement(string(c.text)) } -func (p *parser) callonShortHandDotRoleAttribute1() (interface{}, error) { +func (p *parser) callonBlockAttributes16() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortHandDotRoleAttribute1(stack["role"]) + return p.cur.onBlockAttributes16() } -func (c *current) onShortHandOptionAttribute1(option interface{}) (interface{}, error) { - return types.NewOptionAttribute(option) - +func (c *current) onBlockAttributes23() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonShortHandOptionAttribute1() (interface{}, error) { +func (p *parser) callonBlockAttributes23() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortHandOptionAttribute1(stack["option"]) + return p.cur.onBlockAttributes23() } -func (c *current) onShortHandAttributeValue9() (interface{}, error) { - return types.NewStringElement(string(c.text)) - +func (c *current) onBlockAttributes19(ref interface{}) (interface{}, error) { + return types.NewElementPlaceHolder(ref.(string)) } -func (p *parser) callonShortHandAttributeValue9() (interface{}, error) { +func (p *parser) callonBlockAttributes19() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortHandAttributeValue9() + return p.cur.onBlockAttributes19(stack["ref"]) } -func (c *current) onShortHandAttributeValue14() (bool, error) { +func (c *current) onBlockAttributes29() (bool, error) { return c.isSubstitutionEnabled(Attributes), nil } -func (p *parser) callonShortHandAttributeValue14() (bool, error) { +func (p *parser) callonBlockAttributes29() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortHandAttributeValue14() + return p.cur.onBlockAttributes29() } -func (c *current) onShortHandAttributeValue21() (interface{}, error) { +func (c *current) onBlockAttributes36() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonShortHandAttributeValue21() (interface{}, error) { +func (p *parser) callonBlockAttributes36() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortHandAttributeValue21() + return p.cur.onBlockAttributes36() } -func (c *current) onShortHandAttributeValue33() (interface{}, error) { +func (c *current) onBlockAttributes48() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonShortHandAttributeValue33() (interface{}, error) { +func (p *parser) callonBlockAttributes48() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortHandAttributeValue33() + return p.cur.onBlockAttributes48() } -func (c *current) onShortHandAttributeValue35() (interface{}, error) { +func (c *current) onBlockAttributes50() (interface{}, error) { return strconv.Atoi(string(c.text)) } -func (p *parser) callonShortHandAttributeValue35() (interface{}, error) { +func (p *parser) callonBlockAttributes50() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortHandAttributeValue35() + return p.cur.onBlockAttributes50() } -func (c *current) onShortHandAttributeValue28(start interface{}) (interface{}, error) { +func (c *current) onBlockAttributes43(start interface{}) (interface{}, error) { return start, nil } -func (p *parser) callonShortHandAttributeValue28() (interface{}, error) { +func (p *parser) callonBlockAttributes43() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortHandAttributeValue28(stack["start"]) + return p.cur.onBlockAttributes43(stack["start"]) } -func (c *current) onShortHandAttributeValue17(name, start interface{}) (interface{}, error) { +func (c *current) onBlockAttributes32(name, start interface{}) (interface{}, error) { return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) } -func (p *parser) callonShortHandAttributeValue17() (interface{}, error) { +func (p *parser) callonBlockAttributes32() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortHandAttributeValue17(stack["name"], stack["start"]) + return p.cur.onBlockAttributes32(stack["name"], stack["start"]) } -func (c *current) onShortHandAttributeValue43() (interface{}, error) { +func (c *current) onBlockAttributes58() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonShortHandAttributeValue43() (interface{}, error) { +func (p *parser) callonBlockAttributes58() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortHandAttributeValue43() + return p.cur.onBlockAttributes58() } -func (c *current) onShortHandAttributeValue55() (interface{}, error) { +func (c *current) onBlockAttributes70() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonShortHandAttributeValue55() (interface{}, error) { +func (p *parser) callonBlockAttributes70() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortHandAttributeValue55() + return p.cur.onBlockAttributes70() } -func (c *current) onShortHandAttributeValue57() (interface{}, error) { +func (c *current) onBlockAttributes72() (interface{}, error) { return strconv.Atoi(string(c.text)) } -func (p *parser) callonShortHandAttributeValue57() (interface{}, error) { +func (p *parser) callonBlockAttributes72() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortHandAttributeValue57() + return p.cur.onBlockAttributes72() } -func (c *current) onShortHandAttributeValue50(start interface{}) (interface{}, error) { +func (c *current) onBlockAttributes65(start interface{}) (interface{}, error) { return start, nil } -func (p *parser) callonShortHandAttributeValue50() (interface{}, error) { +func (p *parser) callonBlockAttributes65() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortHandAttributeValue50(stack["start"]) + return p.cur.onBlockAttributes65(stack["start"]) } -func (c *current) onShortHandAttributeValue39(name, start interface{}) (interface{}, error) { +func (c *current) onBlockAttributes54(name, start interface{}) (interface{}, error) { return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) } -func (p *parser) callonShortHandAttributeValue39() (interface{}, error) { +func (p *parser) callonBlockAttributes54() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortHandAttributeValue39(stack["name"], stack["start"]) + return p.cur.onBlockAttributes54(stack["name"], stack["start"]) } -func (c *current) onShortHandAttributeValue65() (interface{}, error) { +func (c *current) onBlockAttributes80() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonShortHandAttributeValue65() (interface{}, error) { +func (p *parser) callonBlockAttributes80() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortHandAttributeValue65() + return p.cur.onBlockAttributes80() } -func (c *current) onShortHandAttributeValue61(name interface{}) (interface{}, error) { +func (c *current) onBlockAttributes76(name interface{}) (interface{}, error) { log.Debug("matching escaped attribute reference") // return types.NewStringElement("{"+name.(string)+"}") @@ -74537,677 +72267,707 @@ func (c *current) onShortHandAttributeValue61(name interface{}) (interface{}, er } -func (p *parser) callonShortHandAttributeValue61() (interface{}, error) { +func (p *parser) callonBlockAttributes76() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortHandAttributeValue61(stack["name"]) + return p.cur.onBlockAttributes76(stack["name"]) } -func (c *current) onShortHandAttributeValue75() (interface{}, error) { +func (c *current) onBlockAttributes90() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonShortHandAttributeValue75() (interface{}, error) { +func (p *parser) callonBlockAttributes90() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortHandAttributeValue75() + return p.cur.onBlockAttributes90() } -func (c *current) onShortHandAttributeValue71(name interface{}) (interface{}, error) { +func (c *current) onBlockAttributes86(name interface{}) (interface{}, error) { return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonShortHandAttributeValue71() (interface{}, error) { +func (p *parser) callonBlockAttributes86() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortHandAttributeValue71(stack["name"]) + return p.cur.onBlockAttributes86(stack["name"]) } -func (c *current) onShortHandAttributeValue12(element interface{}) (interface{}, error) { +func (c *current) onBlockAttributes27(element interface{}) (interface{}, error) { return element, nil } -func (p *parser) callonShortHandAttributeValue12() (interface{}, error) { +func (p *parser) callonBlockAttributes27() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortHandAttributeValue12(stack["element"]) + return p.cur.onBlockAttributes27(stack["element"]) } -func (c *current) onShortHandAttributeValue81() (interface{}, error) { +func (c *current) onBlockAttributes96() (interface{}, error) { return types.NewStringElement(string(c.text)) } -func (p *parser) callonShortHandAttributeValue81() (interface{}, error) { +func (p *parser) callonBlockAttributes96() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onBlockAttributes96() +} + +func (c *current) onBlockAttributes12(elements interface{}) (interface{}, error) { + return types.Reduce(elements, strings.TrimSpace), nil + +} + +func (p *parser) callonBlockAttributes12() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onBlockAttributes12(stack["elements"]) +} + +func (c *current) onBlockAttributes8(id interface{}) (interface{}, error) { + return types.NewIDAttribute(id) + +} + +func (p *parser) callonBlockAttributes8() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onBlockAttributes8(stack["id"]) +} + +func (c *current) onBlockAttributes100() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonBlockAttributes100() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortHandAttributeValue81() + return p.cur.onBlockAttributes100() } -func (c *current) onShortHandAttributeValue87() (interface{}, error) { +func (c *current) onBlockAttributes103() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonShortHandAttributeValue87() (interface{}, error) { +func (p *parser) callonBlockAttributes103() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortHandAttributeValue87() + return p.cur.onBlockAttributes103() } -func (c *current) onShortHandAttributeValue4(elements interface{}) (interface{}, error) { - return types.Reduce(elements, strings.TrimSpace), nil +func (c *current) onBlockAttributes117() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonShortHandAttributeValue4() (interface{}, error) { +func (p *parser) callonBlockAttributes117() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortHandAttributeValue4(stack["elements"]) + return p.cur.onBlockAttributes117() } -func (c *current) onPositionalAttribute11() (interface{}, error) { +func (c *current) onBlockAttributes120() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonPositionalAttribute11() (interface{}, error) { +func (p *parser) callonBlockAttributes120() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onPositionalAttribute11() + return p.cur.onBlockAttributes120() } -func (c *current) onPositionalAttribute2(value interface{}) (interface{}, error) { - // TODO: see if we can just use `((",")? / &"]")` instead (ie, no need to check for Space*) - return types.NewPositionalAttribute(value) +func (c *current) onBlockAttributes111() (interface{}, error) { + return types.NewBlankLine() } -func (p *parser) callonPositionalAttribute2() (interface{}, error) { +func (p *parser) callonBlockAttributes111() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onPositionalAttribute2(stack["value"]) + return p.cur.onBlockAttributes111() } -func (c *current) onPositionalAttribute20() (interface{}, error) { - return string(c.text), nil +func (c *current) onBlockAttributes5(anchor interface{}) (interface{}, error) { + return anchor, nil } -func (p *parser) callonPositionalAttribute20() (interface{}, error) { +func (p *parser) callonBlockAttributes5() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onPositionalAttribute20() + return p.cur.onBlockAttributes5(stack["anchor"]) } -func (c *current) onPositionalAttribute26() (interface{}, error) { +func (c *current) onBlockAttributes141() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonPositionalAttribute26() (interface{}, error) { +func (p *parser) callonBlockAttributes141() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onPositionalAttribute26() + return p.cur.onBlockAttributes141() } -func (c *current) onPositionalAttribute30(value interface{}) (bool, error) { - // here we can't rely on `c.text` if the content is empty - // (in such a case, `c.text` contains the char sequence of the previous - // rule that matched) - return !types.AllNilEntries(value.([]interface{})), nil +func (c *current) onBlockAttributes148() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonPositionalAttribute30() (bool, error) { +func (p *parser) callonBlockAttributes148() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onPositionalAttribute30(stack["value"]) + return p.cur.onBlockAttributes148() } -func (c *current) onPositionalAttribute15(value interface{}) (interface{}, error) { +func (c *current) onBlockAttributes144(name interface{}) (interface{}, error) { - return types.NewPositionalAttribute(nil) + log.Debug("matching escaped attribute reference") + // return types.NewStringElement("{"+name.(string)+"}") + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) } -func (p *parser) callonPositionalAttribute15() (interface{}, error) { +func (p *parser) callonBlockAttributes144() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onPositionalAttribute15(stack["value"]) + return p.cur.onBlockAttributes144(stack["name"]) } -func (c *current) onNamedAttribute7() (interface{}, error) { +func (c *current) onBlockAttributes158() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonNamedAttribute7() (interface{}, error) { +func (p *parser) callonBlockAttributes158() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onNamedAttribute7() -} - -func (c *current) onNamedAttribute12() (interface{}, error) { - return string(c.text), nil - + return p.cur.onBlockAttributes158() } -func (p *parser) callonNamedAttribute12() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onNamedAttribute12() -} +func (c *current) onBlockAttributes154(name interface{}) (interface{}, error) { -func (c *current) onNamedAttribute4() (interface{}, error) { - return strings.TrimSpace(string(c.text)), nil + return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonNamedAttribute4() (interface{}, error) { +func (p *parser) callonBlockAttributes154() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onNamedAttribute4() + return p.cur.onBlockAttributes154(stack["name"]) } -func (c *current) onNamedAttribute16() (interface{}, error) { +func (c *current) onBlockAttributes164() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonNamedAttribute16() (interface{}, error) { +func (p *parser) callonBlockAttributes164() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onNamedAttribute16() + return p.cur.onBlockAttributes164() } -func (c *current) onNamedAttribute24() (interface{}, error) { - return string(c.text), nil +func (c *current) onBlockAttributes134(elements interface{}) (interface{}, error) { + return types.Reduce(elements, strings.TrimSpace), nil } -func (p *parser) callonNamedAttribute24() (interface{}, error) { +func (p *parser) callonBlockAttributes134() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onNamedAttribute24() + return p.cur.onBlockAttributes134(stack["elements"]) } -func (c *current) onNamedAttribute1(key, value interface{}) (interface{}, error) { - // TODO: include `,` or expect `]` - return types.NewNamedAttribute(key.(string), value) +func (c *current) onBlockAttributes130(title interface{}) (interface{}, error) { + return types.NewTitleAttribute(title) } -func (p *parser) callonNamedAttribute1() (interface{}, error) { +func (p *parser) callonBlockAttributes130() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onNamedAttribute1(stack["key"], stack["value"]) + return p.cur.onBlockAttributes130(stack["title"]) } -func (c *current) onAttributeValue12() (interface{}, error) { +func (c *current) onBlockAttributes167() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonAttributeValue12() (interface{}, error) { +func (p *parser) callonBlockAttributes167() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeValue12() + return p.cur.onBlockAttributes167() } -func (c *current) onAttributeValue1(value interface{}) (interface{}, error) { - return value, nil - +func (c *current) onBlockAttributes170() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonAttributeValue1() (interface{}, error) { +func (p *parser) callonBlockAttributes170() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeValue1(stack["value"]) + return p.cur.onBlockAttributes170() } -func (c *current) onSingleQuotedAttributeValue1(content interface{}) (interface{}, error) { - return content, nil +func (c *current) onBlockAttributes184() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonSingleQuotedAttributeValue1() (interface{}, error) { +func (p *parser) callonBlockAttributes184() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedAttributeValue1(stack["content"]) + return p.cur.onBlockAttributes184() } -func (c *current) onSingleQuotedAttributeValueContent5() (interface{}, error) { +func (c *current) onBlockAttributes187() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonSingleQuotedAttributeValueContent5() (interface{}, error) { +func (p *parser) callonBlockAttributes187() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedAttributeValueContent5() + return p.cur.onBlockAttributes187() } -func (c *current) onSingleQuotedAttributeValueContent8() (interface{}, error) { - return string(c.text), nil +func (c *current) onBlockAttributes178() (interface{}, error) { + return types.NewBlankLine() } -func (p *parser) callonSingleQuotedAttributeValueContent8() (interface{}, error) { +func (p *parser) callonBlockAttributes178() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedAttributeValueContent8() + return p.cur.onBlockAttributes178() } -func (c *current) onSingleQuotedAttributeValueContent13() (bool, error) { - return c.isSubstitutionEnabled(Attributes), nil +func (c *current) onBlockAttributes127(title interface{}) (interface{}, error) { + return title, nil } -func (p *parser) callonSingleQuotedAttributeValueContent13() (bool, error) { +func (p *parser) callonBlockAttributes127() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedAttributeValueContent13() + return p.cur.onBlockAttributes127(stack["title"]) } -func (c *current) onSingleQuotedAttributeValueContent20() (interface{}, error) { +func (c *current) onBlockAttributes199() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonSingleQuotedAttributeValueContent20() (interface{}, error) { +func (p *parser) callonBlockAttributes199() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedAttributeValueContent20() + return p.cur.onBlockAttributes199() } -func (c *current) onSingleQuotedAttributeValueContent32() (interface{}, error) { +func (c *current) onBlockAttributes202() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonSingleQuotedAttributeValueContent32() (interface{}, error) { +func (p *parser) callonBlockAttributes202() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedAttributeValueContent32() + return p.cur.onBlockAttributes202() } -func (c *current) onSingleQuotedAttributeValueContent34() (interface{}, error) { - - return strconv.Atoi(string(c.text)) +func (c *current) onBlockAttributes216() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonSingleQuotedAttributeValueContent34() (interface{}, error) { +func (p *parser) callonBlockAttributes216() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedAttributeValueContent34() + return p.cur.onBlockAttributes216() } -func (c *current) onSingleQuotedAttributeValueContent27(start interface{}) (interface{}, error) { - return start, nil - +func (c *current) onBlockAttributes219() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonSingleQuotedAttributeValueContent27() (interface{}, error) { +func (p *parser) callonBlockAttributes219() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedAttributeValueContent27(stack["start"]) + return p.cur.onBlockAttributes219() } -func (c *current) onSingleQuotedAttributeValueContent16(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) +func (c *current) onBlockAttributes210() (interface{}, error) { + return types.NewBlankLine() + } -func (p *parser) callonSingleQuotedAttributeValueContent16() (interface{}, error) { +func (p *parser) callonBlockAttributes210() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedAttributeValueContent16(stack["name"], stack["start"]) + return p.cur.onBlockAttributes210() } -func (c *current) onSingleQuotedAttributeValueContent42() (interface{}, error) { - return string(c.text), nil +func (c *current) onBlockAttributes194(attributes interface{}) (interface{}, error) { + return attributes, nil } -func (p *parser) callonSingleQuotedAttributeValueContent42() (interface{}, error) { +func (p *parser) callonBlockAttributes194() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedAttributeValueContent42() + return p.cur.onBlockAttributes194(stack["attributes"]) } -func (c *current) onSingleQuotedAttributeValueContent54() (interface{}, error) { - return string(c.text), nil +func (c *current) onBlockAttributes1(attributes interface{}) (interface{}, error) { + // c.unsetCurrentSubstitution() + return types.MergeAttributes(attributes.([]interface{})...) } -func (p *parser) callonSingleQuotedAttributeValueContent54() (interface{}, error) { +func (p *parser) callonBlockAttributes1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedAttributeValueContent54() + return p.cur.onBlockAttributes1(stack["attributes"]) } -func (c *current) onSingleQuotedAttributeValueContent56() (interface{}, error) { - - return strconv.Atoi(string(c.text)) +func (c *current) onInlineAttributes6(attribute interface{}) (interface{}, error) { + return attribute, nil } -func (p *parser) callonSingleQuotedAttributeValueContent56() (interface{}, error) { +func (p *parser) callonInlineAttributes6() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedAttributeValueContent56() + return p.cur.onInlineAttributes6(stack["attribute"]) } -func (c *current) onSingleQuotedAttributeValueContent49(start interface{}) (interface{}, error) { - return start, nil +func (c *current) onInlineAttributes1(attributes interface{}) (interface{}, error) { + return types.NewAttributes(attributes.([]interface{})...) } -func (p *parser) callonSingleQuotedAttributeValueContent49() (interface{}, error) { +func (p *parser) callonInlineAttributes1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedAttributeValueContent49(stack["start"]) + return p.cur.onInlineAttributes1(stack["attributes"]) } -func (c *current) onSingleQuotedAttributeValueContent38(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) +func (c *current) onLongHandAttributes1(firstPositionalAttributes, otherAttributes interface{}) (interface{}, error) { + attributes := []interface{}{} + if firstPositionalAttributes != nil { + attributes = append(attributes, firstPositionalAttributes.([]interface{})...) + } + if len(otherAttributes.([]interface{})) > 0 { + attributes = append(attributes, otherAttributes.([]interface{})...) + } + return types.NewAttributes(attributes...) + } -func (p *parser) callonSingleQuotedAttributeValueContent38() (interface{}, error) { +func (p *parser) callonLongHandAttributes1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedAttributeValueContent38(stack["name"], stack["start"]) + return p.cur.onLongHandAttributes1(stack["firstPositionalAttributes"], stack["otherAttributes"]) } -func (c *current) onSingleQuotedAttributeValueContent64() (interface{}, error) { - return string(c.text), nil +func (c *current) onFirstPositionalAttributes8(extra interface{}) (interface{}, error) { + return extra, nil } -func (p *parser) callonSingleQuotedAttributeValueContent64() (interface{}, error) { +func (p *parser) callonFirstPositionalAttributes8() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedAttributeValueContent64() + return p.cur.onFirstPositionalAttributes8(stack["extra"]) } -func (c *current) onSingleQuotedAttributeValueContent60(name interface{}) (interface{}, error) { - - log.Debug("matching escaped attribute reference") - // return types.NewStringElement("{"+name.(string)+"}") - return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) +func (c *current) onFirstPositionalAttributes23() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonSingleQuotedAttributeValueContent60() (interface{}, error) { +func (p *parser) callonFirstPositionalAttributes23() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedAttributeValueContent60(stack["name"]) + return p.cur.onFirstPositionalAttributes23() } -func (c *current) onSingleQuotedAttributeValueContent74() (interface{}, error) { - return string(c.text), nil +func (c *current) onFirstPositionalAttributes25(main, extras interface{}) (bool, error) { + // make sure there was a match + return main != nil || len(extras.([]interface{})) > 0, nil } -func (p *parser) callonSingleQuotedAttributeValueContent74() (interface{}, error) { +func (p *parser) callonFirstPositionalAttributes25() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedAttributeValueContent74() + return p.cur.onFirstPositionalAttributes25(stack["main"], stack["extras"]) } -func (c *current) onSingleQuotedAttributeValueContent70(name interface{}) (interface{}, error) { - - return types.NewAttributeSubstitution(name.(string), string(c.text)) +func (c *current) onFirstPositionalAttributes1(main, extras interface{}) (interface{}, error) { + attrs := []interface{}{} + if main != nil { + attrs = append(attrs, main) + } + if len(extras.([]interface{})) > 0 { + attrs = append(attrs, extras.([]interface{})...) + } + return attrs, nil } -func (p *parser) callonSingleQuotedAttributeValueContent70() (interface{}, error) { +func (p *parser) callonFirstPositionalAttributes1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedAttributeValueContent70(stack["name"]) + return p.cur.onFirstPositionalAttributes1(stack["main"], stack["extras"]) } -func (c *current) onSingleQuotedAttributeValueContent11(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onShortHandIDAttribute1(id interface{}) (interface{}, error) { + return types.NewIDAttribute(id) } -func (p *parser) callonSingleQuotedAttributeValueContent11() (interface{}, error) { +func (p *parser) callonShortHandIDAttribute1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedAttributeValueContent11(stack["element"]) + return p.cur.onShortHandIDAttribute1(stack["id"]) } -func (c *current) onSingleQuotedAttributeValueContent80() (interface{}, error) { - - return types.NewStringElement(`'`) // escaped single quote +func (c *current) onShortHandAttribute1(value interface{}) (interface{}, error) { + return types.NewPositionalAttribute(value) } -func (p *parser) callonSingleQuotedAttributeValueContent80() (interface{}, error) { +func (p *parser) callonShortHandAttribute1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedAttributeValueContent80() + return p.cur.onShortHandAttribute1(stack["value"]) } -func (c *current) onSingleQuotedAttributeValueContent84() (interface{}, error) { - // quoted string delimiters or standalone backslash - return types.NewStringElement(string(c.text)) // keep as-is for now +func (c *current) onShortHandDotRoleAttribute1(role interface{}) (interface{}, error) { + return types.NewRoleAttribute(role) } -func (p *parser) callonSingleQuotedAttributeValueContent84() (interface{}, error) { +func (p *parser) callonShortHandDotRoleAttribute1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedAttributeValueContent84() + return p.cur.onShortHandDotRoleAttribute1(stack["role"]) } -func (c *current) onSingleQuotedAttributeValueContent86() (interface{}, error) { - // = and , signs are allowed within '' quoted values - return types.NewStringElement(string(c.text)) +func (c *current) onShortHandOptionAttribute1(option interface{}) (interface{}, error) { + return types.NewOptionAttribute(option) } -func (p *parser) callonSingleQuotedAttributeValueContent86() (interface{}, error) { +func (p *parser) callonShortHandOptionAttribute1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedAttributeValueContent86() + return p.cur.onShortHandOptionAttribute1(stack["option"]) } -func (c *current) onSingleQuotedAttributeValueContent1(elements interface{}) (interface{}, error) { - return types.Reduce(elements), nil +func (c *current) onShortHandAttributeValue9() (interface{}, error) { + return types.NewSymbol("\"`") } -func (p *parser) callonSingleQuotedAttributeValueContent1() (interface{}, error) { +func (p *parser) callonShortHandAttributeValue9() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedAttributeValueContent1(stack["elements"]) + return p.cur.onShortHandAttributeValue9() } -func (c *current) onDoubleQuotedAttributeValue13() (interface{}, error) { - return string(c.text), nil +func (c *current) onShortHandAttributeValue11() (interface{}, error) { + return types.NewSymbol("`\"") } -func (p *parser) callonDoubleQuotedAttributeValue13() (interface{}, error) { +func (p *parser) callonShortHandAttributeValue11() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuotedAttributeValue13() + return p.cur.onShortHandAttributeValue11() } -func (c *current) onDoubleQuotedAttributeValue1(content interface{}) (interface{}, error) { - return content, nil +func (c *current) onShortHandAttributeValue13() (interface{}, error) { + return types.NewSymbol("'`") } -func (p *parser) callonDoubleQuotedAttributeValue1() (interface{}, error) { +func (p *parser) callonShortHandAttributeValue13() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuotedAttributeValue1(stack["content"]) + return p.cur.onShortHandAttributeValue13() } -func (c *current) onDoubleQuotedAttributeValueContent5() (interface{}, error) { - return string(c.text), nil +func (c *current) onShortHandAttributeValue15() (interface{}, error) { + return types.NewSymbol("`'") } -func (p *parser) callonDoubleQuotedAttributeValueContent5() (interface{}, error) { +func (p *parser) callonShortHandAttributeValue15() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuotedAttributeValueContent5() + return p.cur.onShortHandAttributeValue15() } -func (c *current) onDoubleQuotedAttributeValueContent8() (interface{}, error) { - return string(c.text), nil +func (c *current) onShortHandAttributeValue17() (interface{}, error) { + return types.NewStringElement(string(c.text)) } -func (p *parser) callonDoubleQuotedAttributeValueContent8() (interface{}, error) { +func (p *parser) callonShortHandAttributeValue17() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuotedAttributeValueContent8() + return p.cur.onShortHandAttributeValue17() } -func (c *current) onDoubleQuotedAttributeValueContent13() (bool, error) { +func (c *current) onShortHandAttributeValue22() (bool, error) { return c.isSubstitutionEnabled(Attributes), nil } -func (p *parser) callonDoubleQuotedAttributeValueContent13() (bool, error) { +func (p *parser) callonShortHandAttributeValue22() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuotedAttributeValueContent13() + return p.cur.onShortHandAttributeValue22() } -func (c *current) onDoubleQuotedAttributeValueContent20() (interface{}, error) { +func (c *current) onShortHandAttributeValue29() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDoubleQuotedAttributeValueContent20() (interface{}, error) { +func (p *parser) callonShortHandAttributeValue29() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuotedAttributeValueContent20() + return p.cur.onShortHandAttributeValue29() } -func (c *current) onDoubleQuotedAttributeValueContent32() (interface{}, error) { +func (c *current) onShortHandAttributeValue41() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDoubleQuotedAttributeValueContent32() (interface{}, error) { +func (p *parser) callonShortHandAttributeValue41() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuotedAttributeValueContent32() + return p.cur.onShortHandAttributeValue41() } -func (c *current) onDoubleQuotedAttributeValueContent34() (interface{}, error) { +func (c *current) onShortHandAttributeValue43() (interface{}, error) { return strconv.Atoi(string(c.text)) } -func (p *parser) callonDoubleQuotedAttributeValueContent34() (interface{}, error) { +func (p *parser) callonShortHandAttributeValue43() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuotedAttributeValueContent34() + return p.cur.onShortHandAttributeValue43() } -func (c *current) onDoubleQuotedAttributeValueContent27(start interface{}) (interface{}, error) { +func (c *current) onShortHandAttributeValue36(start interface{}) (interface{}, error) { return start, nil } -func (p *parser) callonDoubleQuotedAttributeValueContent27() (interface{}, error) { +func (p *parser) callonShortHandAttributeValue36() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuotedAttributeValueContent27(stack["start"]) + return p.cur.onShortHandAttributeValue36(stack["start"]) } -func (c *current) onDoubleQuotedAttributeValueContent16(name, start interface{}) (interface{}, error) { +func (c *current) onShortHandAttributeValue25(name, start interface{}) (interface{}, error) { return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) } -func (p *parser) callonDoubleQuotedAttributeValueContent16() (interface{}, error) { +func (p *parser) callonShortHandAttributeValue25() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuotedAttributeValueContent16(stack["name"], stack["start"]) + return p.cur.onShortHandAttributeValue25(stack["name"], stack["start"]) } -func (c *current) onDoubleQuotedAttributeValueContent42() (interface{}, error) { +func (c *current) onShortHandAttributeValue51() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDoubleQuotedAttributeValueContent42() (interface{}, error) { +func (p *parser) callonShortHandAttributeValue51() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuotedAttributeValueContent42() + return p.cur.onShortHandAttributeValue51() } -func (c *current) onDoubleQuotedAttributeValueContent54() (interface{}, error) { +func (c *current) onShortHandAttributeValue63() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDoubleQuotedAttributeValueContent54() (interface{}, error) { +func (p *parser) callonShortHandAttributeValue63() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuotedAttributeValueContent54() + return p.cur.onShortHandAttributeValue63() } -func (c *current) onDoubleQuotedAttributeValueContent56() (interface{}, error) { +func (c *current) onShortHandAttributeValue65() (interface{}, error) { return strconv.Atoi(string(c.text)) } -func (p *parser) callonDoubleQuotedAttributeValueContent56() (interface{}, error) { +func (p *parser) callonShortHandAttributeValue65() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuotedAttributeValueContent56() + return p.cur.onShortHandAttributeValue65() } -func (c *current) onDoubleQuotedAttributeValueContent49(start interface{}) (interface{}, error) { +func (c *current) onShortHandAttributeValue58(start interface{}) (interface{}, error) { return start, nil } -func (p *parser) callonDoubleQuotedAttributeValueContent49() (interface{}, error) { +func (p *parser) callonShortHandAttributeValue58() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuotedAttributeValueContent49(stack["start"]) + return p.cur.onShortHandAttributeValue58(stack["start"]) } -func (c *current) onDoubleQuotedAttributeValueContent38(name, start interface{}) (interface{}, error) { +func (c *current) onShortHandAttributeValue47(name, start interface{}) (interface{}, error) { return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) } -func (p *parser) callonDoubleQuotedAttributeValueContent38() (interface{}, error) { +func (p *parser) callonShortHandAttributeValue47() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuotedAttributeValueContent38(stack["name"], stack["start"]) + return p.cur.onShortHandAttributeValue47(stack["name"], stack["start"]) } -func (c *current) onDoubleQuotedAttributeValueContent64() (interface{}, error) { +func (c *current) onShortHandAttributeValue73() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDoubleQuotedAttributeValueContent64() (interface{}, error) { +func (p *parser) callonShortHandAttributeValue73() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuotedAttributeValueContent64() + return p.cur.onShortHandAttributeValue73() } -func (c *current) onDoubleQuotedAttributeValueContent60(name interface{}) (interface{}, error) { +func (c *current) onShortHandAttributeValue69(name interface{}) (interface{}, error) { log.Debug("matching escaped attribute reference") // return types.NewStringElement("{"+name.(string)+"}") @@ -75215,3452 +72975,3387 @@ func (c *current) onDoubleQuotedAttributeValueContent60(name interface{}) (inter } -func (p *parser) callonDoubleQuotedAttributeValueContent60() (interface{}, error) { +func (p *parser) callonShortHandAttributeValue69() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuotedAttributeValueContent60(stack["name"]) + return p.cur.onShortHandAttributeValue69(stack["name"]) } -func (c *current) onDoubleQuotedAttributeValueContent74() (interface{}, error) { +func (c *current) onShortHandAttributeValue83() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDoubleQuotedAttributeValueContent74() (interface{}, error) { +func (p *parser) callonShortHandAttributeValue83() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuotedAttributeValueContent74() + return p.cur.onShortHandAttributeValue83() } -func (c *current) onDoubleQuotedAttributeValueContent70(name interface{}) (interface{}, error) { +func (c *current) onShortHandAttributeValue79(name interface{}) (interface{}, error) { return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonDoubleQuotedAttributeValueContent70() (interface{}, error) { +func (p *parser) callonShortHandAttributeValue79() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuotedAttributeValueContent70(stack["name"]) + return p.cur.onShortHandAttributeValue79(stack["name"]) } -func (c *current) onDoubleQuotedAttributeValueContent11(element interface{}) (interface{}, error) { +func (c *current) onShortHandAttributeValue20(element interface{}) (interface{}, error) { return element, nil } -func (p *parser) callonDoubleQuotedAttributeValueContent11() (interface{}, error) { +func (p *parser) callonShortHandAttributeValue20() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuotedAttributeValueContent11(stack["element"]) + return p.cur.onShortHandAttributeValue20(stack["element"]) } -func (c *current) onDoubleQuotedAttributeValueContent80() (interface{}, error) { +func (c *current) onShortHandAttributeValue89() (interface{}, error) { - return types.NewStringElement(`"`) // escaped double quote + return types.NewStringElement(string(c.text)) } -func (p *parser) callonDoubleQuotedAttributeValueContent80() (interface{}, error) { +func (p *parser) callonShortHandAttributeValue89() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuotedAttributeValueContent80() + return p.cur.onShortHandAttributeValue89() } -func (c *current) onDoubleQuotedAttributeValueContent85() (interface{}, error) { - // quoted string delimiters or standalone backslash or standalone backtick - return types.NewStringElement(string(c.text)) // keep as-is for now +func (c *current) onShortHandAttributeValue95() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDoubleQuotedAttributeValueContent85() (interface{}, error) { +func (p *parser) callonShortHandAttributeValue95() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuotedAttributeValueContent85() + return p.cur.onShortHandAttributeValue95() } -func (c *current) onDoubleQuotedAttributeValueContent87() (interface{}, error) { - // = and , signs are allowed within " quoted values - return types.NewStringElement(string(c.text)) +func (c *current) onShortHandAttributeValue4(elements interface{}) (interface{}, error) { + return types.Reduce(elements, strings.TrimSpace), nil } -func (p *parser) callonDoubleQuotedAttributeValueContent87() (interface{}, error) { +func (p *parser) callonShortHandAttributeValue4() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuotedAttributeValueContent87() + return p.cur.onShortHandAttributeValue4(stack["elements"]) } -func (c *current) onDoubleQuotedAttributeValueContent1(elements interface{}) (interface{}, error) { - return types.Reduce(elements), nil +func (c *current) onPositionalAttribute11() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDoubleQuotedAttributeValueContent1() (interface{}, error) { +func (p *parser) callonPositionalAttribute11() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuotedAttributeValueContent1(stack["elements"]) + return p.cur.onPositionalAttribute11() } -func (c *current) onUnquotedAttributeValue4() (interface{}, error) { - return string(c.text), nil +func (c *current) onPositionalAttribute2(value interface{}) (interface{}, error) { + // TODO: see if we can just use `((",")? / &"]")` instead (ie, no need to check for Space*) + return types.NewPositionalAttribute(value) } -func (p *parser) callonUnquotedAttributeValue4() (interface{}, error) { +func (p *parser) callonPositionalAttribute2() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onUnquotedAttributeValue4() + return p.cur.onPositionalAttribute2(stack["value"]) } -func (c *current) onUnquotedAttributeValue14() (interface{}, error) { - // not within brackets and stop on space and `{` +func (c *current) onPositionalAttribute20() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonUnquotedAttributeValue14() (interface{}, error) { +func (p *parser) callonPositionalAttribute20() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onUnquotedAttributeValue14() + return p.cur.onPositionalAttribute20() } -func (c *current) onUnquotedAttributeValue17() (interface{}, error) { +func (c *current) onPositionalAttribute26() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonUnquotedAttributeValue17() (interface{}, error) { +func (p *parser) callonPositionalAttribute26() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onUnquotedAttributeValue17() + return p.cur.onPositionalAttribute26() } -func (c *current) onUnquotedAttributeValue21() (bool, error) { - return c.isSubstitutionEnabled(Attributes), nil +func (c *current) onPositionalAttribute30(value interface{}) (bool, error) { + // here we can't rely on `c.text` if the content is empty + // (in such a case, `c.text` contains the char sequence of the previous + // rule that matched) + return !types.AllNilEntries(value.([]interface{})), nil } -func (p *parser) callonUnquotedAttributeValue21() (bool, error) { +func (p *parser) callonPositionalAttribute30() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onUnquotedAttributeValue21() + return p.cur.onPositionalAttribute30(stack["value"]) } -func (c *current) onUnquotedAttributeValue28() (interface{}, error) { - return string(c.text), nil +func (c *current) onPositionalAttribute15(value interface{}) (interface{}, error) { + + return types.NewPositionalAttribute(nil) } -func (p *parser) callonUnquotedAttributeValue28() (interface{}, error) { +func (p *parser) callonPositionalAttribute15() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onUnquotedAttributeValue28() + return p.cur.onPositionalAttribute15(stack["value"]) } -func (c *current) onUnquotedAttributeValue40() (interface{}, error) { +func (c *current) onNamedAttribute7() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonUnquotedAttributeValue40() (interface{}, error) { +func (p *parser) callonNamedAttribute7() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onUnquotedAttributeValue40() + return p.cur.onNamedAttribute7() } -func (c *current) onUnquotedAttributeValue42() (interface{}, error) { - - return strconv.Atoi(string(c.text)) +func (c *current) onNamedAttribute12() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonUnquotedAttributeValue42() (interface{}, error) { +func (p *parser) callonNamedAttribute12() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onUnquotedAttributeValue42() -} - -func (c *current) onUnquotedAttributeValue35(start interface{}) (interface{}, error) { - return start, nil - + return p.cur.onNamedAttribute12() } -func (p *parser) callonUnquotedAttributeValue35() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onUnquotedAttributeValue35(stack["start"]) -} +func (c *current) onNamedAttribute4() (interface{}, error) { + return strings.TrimSpace(string(c.text)), nil -func (c *current) onUnquotedAttributeValue24(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) } -func (p *parser) callonUnquotedAttributeValue24() (interface{}, error) { +func (p *parser) callonNamedAttribute4() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onUnquotedAttributeValue24(stack["name"], stack["start"]) + return p.cur.onNamedAttribute4() } -func (c *current) onUnquotedAttributeValue50() (interface{}, error) { +func (c *current) onNamedAttribute16() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonUnquotedAttributeValue50() (interface{}, error) { +func (p *parser) callonNamedAttribute16() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onUnquotedAttributeValue50() + return p.cur.onNamedAttribute16() } -func (c *current) onUnquotedAttributeValue62() (interface{}, error) { +func (c *current) onNamedAttribute24() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonUnquotedAttributeValue62() (interface{}, error) { +func (p *parser) callonNamedAttribute24() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onUnquotedAttributeValue62() + return p.cur.onNamedAttribute24() } -func (c *current) onUnquotedAttributeValue64() (interface{}, error) { - - return strconv.Atoi(string(c.text)) +func (c *current) onNamedAttribute1(key, value interface{}) (interface{}, error) { + // TODO: include `,` or expect `]` + return types.NewNamedAttribute(key.(string), value) } -func (p *parser) callonUnquotedAttributeValue64() (interface{}, error) { +func (p *parser) callonNamedAttribute1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onUnquotedAttributeValue64() -} - -func (c *current) onUnquotedAttributeValue57(start interface{}) (interface{}, error) { - return start, nil - + return p.cur.onNamedAttribute1(stack["key"], stack["value"]) } -func (p *parser) callonUnquotedAttributeValue57() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onUnquotedAttributeValue57(stack["start"]) -} +func (c *current) onAttributeValue12() (interface{}, error) { + return string(c.text), nil -func (c *current) onUnquotedAttributeValue46(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) } -func (p *parser) callonUnquotedAttributeValue46() (interface{}, error) { +func (p *parser) callonAttributeValue12() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onUnquotedAttributeValue46(stack["name"], stack["start"]) + return p.cur.onAttributeValue12() } -func (c *current) onUnquotedAttributeValue72() (interface{}, error) { - return string(c.text), nil +func (c *current) onAttributeValue1(value interface{}) (interface{}, error) { + return value, nil } -func (p *parser) callonUnquotedAttributeValue72() (interface{}, error) { +func (p *parser) callonAttributeValue1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onUnquotedAttributeValue72() + return p.cur.onAttributeValue1(stack["value"]) } -func (c *current) onUnquotedAttributeValue68(name interface{}) (interface{}, error) { - - log.Debug("matching escaped attribute reference") - // return types.NewStringElement("{"+name.(string)+"}") - return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) +func (c *current) onSingleQuotedAttributeValue1(content interface{}) (interface{}, error) { + return content, nil } -func (p *parser) callonUnquotedAttributeValue68() (interface{}, error) { +func (p *parser) callonSingleQuotedAttributeValue1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onUnquotedAttributeValue68(stack["name"]) + return p.cur.onSingleQuotedAttributeValue1(stack["content"]) } -func (c *current) onUnquotedAttributeValue82() (interface{}, error) { +func (c *current) onSingleQuotedAttributeValueContent5() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonUnquotedAttributeValue82() (interface{}, error) { +func (p *parser) callonSingleQuotedAttributeValueContent5() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onUnquotedAttributeValue82() + return p.cur.onSingleQuotedAttributeValueContent5() } -func (c *current) onUnquotedAttributeValue78(name interface{}) (interface{}, error) { - - return types.NewAttributeSubstitution(name.(string), string(c.text)) +func (c *current) onSingleQuotedAttributeValueContent8() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonUnquotedAttributeValue78() (interface{}, error) { +func (p *parser) callonSingleQuotedAttributeValueContent8() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onUnquotedAttributeValue78(stack["name"]) + return p.cur.onSingleQuotedAttributeValueContent8() } -func (c *current) onUnquotedAttributeValue19(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onSingleQuotedAttributeValueContent11() (interface{}, error) { + return types.NewSymbol("\"`") } -func (p *parser) callonUnquotedAttributeValue19() (interface{}, error) { +func (p *parser) callonSingleQuotedAttributeValueContent11() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onUnquotedAttributeValue19(stack["element"]) + return p.cur.onSingleQuotedAttributeValueContent11() } -func (c *current) onUnquotedAttributeValue1(elements interface{}) (interface{}, error) { - return types.Reduce(elements, strings.TrimSpace), nil +func (c *current) onSingleQuotedAttributeValueContent13() (interface{}, error) { + return types.NewSymbol("`\"") } -func (p *parser) callonUnquotedAttributeValue1() (interface{}, error) { +func (p *parser) callonSingleQuotedAttributeValueContent13() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onUnquotedAttributeValue1(stack["elements"]) + return p.cur.onSingleQuotedAttributeValueContent13() } -func (c *current) onCrossReference6() (interface{}, error) { - // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ - return string(c.text), nil +func (c *current) onSingleQuotedAttributeValueContent15() (interface{}, error) { + return types.NewSymbol("'`") } -func (p *parser) callonCrossReference6() (interface{}, error) { +func (p *parser) callonSingleQuotedAttributeValueContent15() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onCrossReference6() + return p.cur.onSingleQuotedAttributeValueContent15() } -func (c *current) onCrossReference10() (interface{}, error) { - return string(c.text), nil +func (c *current) onSingleQuotedAttributeValueContent17() (interface{}, error) { + return types.NewSymbol("`'") } -func (p *parser) callonCrossReference10() (interface{}, error) { +func (p *parser) callonSingleQuotedAttributeValueContent17() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onCrossReference10() + return p.cur.onSingleQuotedAttributeValueContent17() } -func (c *current) onCrossReference16() (interface{}, error) { - // `{`, `>` and `>` characters are not allowed as they are used for attribute substitutions and cross-references - return types.NewStringElement(string(c.text)) +func (c *current) onSingleQuotedAttributeValueContent21() (bool, error) { + return c.isSubstitutionEnabled(Attributes), nil } -func (p *parser) callonCrossReference16() (interface{}, error) { +func (p *parser) callonSingleQuotedAttributeValueContent21() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onCrossReference16() + return p.cur.onSingleQuotedAttributeValueContent21() } -func (c *current) onCrossReference25() (interface{}, error) { +func (c *current) onSingleQuotedAttributeValueContent28() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonCrossReference25() (interface{}, error) { +func (p *parser) callonSingleQuotedAttributeValueContent28() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onCrossReference25() + return p.cur.onSingleQuotedAttributeValueContent28() } -func (c *current) onCrossReference21(name interface{}) (interface{}, error) { - - log.Debug("matching escaped attribute reference") - // return types.NewStringElement("{"+name.(string)+"}") - return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) +func (c *current) onSingleQuotedAttributeValueContent40() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonCrossReference21() (interface{}, error) { +func (p *parser) callonSingleQuotedAttributeValueContent40() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onCrossReference21(stack["name"]) + return p.cur.onSingleQuotedAttributeValueContent40() } -func (c *current) onCrossReference35() (interface{}, error) { - return string(c.text), nil +func (c *current) onSingleQuotedAttributeValueContent42() (interface{}, error) { + + return strconv.Atoi(string(c.text)) } -func (p *parser) callonCrossReference35() (interface{}, error) { +func (p *parser) callonSingleQuotedAttributeValueContent42() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onCrossReference35() + return p.cur.onSingleQuotedAttributeValueContent42() } -func (c *current) onCrossReference31(name interface{}) (interface{}, error) { - - return types.NewAttributeSubstitution(name.(string), string(c.text)) +func (c *current) onSingleQuotedAttributeValueContent35(start interface{}) (interface{}, error) { + return start, nil } -func (p *parser) callonCrossReference31() (interface{}, error) { +func (p *parser) callonSingleQuotedAttributeValueContent35() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onCrossReference31(stack["name"]) + return p.cur.onSingleQuotedAttributeValueContent35(stack["start"]) } -func (c *current) onCrossReference41() (interface{}, error) { - - return types.NewStringElement(string(c.text)) - +func (c *current) onSingleQuotedAttributeValueContent24(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) } -func (p *parser) callonCrossReference41() (interface{}, error) { +func (p *parser) callonSingleQuotedAttributeValueContent24() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onCrossReference41() + return p.cur.onSingleQuotedAttributeValueContent24(stack["name"], stack["start"]) } -func (c *current) onCrossReference2(id, label interface{}) (interface{}, error) { - return types.NewInternalCrossReference(id, label) +func (c *current) onSingleQuotedAttributeValueContent50() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonCrossReference2() (interface{}, error) { +func (p *parser) callonSingleQuotedAttributeValueContent50() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onCrossReference2(stack["id"], stack["label"]) + return p.cur.onSingleQuotedAttributeValueContent50() } -func (c *current) onCrossReference48() (interface{}, error) { - // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ +func (c *current) onSingleQuotedAttributeValueContent62() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonCrossReference48() (interface{}, error) { +func (p *parser) callonSingleQuotedAttributeValueContent62() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onCrossReference48() + return p.cur.onSingleQuotedAttributeValueContent62() } -func (c *current) onCrossReference44(id interface{}) (interface{}, error) { - return types.NewInternalCrossReference(id, nil) +func (c *current) onSingleQuotedAttributeValueContent64() (interface{}, error) { + + return strconv.Atoi(string(c.text)) } -func (p *parser) callonCrossReference44() (interface{}, error) { +func (p *parser) callonSingleQuotedAttributeValueContent64() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onCrossReference44(stack["id"]) + return p.cur.onSingleQuotedAttributeValueContent64() } -func (c *current) onExternalCrossReference16() (interface{}, error) { - // not supported for now: EOL, space, "{", "[", "]". Also, punctuation chars and `<` and `>` special chars are treated separately below (but `&` is allowed) - return types.NewStringElement(string(c.text)) +func (c *current) onSingleQuotedAttributeValueContent57(start interface{}) (interface{}, error) { + return start, nil } -func (p *parser) callonExternalCrossReference16() (interface{}, error) { +func (p *parser) callonSingleQuotedAttributeValueContent57() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalCrossReference16() + return p.cur.onSingleQuotedAttributeValueContent57(stack["start"]) } -func (c *current) onExternalCrossReference20() (interface{}, error) { - return string(c.text), nil +func (c *current) onSingleQuotedAttributeValueContent46(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) } -func (p *parser) callonExternalCrossReference20() (interface{}, error) { +func (p *parser) callonSingleQuotedAttributeValueContent46() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalCrossReference20() + return p.cur.onSingleQuotedAttributeValueContent46(stack["name"], stack["start"]) } -func (c *current) onExternalCrossReference27() (interface{}, error) { +func (c *current) onSingleQuotedAttributeValueContent72() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonExternalCrossReference27() (interface{}, error) { +func (p *parser) callonSingleQuotedAttributeValueContent72() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalCrossReference27() + return p.cur.onSingleQuotedAttributeValueContent72() } -func (c *current) onExternalCrossReference31() (bool, error) { - return c.isSubstitutionEnabled(Attributes), nil +func (c *current) onSingleQuotedAttributeValueContent68(name interface{}) (interface{}, error) { + + log.Debug("matching escaped attribute reference") + // return types.NewStringElement("{"+name.(string)+"}") + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) } -func (p *parser) callonExternalCrossReference31() (bool, error) { +func (p *parser) callonSingleQuotedAttributeValueContent68() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalCrossReference31() + return p.cur.onSingleQuotedAttributeValueContent68(stack["name"]) } -func (c *current) onExternalCrossReference38() (interface{}, error) { +func (c *current) onSingleQuotedAttributeValueContent82() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonExternalCrossReference38() (interface{}, error) { +func (p *parser) callonSingleQuotedAttributeValueContent82() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalCrossReference38() + return p.cur.onSingleQuotedAttributeValueContent82() } -func (c *current) onExternalCrossReference50() (interface{}, error) { - return string(c.text), nil +func (c *current) onSingleQuotedAttributeValueContent78(name interface{}) (interface{}, error) { + + return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonExternalCrossReference50() (interface{}, error) { +func (p *parser) callonSingleQuotedAttributeValueContent78() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalCrossReference50() + return p.cur.onSingleQuotedAttributeValueContent78(stack["name"]) } -func (c *current) onExternalCrossReference52() (interface{}, error) { - - return strconv.Atoi(string(c.text)) +func (c *current) onSingleQuotedAttributeValueContent19(element interface{}) (interface{}, error) { + return element, nil } -func (p *parser) callonExternalCrossReference52() (interface{}, error) { +func (p *parser) callonSingleQuotedAttributeValueContent19() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalCrossReference52() + return p.cur.onSingleQuotedAttributeValueContent19(stack["element"]) } -func (c *current) onExternalCrossReference45(start interface{}) (interface{}, error) { - return start, nil +func (c *current) onSingleQuotedAttributeValueContent88() (interface{}, error) { + + return types.NewStringElement(`'`) // escaped single quote } -func (p *parser) callonExternalCrossReference45() (interface{}, error) { +func (p *parser) callonSingleQuotedAttributeValueContent88() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalCrossReference45(stack["start"]) + return p.cur.onSingleQuotedAttributeValueContent88() } -func (c *current) onExternalCrossReference34(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) +func (c *current) onSingleQuotedAttributeValueContent92() (interface{}, error) { + // quoted string delimiters or standalone backslash + return types.NewStringElement(string(c.text)) // keep as-is for now + } -func (p *parser) callonExternalCrossReference34() (interface{}, error) { +func (p *parser) callonSingleQuotedAttributeValueContent92() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalCrossReference34(stack["name"], stack["start"]) + return p.cur.onSingleQuotedAttributeValueContent92() } -func (c *current) onExternalCrossReference60() (interface{}, error) { - return string(c.text), nil +func (c *current) onSingleQuotedAttributeValueContent94() (interface{}, error) { + // = and , signs are allowed within '' quoted values + return types.NewStringElement(string(c.text)) } -func (p *parser) callonExternalCrossReference60() (interface{}, error) { +func (p *parser) callonSingleQuotedAttributeValueContent94() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalCrossReference60() + return p.cur.onSingleQuotedAttributeValueContent94() } -func (c *current) onExternalCrossReference72() (interface{}, error) { - return string(c.text), nil +func (c *current) onSingleQuotedAttributeValueContent1(elements interface{}) (interface{}, error) { + return types.Reduce(elements), nil } -func (p *parser) callonExternalCrossReference72() (interface{}, error) { +func (p *parser) callonSingleQuotedAttributeValueContent1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalCrossReference72() + return p.cur.onSingleQuotedAttributeValueContent1(stack["elements"]) } -func (c *current) onExternalCrossReference74() (interface{}, error) { - - return strconv.Atoi(string(c.text)) +func (c *current) onDoubleQuotedAttributeValue13() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonExternalCrossReference74() (interface{}, error) { +func (p *parser) callonDoubleQuotedAttributeValue13() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalCrossReference74() + return p.cur.onDoubleQuotedAttributeValue13() } -func (c *current) onExternalCrossReference67(start interface{}) (interface{}, error) { - return start, nil +func (c *current) onDoubleQuotedAttributeValue1(content interface{}) (interface{}, error) { + return content, nil } -func (p *parser) callonExternalCrossReference67() (interface{}, error) { +func (p *parser) callonDoubleQuotedAttributeValue1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalCrossReference67(stack["start"]) + return p.cur.onDoubleQuotedAttributeValue1(stack["content"]) } -func (c *current) onExternalCrossReference56(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) +func (c *current) onDoubleQuotedAttributeValueContent5() (interface{}, error) { + return string(c.text), nil + } -func (p *parser) callonExternalCrossReference56() (interface{}, error) { +func (p *parser) callonDoubleQuotedAttributeValueContent5() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalCrossReference56(stack["name"], stack["start"]) + return p.cur.onDoubleQuotedAttributeValueContent5() } -func (c *current) onExternalCrossReference82() (interface{}, error) { +func (c *current) onDoubleQuotedAttributeValueContent8() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonExternalCrossReference82() (interface{}, error) { +func (p *parser) callonDoubleQuotedAttributeValueContent8() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalCrossReference82() + return p.cur.onDoubleQuotedAttributeValueContent8() } -func (c *current) onExternalCrossReference78(name interface{}) (interface{}, error) { - - log.Debug("matching escaped attribute reference") - // return types.NewStringElement("{"+name.(string)+"}") - return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) +func (c *current) onDoubleQuotedAttributeValueContent11() (interface{}, error) { + return types.NewSymbol("\"`") } -func (p *parser) callonExternalCrossReference78() (interface{}, error) { +func (p *parser) callonDoubleQuotedAttributeValueContent11() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalCrossReference78(stack["name"]) + return p.cur.onDoubleQuotedAttributeValueContent11() } -func (c *current) onExternalCrossReference92() (interface{}, error) { - return string(c.text), nil +func (c *current) onDoubleQuotedAttributeValueContent13() (interface{}, error) { + return types.NewSymbol("`\"") } -func (p *parser) callonExternalCrossReference92() (interface{}, error) { +func (p *parser) callonDoubleQuotedAttributeValueContent13() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalCrossReference92() + return p.cur.onDoubleQuotedAttributeValueContent13() } -func (c *current) onExternalCrossReference88(name interface{}) (interface{}, error) { - - return types.NewAttributeSubstitution(name.(string), string(c.text)) +func (c *current) onDoubleQuotedAttributeValueContent15() (interface{}, error) { + return types.NewSymbol("'`") } -func (p *parser) callonExternalCrossReference88() (interface{}, error) { +func (p *parser) callonDoubleQuotedAttributeValueContent15() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalCrossReference88(stack["name"]) + return p.cur.onDoubleQuotedAttributeValueContent15() } -func (c *current) onExternalCrossReference29(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onDoubleQuotedAttributeValueContent17() (interface{}, error) { + return types.NewSymbol("`'") } -func (p *parser) callonExternalCrossReference29() (interface{}, error) { +func (p *parser) callonDoubleQuotedAttributeValueContent17() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalCrossReference29(stack["element"]) + return p.cur.onDoubleQuotedAttributeValueContent17() } -func (c *current) onExternalCrossReference100() (bool, error) { - return c.isSubstitutionEnabled(SpecialCharacters), nil +func (c *current) onDoubleQuotedAttributeValueContent21() (bool, error) { + return c.isSubstitutionEnabled(Attributes), nil } -func (p *parser) callonExternalCrossReference100() (bool, error) { +func (p *parser) callonDoubleQuotedAttributeValueContent21() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalCrossReference100() + return p.cur.onDoubleQuotedAttributeValueContent21() } -func (c *current) onExternalCrossReference109() (interface{}, error) { - // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ +func (c *current) onDoubleQuotedAttributeValueContent28() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonExternalCrossReference109() (interface{}, error) { +func (p *parser) callonDoubleQuotedAttributeValueContent28() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalCrossReference109() + return p.cur.onDoubleQuotedAttributeValueContent28() } -func (c *current) onExternalCrossReference113() (interface{}, error) { +func (c *current) onDoubleQuotedAttributeValueContent40() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonExternalCrossReference113() (interface{}, error) { +func (p *parser) callonDoubleQuotedAttributeValueContent40() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalCrossReference113() + return p.cur.onDoubleQuotedAttributeValueContent40() } -func (c *current) onExternalCrossReference119() (interface{}, error) { - // `{`, `>` and `>` characters are not allowed as they are used for attribute substitutions and cross-references - return types.NewStringElement(string(c.text)) +func (c *current) onDoubleQuotedAttributeValueContent42() (interface{}, error) { + + return strconv.Atoi(string(c.text)) } -func (p *parser) callonExternalCrossReference119() (interface{}, error) { +func (p *parser) callonDoubleQuotedAttributeValueContent42() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalCrossReference119() + return p.cur.onDoubleQuotedAttributeValueContent42() } -func (c *current) onExternalCrossReference128() (interface{}, error) { - return string(c.text), nil +func (c *current) onDoubleQuotedAttributeValueContent35(start interface{}) (interface{}, error) { + return start, nil } -func (p *parser) callonExternalCrossReference128() (interface{}, error) { +func (p *parser) callonDoubleQuotedAttributeValueContent35() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalCrossReference128() + return p.cur.onDoubleQuotedAttributeValueContent35(stack["start"]) } -func (c *current) onExternalCrossReference124(name interface{}) (interface{}, error) { - - log.Debug("matching escaped attribute reference") - // return types.NewStringElement("{"+name.(string)+"}") - return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) - +func (c *current) onDoubleQuotedAttributeValueContent24(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) } -func (p *parser) callonExternalCrossReference124() (interface{}, error) { +func (p *parser) callonDoubleQuotedAttributeValueContent24() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalCrossReference124(stack["name"]) + return p.cur.onDoubleQuotedAttributeValueContent24(stack["name"], stack["start"]) } -func (c *current) onExternalCrossReference138() (interface{}, error) { +func (c *current) onDoubleQuotedAttributeValueContent50() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonExternalCrossReference138() (interface{}, error) { +func (p *parser) callonDoubleQuotedAttributeValueContent50() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalCrossReference138() + return p.cur.onDoubleQuotedAttributeValueContent50() } -func (c *current) onExternalCrossReference134(name interface{}) (interface{}, error) { - - return types.NewAttributeSubstitution(name.(string), string(c.text)) +func (c *current) onDoubleQuotedAttributeValueContent62() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonExternalCrossReference134() (interface{}, error) { +func (p *parser) callonDoubleQuotedAttributeValueContent62() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalCrossReference134(stack["name"]) + return p.cur.onDoubleQuotedAttributeValueContent62() } -func (c *current) onExternalCrossReference144() (interface{}, error) { +func (c *current) onDoubleQuotedAttributeValueContent64() (interface{}, error) { - return types.NewStringElement(string(c.text)) + return strconv.Atoi(string(c.text)) } -func (p *parser) callonExternalCrossReference144() (interface{}, error) { +func (p *parser) callonDoubleQuotedAttributeValueContent64() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalCrossReference144() + return p.cur.onDoubleQuotedAttributeValueContent64() } -func (c *current) onExternalCrossReference105(id, label interface{}) (interface{}, error) { - return types.NewInternalCrossReference(id, label) +func (c *current) onDoubleQuotedAttributeValueContent57(start interface{}) (interface{}, error) { + return start, nil } -func (p *parser) callonExternalCrossReference105() (interface{}, error) { +func (p *parser) callonDoubleQuotedAttributeValueContent57() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalCrossReference105(stack["id"], stack["label"]) + return p.cur.onDoubleQuotedAttributeValueContent57(stack["start"]) } -func (c *current) onExternalCrossReference151() (interface{}, error) { - // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ - return string(c.text), nil - +func (c *current) onDoubleQuotedAttributeValueContent46(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) } -func (p *parser) callonExternalCrossReference151() (interface{}, error) { +func (p *parser) callonDoubleQuotedAttributeValueContent46() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalCrossReference151() + return p.cur.onDoubleQuotedAttributeValueContent46(stack["name"], stack["start"]) } -func (c *current) onExternalCrossReference147(id interface{}) (interface{}, error) { - return types.NewInternalCrossReference(id, nil) +func (c *current) onDoubleQuotedAttributeValueContent72() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonExternalCrossReference147() (interface{}, error) { +func (p *parser) callonDoubleQuotedAttributeValueContent72() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalCrossReference147(stack["id"]) + return p.cur.onDoubleQuotedAttributeValueContent72() } -func (c *current) onExternalCrossReference103() (interface{}, error) { - return types.NewStringElement(string(c.text)) +func (c *current) onDoubleQuotedAttributeValueContent68(name interface{}) (interface{}, error) { + + log.Debug("matching escaped attribute reference") + // return types.NewStringElement("{"+name.(string)+"}") + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) } -func (p *parser) callonExternalCrossReference103() (interface{}, error) { +func (p *parser) callonDoubleQuotedAttributeValueContent68() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalCrossReference103() + return p.cur.onDoubleQuotedAttributeValueContent68(stack["name"]) } -func (c *current) onExternalCrossReference155() (interface{}, error) { - return types.NewSpecialCharacter(string(c.text)) +func (c *current) onDoubleQuotedAttributeValueContent82() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonExternalCrossReference155() (interface{}, error) { +func (p *parser) callonDoubleQuotedAttributeValueContent82() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalCrossReference155() + return p.cur.onDoubleQuotedAttributeValueContent82() } -func (c *current) onExternalCrossReference98(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onDoubleQuotedAttributeValueContent78(name interface{}) (interface{}, error) { + + return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonExternalCrossReference98() (interface{}, error) { +func (p *parser) callonDoubleQuotedAttributeValueContent78() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalCrossReference98(stack["element"]) + return p.cur.onDoubleQuotedAttributeValueContent78(stack["name"]) } -func (c *current) onExternalCrossReference157() (interface{}, error) { - return types.NewStringElement(string(c.text)) +func (c *current) onDoubleQuotedAttributeValueContent19(element interface{}) (interface{}, error) { + return element, nil } -func (p *parser) callonExternalCrossReference157() (interface{}, error) { +func (p *parser) callonDoubleQuotedAttributeValueContent19() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalCrossReference157() + return p.cur.onDoubleQuotedAttributeValueContent19(stack["element"]) } -func (c *current) onExternalCrossReference9(elements interface{}) (interface{}, error) { - return types.NewInlineElements(elements.([]interface{})) +func (c *current) onDoubleQuotedAttributeValueContent88() (interface{}, error) { + + return types.NewStringElement(`"`) // escaped double quote } -func (p *parser) callonExternalCrossReference9() (interface{}, error) { +func (p *parser) callonDoubleQuotedAttributeValueContent88() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalCrossReference9(stack["elements"]) + return p.cur.onDoubleQuotedAttributeValueContent88() } -func (c *current) onExternalCrossReference163() (interface{}, error) { - return string(c.text), nil +func (c *current) onDoubleQuotedAttributeValueContent93() (interface{}, error) { + // quoted string delimiters or standalone backslash or standalone backtick + return types.NewStringElement(string(c.text)) // keep as-is for now + } -func (p *parser) callonExternalCrossReference163() (interface{}, error) { +func (p *parser) callonDoubleQuotedAttributeValueContent93() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalCrossReference163() + return p.cur.onDoubleQuotedAttributeValueContent93() } -func (c *current) onExternalCrossReference159(ref interface{}) (interface{}, error) { - return types.NewElementPlaceHolder(ref.(string)) +func (c *current) onDoubleQuotedAttributeValueContent95() (interface{}, error) { + // = and , signs are allowed within " quoted values + return types.NewStringElement(string(c.text)) + } -func (p *parser) callonExternalCrossReference159() (interface{}, error) { +func (p *parser) callonDoubleQuotedAttributeValueContent95() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalCrossReference159(stack["ref"]) + return p.cur.onDoubleQuotedAttributeValueContent95() } -func (c *current) onExternalCrossReference5(path interface{}) (interface{}, error) { - return types.NewLocation("", path.([]interface{})) +func (c *current) onDoubleQuotedAttributeValueContent1(elements interface{}) (interface{}, error) { + return types.Reduce(elements), nil } -func (p *parser) callonExternalCrossReference5() (interface{}, error) { +func (p *parser) callonDoubleQuotedAttributeValueContent1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalCrossReference5(stack["path"]) + return p.cur.onDoubleQuotedAttributeValueContent1(stack["elements"]) } -func (c *current) onExternalCrossReference1(url, attributes interface{}) (interface{}, error) { - return types.NewExternalCrossReference(url.(*types.Location), attributes.(types.Attributes)) +func (c *current) onUnquotedAttributeValue4() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonExternalCrossReference1() (interface{}, error) { +func (p *parser) callonUnquotedAttributeValue4() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalCrossReference1(stack["url"], stack["attributes"]) + return p.cur.onUnquotedAttributeValue4() } -func (c *current) onMarkdownQuoteAttribution5() (interface{}, error) { +func (c *current) onUnquotedAttributeValue14() (interface{}, error) { + // not within brackets and stop on space and quotation marks (`"') return string(c.text), nil } -func (p *parser) callonMarkdownQuoteAttribution5() (interface{}, error) { +func (p *parser) callonUnquotedAttributeValue14() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onMarkdownQuoteAttribution5() + return p.cur.onUnquotedAttributeValue14() } -func (c *current) onMarkdownQuoteAttribution9() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onUnquotedAttributeValue17() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonMarkdownQuoteAttribution9() (interface{}, error) { +func (p *parser) callonUnquotedAttributeValue17() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onMarkdownQuoteAttribution9() + return p.cur.onUnquotedAttributeValue17() } -func (c *current) onMarkdownQuoteAttribution1(author interface{}) (interface{}, error) { - return author, nil +func (c *current) onUnquotedAttributeValue21() (bool, error) { + return c.isSubstitutionEnabled(Attributes), nil } -func (p *parser) callonMarkdownQuoteAttribution1() (interface{}, error) { +func (p *parser) callonUnquotedAttributeValue21() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onMarkdownQuoteAttribution1(stack["author"]) + return p.cur.onUnquotedAttributeValue21() } -func (c *current) onDocumentHeader3() (bool, error) { - return c.isDocumentHeaderAllowed(), nil +func (c *current) onUnquotedAttributeValue28() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDocumentHeader3() (bool, error) { +func (p *parser) callonUnquotedAttributeValue28() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader3() + return p.cur.onUnquotedAttributeValue28() } -func (c *current) onDocumentHeader14() (interface{}, error) { - // log.Debug("matched multiple spaces") +func (c *current) onUnquotedAttributeValue40() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentHeader14() (interface{}, error) { +func (p *parser) callonUnquotedAttributeValue40() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader14() + return p.cur.onUnquotedAttributeValue40() } -func (c *current) onDocumentHeader18() (interface{}, error) { - // can't have empty title, that may collide with example block delimiter (`====`) - return []interface{}{ - types.RawLine(c.text), - }, nil +func (c *current) onUnquotedAttributeValue42() (interface{}, error) { + + return strconv.Atoi(string(c.text)) } -func (p *parser) callonDocumentHeader18() (interface{}, error) { +func (p *parser) callonUnquotedAttributeValue42() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader18() + return p.cur.onUnquotedAttributeValue42() } -func (c *current) onDocumentHeader22() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onUnquotedAttributeValue35(start interface{}) (interface{}, error) { + return start, nil + } -func (p *parser) callonDocumentHeader22() (interface{}, error) { +func (p *parser) callonUnquotedAttributeValue35() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader22() + return p.cur.onUnquotedAttributeValue35(stack["start"]) } -func (c *current) onDocumentHeader11(title interface{}) (interface{}, error) { - return title, nil - +func (c *current) onUnquotedAttributeValue24(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) } -func (p *parser) callonDocumentHeader11() (interface{}, error) { +func (p *parser) callonUnquotedAttributeValue24() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader11(stack["title"]) + return p.cur.onUnquotedAttributeValue24(stack["name"], stack["start"]) } -func (c *current) onDocumentHeader37() (interface{}, error) { +func (c *current) onUnquotedAttributeValue50() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentHeader37() (interface{}, error) { +func (p *parser) callonUnquotedAttributeValue50() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader37() + return p.cur.onUnquotedAttributeValue50() } -func (c *current) onDocumentHeader41() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onUnquotedAttributeValue62() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonDocumentHeader41() (interface{}, error) { +func (p *parser) callonUnquotedAttributeValue62() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader41() + return p.cur.onUnquotedAttributeValue62() } -func (c *current) onDocumentHeader31(content interface{}) (interface{}, error) { - return types.NewSingleLineComment(content.(string)) +func (c *current) onUnquotedAttributeValue64() (interface{}, error) { + + return strconv.Atoi(string(c.text)) } -func (p *parser) callonDocumentHeader31() (interface{}, error) { +func (p *parser) callonUnquotedAttributeValue64() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader31(stack["content"]) + return p.cur.onUnquotedAttributeValue64() } -func (c *current) onDocumentHeader53() (interface{}, error) { - // sequence of 4 "/" chars or more - return string(c.text), nil +func (c *current) onUnquotedAttributeValue57(start interface{}) (interface{}, error) { + return start, nil } -func (p *parser) callonDocumentHeader53() (interface{}, error) { +func (p *parser) callonUnquotedAttributeValue57() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader53() + return p.cur.onUnquotedAttributeValue57(stack["start"]) } -func (c *current) onDocumentHeader59() (interface{}, error) { - return string(c.text), nil - +func (c *current) onUnquotedAttributeValue46(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) } -func (p *parser) callonDocumentHeader59() (interface{}, error) { +func (p *parser) callonUnquotedAttributeValue46() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader59() + return p.cur.onUnquotedAttributeValue46(stack["name"], stack["start"]) } -func (c *current) onDocumentHeader62() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onUnquotedAttributeValue72() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonDocumentHeader62() (interface{}, error) { +func (p *parser) callonUnquotedAttributeValue72() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader62() + return p.cur.onUnquotedAttributeValue72() } -func (c *current) onDocumentHeader50(delimiter interface{}) (interface{}, error) { +func (c *current) onUnquotedAttributeValue68(name interface{}) (interface{}, error) { - return types.NewBlockDelimiter(types.Comment, len(delimiter.(string)), string(c.text)) + log.Debug("matching escaped attribute reference") + // return types.NewStringElement("{"+name.(string)+"}") + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) } -func (p *parser) callonDocumentHeader50() (interface{}, error) { +func (p *parser) callonUnquotedAttributeValue68() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader50(stack["delimiter"]) + return p.cur.onUnquotedAttributeValue68(stack["name"]) } -func (c *current) onDocumentHeader78() (interface{}, error) { - // sequence of 4 "/" chars or more +func (c *current) onUnquotedAttributeValue82() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentHeader78() (interface{}, error) { +func (p *parser) callonUnquotedAttributeValue82() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader78() + return p.cur.onUnquotedAttributeValue82() } -func (c *current) onDocumentHeader84() (interface{}, error) { - return string(c.text), nil +func (c *current) onUnquotedAttributeValue78(name interface{}) (interface{}, error) { + + return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonDocumentHeader84() (interface{}, error) { +func (p *parser) callonUnquotedAttributeValue78() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader84() + return p.cur.onUnquotedAttributeValue78(stack["name"]) } -func (c *current) onDocumentHeader87() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onUnquotedAttributeValue19(element interface{}) (interface{}, error) { + return element, nil + } -func (p *parser) callonDocumentHeader87() (interface{}, error) { +func (p *parser) callonUnquotedAttributeValue19() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader87() + return p.cur.onUnquotedAttributeValue19(stack["element"]) } -func (c *current) onDocumentHeader75(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Comment, len(delimiter.(string)), string(c.text)) +func (c *current) onUnquotedAttributeValue88() (interface{}, error) { + return types.NewSymbol("\"`") } -func (p *parser) callonDocumentHeader75() (interface{}, error) { +func (p *parser) callonUnquotedAttributeValue88() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader75(stack["delimiter"]) + return p.cur.onUnquotedAttributeValue88() } -func (c *current) onDocumentHeader103() (interface{}, error) { - // content is NOT mandatory - return string(c.text), nil +func (c *current) onUnquotedAttributeValue90() (interface{}, error) { + return types.NewSymbol("`\"") } -func (p *parser) callonDocumentHeader103() (interface{}, error) { +func (p *parser) callonUnquotedAttributeValue90() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader103() + return p.cur.onUnquotedAttributeValue90() } -func (c *current) onDocumentHeader107() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onUnquotedAttributeValue92() (interface{}, error) { + return types.NewSymbol("'`") + } -func (p *parser) callonDocumentHeader107() (interface{}, error) { +func (p *parser) callonUnquotedAttributeValue92() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader107() + return p.cur.onUnquotedAttributeValue92() } -func (c *current) onDocumentHeader97(content interface{}) (interface{}, error) { - - return types.NewRawLine(content.(string)) +func (c *current) onUnquotedAttributeValue94() (interface{}, error) { + return types.NewSymbol("`'") } -func (p *parser) callonDocumentHeader97() (interface{}, error) { +func (p *parser) callonUnquotedAttributeValue94() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader97(stack["content"]) + return p.cur.onUnquotedAttributeValue94() } -func (c *current) onDocumentHeader71(line interface{}) (interface{}, error) { - return line, nil +func (c *current) onUnquotedAttributeValue96() (interface{}, error) { + // standalone characters not used in quotation marks + return string(c.text), nil } -func (p *parser) callonDocumentHeader71() (interface{}, error) { +func (p *parser) callonUnquotedAttributeValue96() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader71(stack["line"]) + return p.cur.onUnquotedAttributeValue96() } -func (c *current) onDocumentHeader119() (interface{}, error) { - // sequence of 4 "/" chars or more - return string(c.text), nil +func (c *current) onUnquotedAttributeValue1(elements interface{}) (interface{}, error) { + return types.Reduce(elements, strings.TrimSpace), nil } -func (p *parser) callonDocumentHeader119() (interface{}, error) { +func (p *parser) callonUnquotedAttributeValue1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader119() + return p.cur.onUnquotedAttributeValue1(stack["elements"]) } -func (c *current) onDocumentHeader125() (interface{}, error) { +func (c *current) onCrossReference6() (interface{}, error) { + // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ return string(c.text), nil } -func (p *parser) callonDocumentHeader125() (interface{}, error) { +func (p *parser) callonCrossReference6() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader125() + return p.cur.onCrossReference6() } -func (c *current) onDocumentHeader128() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onCrossReference10() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonDocumentHeader128() (interface{}, error) { +func (p *parser) callonCrossReference10() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader128() + return p.cur.onCrossReference10() } -func (c *current) onDocumentHeader116(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Comment, len(delimiter.(string)), string(c.text)) +func (c *current) onCrossReference16() (interface{}, error) { + // `{`, `>` and `>` characters are not allowed as they are used for attribute substitutions and cross-references + return types.NewStringElement(string(c.text)) } -func (p *parser) callonDocumentHeader116() (interface{}, error) { +func (p *parser) callonCrossReference16() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader116(stack["delimiter"]) + return p.cur.onCrossReference16() } -func (c *current) onDocumentHeader48(delimiter, content interface{}) (interface{}, error) { - return types.NewDelimitedBlock(types.Comment, content.([]interface{})) +func (c *current) onCrossReference25() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDocumentHeader48() (interface{}, error) { +func (p *parser) callonCrossReference25() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader48(stack["delimiter"], stack["content"]) + return p.cur.onCrossReference25() } -func (c *current) onDocumentHeader145() (interface{}, error) { - return string(c.text), nil +func (c *current) onCrossReference21(name interface{}) (interface{}, error) { + + log.Debug("matching escaped attribute reference") + // return types.NewStringElement("{"+name.(string)+"}") + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) } -func (p *parser) callonDocumentHeader145() (interface{}, error) { +func (p *parser) callonCrossReference21() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader145() + return p.cur.onCrossReference21(stack["name"]) } -func (c *current) onDocumentHeader162() (interface{}, error) { - // no space allowed +func (c *current) onCrossReference35() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentHeader162() (interface{}, error) { +func (p *parser) callonCrossReference35() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader162() + return p.cur.onCrossReference35() } -func (c *current) onDocumentHeader166() (interface{}, error) { - return string(c.text), nil +func (c *current) onCrossReference31(name interface{}) (interface{}, error) { + + return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonDocumentHeader166() (interface{}, error) { +func (p *parser) callonCrossReference31() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader166() + return p.cur.onCrossReference31(stack["name"]) } -func (c *current) onDocumentHeader170() (interface{}, error) { - // no space allowed - return string(c.text), nil +func (c *current) onCrossReference41() (interface{}, error) { + + return types.NewStringElement(string(c.text)) } -func (p *parser) callonDocumentHeader170() (interface{}, error) { +func (p *parser) callonCrossReference41() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader170() + return p.cur.onCrossReference41() } -func (c *current) onDocumentHeader174() (interface{}, error) { - return string(c.text), nil +func (c *current) onCrossReference2(id, label interface{}) (interface{}, error) { + return types.NewInternalCrossReference(id, label) } -func (p *parser) callonDocumentHeader174() (interface{}, error) { +func (p *parser) callonCrossReference2() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader174() + return p.cur.onCrossReference2(stack["id"], stack["label"]) } -func (c *current) onDocumentHeader178() (interface{}, error) { - // spaces allowed +func (c *current) onCrossReference48() (interface{}, error) { + // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ return string(c.text), nil } -func (p *parser) callonDocumentHeader178() (interface{}, error) { +func (p *parser) callonCrossReference48() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader178() + return p.cur.onCrossReference48() } -func (c *current) onDocumentHeader182() (interface{}, error) { - return string(c.text), nil +func (c *current) onCrossReference44(id interface{}) (interface{}, error) { + return types.NewInternalCrossReference(id, nil) } -func (p *parser) callonDocumentHeader182() (interface{}, error) { +func (p *parser) callonCrossReference44() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader182() + return p.cur.onCrossReference44(stack["id"]) } -func (c *current) onDocumentHeader159(part1, part2, part3 interface{}) (interface{}, error) { - return types.NewDocumentAuthorFullName(part1.(string), part2, part3) +func (c *current) onExternalCrossReference16() (interface{}, error) { + // not supported for now: EOL, space, "{", "[", "]". Also, punctuation chars and `<` and `>` special chars are treated separately below (but `&` is allowed) + return types.NewStringElement(string(c.text)) } -func (p *parser) callonDocumentHeader159() (interface{}, error) { +func (p *parser) callonExternalCrossReference16() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader159(stack["part1"], stack["part2"], stack["part3"]) + return p.cur.onExternalCrossReference16() } -func (c *current) onDocumentHeader193() (interface{}, error) { +func (c *current) onExternalCrossReference20() (interface{}, error) { return string(c.text), nil - } -func (p *parser) callonDocumentHeader193() (interface{}, error) { +func (p *parser) callonExternalCrossReference20() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader193() + return p.cur.onExternalCrossReference20() } -func (c *current) onDocumentHeader186(email interface{}) (interface{}, error) { - return email, nil +func (c *current) onExternalCrossReference27() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDocumentHeader186() (interface{}, error) { +func (p *parser) callonExternalCrossReference27() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader186(stack["email"]) + return p.cur.onExternalCrossReference27() } -func (c *current) onDocumentHeader198() (interface{}, error) { - return string(c.text), nil +func (c *current) onExternalCrossReference31() (bool, error) { + return c.isSubstitutionEnabled(Attributes), nil } -func (p *parser) callonDocumentHeader198() (interface{}, error) { +func (p *parser) callonExternalCrossReference31() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader198() + return p.cur.onExternalCrossReference31() } -func (c *current) onDocumentHeader203() (interface{}, error) { +func (c *current) onExternalCrossReference38() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentHeader203() (interface{}, error) { +func (p *parser) callonExternalCrossReference38() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader203() + return p.cur.onExternalCrossReference38() } -func (c *current) onDocumentHeader205(fullName, email interface{}) (bool, error) { - // at least 1 of [fullName, email] must be defined - return fullName != nil || email != nil, nil +func (c *current) onExternalCrossReference50() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDocumentHeader205() (bool, error) { +func (p *parser) callonExternalCrossReference50() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader205(stack["fullName"], stack["email"]) + return p.cur.onExternalCrossReference50() } -func (c *current) onDocumentHeader155(fullName, email interface{}) (interface{}, error) { - return types.NewDocumentAuthor(fullName, email) +func (c *current) onExternalCrossReference52() (interface{}, error) { + + return strconv.Atoi(string(c.text)) } -func (p *parser) callonDocumentHeader155() (interface{}, error) { +func (p *parser) callonExternalCrossReference52() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader155(stack["fullName"], stack["email"]) + return p.cur.onExternalCrossReference52() } -func (c *current) onDocumentHeader149(authors interface{}) (interface{}, error) { - return types.NewDocumentAuthors(authors.([]interface{})...) +func (c *current) onExternalCrossReference45(start interface{}) (interface{}, error) { + return start, nil + } -func (p *parser) callonDocumentHeader149() (interface{}, error) { +func (p *parser) callonExternalCrossReference45() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader149(stack["authors"]) + return p.cur.onExternalCrossReference45(stack["start"]) } -func (c *current) onDocumentHeader210() (interface{}, error) { - return string(c.text), nil - +func (c *current) onExternalCrossReference34(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) } -func (p *parser) callonDocumentHeader210() (interface{}, error) { +func (p *parser) callonExternalCrossReference34() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader210() + return p.cur.onExternalCrossReference34(stack["name"], stack["start"]) } -func (c *current) onDocumentHeader220() (interface{}, error) { - // no space allowed +func (c *current) onExternalCrossReference60() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentHeader220() (interface{}, error) { +func (p *parser) callonExternalCrossReference60() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader220() + return p.cur.onExternalCrossReference60() } -func (c *current) onDocumentHeader224() (interface{}, error) { +func (c *current) onExternalCrossReference72() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentHeader224() (interface{}, error) { +func (p *parser) callonExternalCrossReference72() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader224() + return p.cur.onExternalCrossReference72() } -func (c *current) onDocumentHeader228() (interface{}, error) { - // no space allowed - return string(c.text), nil +func (c *current) onExternalCrossReference74() (interface{}, error) { + + return strconv.Atoi(string(c.text)) } -func (p *parser) callonDocumentHeader228() (interface{}, error) { +func (p *parser) callonExternalCrossReference74() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader228() + return p.cur.onExternalCrossReference74() } -func (c *current) onDocumentHeader232() (interface{}, error) { - return string(c.text), nil +func (c *current) onExternalCrossReference67(start interface{}) (interface{}, error) { + return start, nil } -func (p *parser) callonDocumentHeader232() (interface{}, error) { +func (p *parser) callonExternalCrossReference67() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader232() + return p.cur.onExternalCrossReference67(stack["start"]) } -func (c *current) onDocumentHeader236() (interface{}, error) { - // spaces allowed - return string(c.text), nil - +func (c *current) onExternalCrossReference56(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) } -func (p *parser) callonDocumentHeader236() (interface{}, error) { +func (p *parser) callonExternalCrossReference56() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader236() + return p.cur.onExternalCrossReference56(stack["name"], stack["start"]) } -func (c *current) onDocumentHeader240() (interface{}, error) { +func (c *current) onExternalCrossReference82() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentHeader240() (interface{}, error) { +func (p *parser) callonExternalCrossReference82() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader240() + return p.cur.onExternalCrossReference82() } -func (c *current) onDocumentHeader217(part1, part2, part3 interface{}) (interface{}, error) { - return types.NewDocumentAuthorFullName(part1.(string), part2, part3) +func (c *current) onExternalCrossReference78(name interface{}) (interface{}, error) { + + log.Debug("matching escaped attribute reference") + // return types.NewStringElement("{"+name.(string)+"}") + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) } -func (p *parser) callonDocumentHeader217() (interface{}, error) { +func (p *parser) callonExternalCrossReference78() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader217(stack["part1"], stack["part2"], stack["part3"]) + return p.cur.onExternalCrossReference78(stack["name"]) } -func (c *current) onDocumentHeader251() (interface{}, error) { +func (c *current) onExternalCrossReference92() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentHeader251() (interface{}, error) { +func (p *parser) callonExternalCrossReference92() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader251() + return p.cur.onExternalCrossReference92() } -func (c *current) onDocumentHeader244(email interface{}) (interface{}, error) { - return email, nil +func (c *current) onExternalCrossReference88(name interface{}) (interface{}, error) { + + return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonDocumentHeader244() (interface{}, error) { +func (p *parser) callonExternalCrossReference88() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader244(stack["email"]) + return p.cur.onExternalCrossReference88(stack["name"]) } -func (c *current) onDocumentHeader256() (interface{}, error) { - return string(c.text), nil +func (c *current) onExternalCrossReference29(element interface{}) (interface{}, error) { + return element, nil } -func (p *parser) callonDocumentHeader256() (interface{}, error) { +func (p *parser) callonExternalCrossReference29() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader256() + return p.cur.onExternalCrossReference29(stack["element"]) } -func (c *current) onDocumentHeader261() (interface{}, error) { - return string(c.text), nil +func (c *current) onExternalCrossReference100() (bool, error) { + return c.isSubstitutionEnabled(SpecialCharacters), nil } -func (p *parser) callonDocumentHeader261() (interface{}, error) { +func (p *parser) callonExternalCrossReference100() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader261() + return p.cur.onExternalCrossReference100() } -func (c *current) onDocumentHeader263(fullName, email interface{}) (bool, error) { - // at least 1 of [fullName, email] must be defined - return fullName != nil || email != nil, nil +func (c *current) onExternalCrossReference109() (interface{}, error) { + // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ + return string(c.text), nil } -func (p *parser) callonDocumentHeader263() (bool, error) { +func (p *parser) callonExternalCrossReference109() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader263(stack["fullName"], stack["email"]) + return p.cur.onExternalCrossReference109() } -func (c *current) onDocumentHeader213(fullName, email interface{}) (interface{}, error) { - return types.NewDocumentAuthor(fullName, email) +func (c *current) onExternalCrossReference113() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDocumentHeader213() (interface{}, error) { +func (p *parser) callonExternalCrossReference113() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader213(stack["fullName"], stack["email"]) + return p.cur.onExternalCrossReference113() } -func (c *current) onDocumentHeader206(author interface{}) (interface{}, error) { - return types.NewDocumentAuthors(author) +func (c *current) onExternalCrossReference119() (interface{}, error) { + // `{`, `>` and `>` characters are not allowed as they are used for attribute substitutions and cross-references + return types.NewStringElement(string(c.text)) + } -func (p *parser) callonDocumentHeader206() (interface{}, error) { +func (p *parser) callonExternalCrossReference119() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader206(stack["author"]) + return p.cur.onExternalCrossReference119() } -func (c *current) onDocumentHeader265() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onExternalCrossReference128() (interface{}, error) { return string(c.text), nil -} - -func (p *parser) callonDocumentHeader265() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentHeader265() -} -func (c *current) onDocumentHeader142(authors interface{}) (interface{}, error) { - return authors, nil } -func (p *parser) callonDocumentHeader142() (interface{}, error) { +func (p *parser) callonExternalCrossReference128() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader142(stack["authors"]) + return p.cur.onExternalCrossReference128() } -func (c *current) onDocumentHeader280() (interface{}, error) { - return string(c.text), nil +func (c *current) onExternalCrossReference124(name interface{}) (interface{}, error) { + + log.Debug("matching escaped attribute reference") + // return types.NewStringElement("{"+name.(string)+"}") + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) } -func (p *parser) callonDocumentHeader280() (interface{}, error) { +func (p *parser) callonExternalCrossReference124() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader280() + return p.cur.onExternalCrossReference124(stack["name"]) } -func (c *current) onDocumentHeader284() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onExternalCrossReference138() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonDocumentHeader284() (interface{}, error) { +func (p *parser) callonExternalCrossReference138() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader284() + return p.cur.onExternalCrossReference138() } -func (c *current) onDocumentHeader274(content interface{}) (interface{}, error) { - return types.NewSingleLineComment(content.(string)) +func (c *current) onExternalCrossReference134(name interface{}) (interface{}, error) { + + return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonDocumentHeader274() (interface{}, error) { +func (p *parser) callonExternalCrossReference134() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader274(stack["content"]) + return p.cur.onExternalCrossReference134(stack["name"]) } -func (c *current) onDocumentHeader296() (interface{}, error) { - // sequence of 4 "/" chars or more - return string(c.text), nil +func (c *current) onExternalCrossReference144() (interface{}, error) { + + return types.NewStringElement(string(c.text)) } -func (p *parser) callonDocumentHeader296() (interface{}, error) { +func (p *parser) callonExternalCrossReference144() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader296() + return p.cur.onExternalCrossReference144() } -func (c *current) onDocumentHeader302() (interface{}, error) { - return string(c.text), nil +func (c *current) onExternalCrossReference105(id, label interface{}) (interface{}, error) { + return types.NewInternalCrossReference(id, label) } -func (p *parser) callonDocumentHeader302() (interface{}, error) { +func (p *parser) callonExternalCrossReference105() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader302() + return p.cur.onExternalCrossReference105(stack["id"], stack["label"]) } -func (c *current) onDocumentHeader305() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onExternalCrossReference151() (interface{}, error) { + // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ return string(c.text), nil + } -func (p *parser) callonDocumentHeader305() (interface{}, error) { +func (p *parser) callonExternalCrossReference151() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader305() + return p.cur.onExternalCrossReference151() } -func (c *current) onDocumentHeader293(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Comment, len(delimiter.(string)), string(c.text)) +func (c *current) onExternalCrossReference147(id interface{}) (interface{}, error) { + return types.NewInternalCrossReference(id, nil) } -func (p *parser) callonDocumentHeader293() (interface{}, error) { +func (p *parser) callonExternalCrossReference147() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader293(stack["delimiter"]) + return p.cur.onExternalCrossReference147(stack["id"]) } -func (c *current) onDocumentHeader321() (interface{}, error) { - // sequence of 4 "/" chars or more - return string(c.text), nil +func (c *current) onExternalCrossReference103() (interface{}, error) { + return types.NewStringElement(string(c.text)) } -func (p *parser) callonDocumentHeader321() (interface{}, error) { +func (p *parser) callonExternalCrossReference103() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader321() + return p.cur.onExternalCrossReference103() } -func (c *current) onDocumentHeader327() (interface{}, error) { - return string(c.text), nil +func (c *current) onExternalCrossReference155() (interface{}, error) { + return types.NewSpecialCharacter(string(c.text)) } -func (p *parser) callonDocumentHeader327() (interface{}, error) { +func (p *parser) callonExternalCrossReference155() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader327() + return p.cur.onExternalCrossReference155() } -func (c *current) onDocumentHeader330() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onExternalCrossReference98(element interface{}) (interface{}, error) { + return element, nil + } -func (p *parser) callonDocumentHeader330() (interface{}, error) { +func (p *parser) callonExternalCrossReference98() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader330() + return p.cur.onExternalCrossReference98(stack["element"]) } -func (c *current) onDocumentHeader318(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Comment, len(delimiter.(string)), string(c.text)) +func (c *current) onExternalCrossReference157() (interface{}, error) { + return types.NewStringElement(string(c.text)) } -func (p *parser) callonDocumentHeader318() (interface{}, error) { +func (p *parser) callonExternalCrossReference157() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader318(stack["delimiter"]) + return p.cur.onExternalCrossReference157() } -func (c *current) onDocumentHeader346() (interface{}, error) { - // content is NOT mandatory - return string(c.text), nil +func (c *current) onExternalCrossReference9(elements interface{}) (interface{}, error) { + return types.NewInlineElements(elements.([]interface{})) } -func (p *parser) callonDocumentHeader346() (interface{}, error) { +func (p *parser) callonExternalCrossReference9() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader346() + return p.cur.onExternalCrossReference9(stack["elements"]) } -func (c *current) onDocumentHeader350() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onExternalCrossReference163() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentHeader350() (interface{}, error) { +func (p *parser) callonExternalCrossReference163() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader350() + return p.cur.onExternalCrossReference163() } -func (c *current) onDocumentHeader340(content interface{}) (interface{}, error) { - - return types.NewRawLine(content.(string)) - +func (c *current) onExternalCrossReference159(ref interface{}) (interface{}, error) { + return types.NewElementPlaceHolder(ref.(string)) } -func (p *parser) callonDocumentHeader340() (interface{}, error) { +func (p *parser) callonExternalCrossReference159() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader340(stack["content"]) + return p.cur.onExternalCrossReference159(stack["ref"]) } -func (c *current) onDocumentHeader314(line interface{}) (interface{}, error) { - return line, nil +func (c *current) onExternalCrossReference5(path interface{}) (interface{}, error) { + return types.NewLocation("", path.([]interface{})) } -func (p *parser) callonDocumentHeader314() (interface{}, error) { +func (p *parser) callonExternalCrossReference5() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader314(stack["line"]) + return p.cur.onExternalCrossReference5(stack["path"]) } -func (c *current) onDocumentHeader362() (interface{}, error) { - // sequence of 4 "/" chars or more - return string(c.text), nil +func (c *current) onExternalCrossReference1(url, attributes interface{}) (interface{}, error) { + return types.NewExternalCrossReference(url.(*types.Location), attributes.(types.Attributes)) } -func (p *parser) callonDocumentHeader362() (interface{}, error) { +func (p *parser) callonExternalCrossReference1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader362() + return p.cur.onExternalCrossReference1(stack["url"], stack["attributes"]) } -func (c *current) onDocumentHeader368() (interface{}, error) { +func (c *current) onMarkdownQuoteAttribution5() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentHeader368() (interface{}, error) { +func (p *parser) callonMarkdownQuoteAttribution5() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader368() + return p.cur.onMarkdownQuoteAttribution5() } -func (c *current) onDocumentHeader371() (interface{}, error) { +func (c *current) onMarkdownQuoteAttribution9() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonDocumentHeader371() (interface{}, error) { +func (p *parser) callonMarkdownQuoteAttribution9() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader371() + return p.cur.onMarkdownQuoteAttribution9() } -func (c *current) onDocumentHeader359(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Comment, len(delimiter.(string)), string(c.text)) +func (c *current) onMarkdownQuoteAttribution1(author interface{}) (interface{}, error) { + return author, nil } -func (p *parser) callonDocumentHeader359() (interface{}, error) { +func (p *parser) callonMarkdownQuoteAttribution1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader359(stack["delimiter"]) + return p.cur.onMarkdownQuoteAttribution1(stack["author"]) } -func (c *current) onDocumentHeader291(delimiter, content interface{}) (interface{}, error) { - return types.NewDelimitedBlock(types.Comment, content.([]interface{})) +func (c *current) onDocumentHeader3() (bool, error) { + return c.isDocumentHeaderAllowed(), nil } -func (p *parser) callonDocumentHeader291() (interface{}, error) { +func (p *parser) callonDocumentHeader3() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader291(stack["delimiter"], stack["content"]) + return p.cur.onDocumentHeader3() } -func (c *current) onDocumentHeader385() (interface{}, error) { +func (c *current) onDocumentHeader14() (interface{}, error) { + // log.Debug("matched multiple spaces") return string(c.text), nil } -func (p *parser) callonDocumentHeader385() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentHeader385() -} - -func (c *current) onDocumentHeader395() (interface{}, error) { - return string(c.text), nil -} - -func (p *parser) callonDocumentHeader395() (interface{}, error) { +func (p *parser) callonDocumentHeader14() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader395() + return p.cur.onDocumentHeader14() } -func (c *current) onDocumentHeader409() (interface{}, error) { - return string(c.text), nil +func (c *current) onDocumentHeader18() (interface{}, error) { + // can't have empty title, that may collide with example block delimiter (`====`) + return []interface{}{ + types.RawLine(c.text), + }, nil } -func (p *parser) callonDocumentHeader409() (interface{}, error) { +func (p *parser) callonDocumentHeader18() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader409() + return p.cur.onDocumentHeader18() } -func (c *current) onDocumentHeader401() (interface{}, error) { +func (c *current) onDocumentHeader22() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonDocumentHeader401() (interface{}, error) { +func (p *parser) callonDocumentHeader22() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader401() + return p.cur.onDocumentHeader22() } -func (c *current) onDocumentHeader417() (interface{}, error) { - return string(c.text), nil +func (c *current) onDocumentHeader11(title interface{}) (interface{}, error) { + return title, nil + } -func (p *parser) callonDocumentHeader417() (interface{}, error) { +func (p *parser) callonDocumentHeader11() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader417() + return p.cur.onDocumentHeader11(stack["title"]) } -func (c *current) onDocumentHeader424() (interface{}, error) { +func (c *current) onDocumentHeader37() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonDocumentHeader424() (interface{}, error) { +func (p *parser) callonDocumentHeader37() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader424() + return p.cur.onDocumentHeader37() } -func (c *current) onDocumentHeader391(revnumber, revdate, revremark interface{}) (interface{}, error) { - return types.NewDocumentRevision(revnumber, revdate, revremark) - +func (c *current) onDocumentHeader41() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonDocumentHeader391() (interface{}, error) { +func (p *parser) callonDocumentHeader41() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader391(stack["revnumber"], stack["revdate"], stack["revremark"]) + return p.cur.onDocumentHeader41() } -func (c *current) onDocumentHeader430() (interface{}, error) { - return string(c.text), nil +func (c *current) onDocumentHeader31(content interface{}) (interface{}, error) { + return types.NewSingleLineComment(content.(string)) + } -func (p *parser) callonDocumentHeader430() (interface{}, error) { +func (p *parser) callonDocumentHeader31() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader430() + return p.cur.onDocumentHeader31(stack["content"]) } -func (c *current) onDocumentHeader437() (interface{}, error) { +func (c *current) onDocumentHeader53() (interface{}, error) { + // sequence of 4 "/" chars or more return string(c.text), nil + } -func (p *parser) callonDocumentHeader437() (interface{}, error) { +func (p *parser) callonDocumentHeader53() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader437() + return p.cur.onDocumentHeader53() } -func (c *current) onDocumentHeader427(revdate, revremark interface{}) (interface{}, error) { - return types.NewDocumentRevision(nil, revdate, revremark) +func (c *current) onDocumentHeader59() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDocumentHeader427() (interface{}, error) { +func (p *parser) callonDocumentHeader59() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader427(stack["revdate"], stack["revremark"]) + return p.cur.onDocumentHeader59() } -func (c *current) onDocumentHeader441() (interface{}, error) { +func (c *current) onDocumentHeader62() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonDocumentHeader441() (interface{}, error) { +func (p *parser) callonDocumentHeader62() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader441() + return p.cur.onDocumentHeader62() } -func (c *current) onDocumentHeader382(revision interface{}) (interface{}, error) { - return revision, nil +func (c *current) onDocumentHeader50(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Comment, len(delimiter.(string)), string(c.text)) + } -func (p *parser) callonDocumentHeader382() (interface{}, error) { +func (p *parser) callonDocumentHeader50() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader382(stack["revision"]) + return p.cur.onDocumentHeader50(stack["delimiter"]) } -func (c *current) onDocumentHeader139(authors, revision interface{}) (interface{}, error) { - return types.NewDocumentAuthorsAndRevision(authors.(types.DocumentAuthors), revision) +func (c *current) onDocumentHeader78() (interface{}, error) { + // sequence of 4 "/" chars or more + return string(c.text), nil } -func (p *parser) callonDocumentHeader139() (interface{}, error) { +func (p *parser) callonDocumentHeader78() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader139(stack["authors"], stack["revision"]) + return p.cur.onDocumentHeader78() } -func (c *current) onDocumentHeader8(title, authorsAndRevision interface{}) (interface{}, error) { - return types.NewDocumentInformation(title.([]interface{}), authorsAndRevision) +func (c *current) onDocumentHeader84() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDocumentHeader8() (interface{}, error) { +func (p *parser) callonDocumentHeader84() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader8(stack["title"], stack["authorsAndRevision"]) + return p.cur.onDocumentHeader84() } -func (c *current) onDocumentHeader450(extraAttrs, info, moreExtraAttrs interface{}) (bool, error) { - // at least one of title/info/extraArgs must be present - // log.Debugf("checking document header data: title=%s / info=%s / extraAttrs=%s", title, info, extraAttrs) - return info != nil || - len(extraAttrs.([]interface{})) > 0 || - len(moreExtraAttrs.([]interface{})) > 0, nil - +func (c *current) onDocumentHeader87() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonDocumentHeader450() (bool, error) { +func (p *parser) callonDocumentHeader87() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader450(stack["extraAttrs"], stack["info"], stack["moreExtraAttrs"]) + return p.cur.onDocumentHeader87() } -func (c *current) onDocumentHeader1(extraAttrs, info, moreExtraAttrs interface{}) (interface{}, error) { - attrs := []interface{}{} - if a, ok := extraAttrs.([]interface{}); ok { - attrs = append(attrs, a...) - } - if a, ok := moreExtraAttrs.([]interface{}); ok { - attrs = append(attrs, a...) - } - return types.NewDocumentHeader(info, attrs) +func (c *current) onDocumentHeader75(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Comment, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonDocumentHeader1() (interface{}, error) { +func (p *parser) callonDocumentHeader75() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader1(stack["extraAttrs"], stack["info"], stack["moreExtraAttrs"]) + return p.cur.onDocumentHeader75(stack["delimiter"]) } -func (c *current) onDocumentHeaderAttributes8() (interface{}, error) { +func (c *current) onDocumentHeader103() (interface{}, error) { + // content is NOT mandatory return string(c.text), nil } -func (p *parser) callonDocumentHeaderAttributes8() (interface{}, error) { +func (p *parser) callonDocumentHeader103() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeaderAttributes8() + return p.cur.onDocumentHeader103() } -func (c *current) onDocumentHeaderAttributes15() (interface{}, error) { +func (c *current) onDocumentHeader107() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonDocumentHeaderAttributes15() (interface{}, error) { +func (p *parser) callonDocumentHeader107() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeaderAttributes15() + return p.cur.onDocumentHeader107() } -func (c *current) onDocumentHeaderAttributes18() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onDocumentHeader97(content interface{}) (interface{}, error) { + + return types.NewRawLine(content.(string)) + } -func (p *parser) callonDocumentHeaderAttributes18() (interface{}, error) { +func (p *parser) callonDocumentHeader97() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeaderAttributes18() + return p.cur.onDocumentHeader97(stack["content"]) } -func (c *current) onDocumentHeaderAttributes4(name interface{}) (interface{}, error) { - return types.NewAttributeReset(name.(string), string(c.text)) +func (c *current) onDocumentHeader71(line interface{}) (interface{}, error) { + return line, nil } -func (p *parser) callonDocumentHeaderAttributes4() (interface{}, error) { +func (p *parser) callonDocumentHeader71() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeaderAttributes4(stack["name"]) + return p.cur.onDocumentHeader71(stack["line"]) } -func (c *current) onDocumentHeaderAttributes29() (interface{}, error) { +func (c *current) onDocumentHeader119() (interface{}, error) { + // sequence of 4 "/" chars or more return string(c.text), nil } -func (p *parser) callonDocumentHeaderAttributes29() (interface{}, error) { +func (p *parser) callonDocumentHeader119() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeaderAttributes29() + return p.cur.onDocumentHeader119() } -func (c *current) onDocumentHeaderAttributes36() (interface{}, error) { +func (c *current) onDocumentHeader125() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentHeaderAttributes36() (interface{}, error) { +func (p *parser) callonDocumentHeader125() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeaderAttributes36() + return p.cur.onDocumentHeader125() } -func (c *current) onDocumentHeaderAttributes39() (interface{}, error) { +func (c *current) onDocumentHeader128() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonDocumentHeaderAttributes39() (interface{}, error) { +func (p *parser) callonDocumentHeader128() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeaderAttributes39() + return p.cur.onDocumentHeader128() } -func (c *current) onDocumentHeaderAttributes25(name interface{}) (interface{}, error) { - return types.NewAttributeReset(name.(string), string(c.text)) +func (c *current) onDocumentHeader116(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Comment, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonDocumentHeaderAttributes25() (interface{}, error) { +func (p *parser) callonDocumentHeader116() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeaderAttributes25(stack["name"]) + return p.cur.onDocumentHeader116(stack["delimiter"]) } -func (c *current) onDocumentHeaderAttributes52() (interface{}, error) { - return string(c.text), nil +func (c *current) onDocumentHeader48(delimiter, content interface{}) (interface{}, error) { + return types.NewDelimitedBlock(types.Comment, content.([]interface{})) } -func (p *parser) callonDocumentHeaderAttributes52() (interface{}, error) { +func (p *parser) callonDocumentHeader48() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeaderAttributes52() + return p.cur.onDocumentHeader48(stack["delimiter"], stack["content"]) } -func (c *current) onDocumentHeaderAttributes56() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onDocumentHeader145() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonDocumentHeaderAttributes56() (interface{}, error) { +func (p *parser) callonDocumentHeader145() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeaderAttributes56() + return p.cur.onDocumentHeader145() } -func (c *current) onDocumentHeaderAttributes46(content interface{}) (interface{}, error) { - return types.NewSingleLineComment(content.(string)) +func (c *current) onDocumentHeader162() (interface{}, error) { + // no space allowed + return string(c.text), nil } -func (p *parser) callonDocumentHeaderAttributes46() (interface{}, error) { +func (p *parser) callonDocumentHeader162() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeaderAttributes46(stack["content"]) + return p.cur.onDocumentHeader162() } -func (c *current) onDocumentHeaderAttributes68() (interface{}, error) { - // sequence of 4 "/" chars or more +func (c *current) onDocumentHeader166() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentHeaderAttributes68() (interface{}, error) { +func (p *parser) callonDocumentHeader166() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeaderAttributes68() + return p.cur.onDocumentHeader166() } -func (c *current) onDocumentHeaderAttributes74() (interface{}, error) { +func (c *current) onDocumentHeader170() (interface{}, error) { + // no space allowed return string(c.text), nil } -func (p *parser) callonDocumentHeaderAttributes74() (interface{}, error) { +func (p *parser) callonDocumentHeader170() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeaderAttributes74() + return p.cur.onDocumentHeader170() } -func (c *current) onDocumentHeaderAttributes77() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onDocumentHeader174() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonDocumentHeaderAttributes77() (interface{}, error) { +func (p *parser) callonDocumentHeader174() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeaderAttributes77() + return p.cur.onDocumentHeader174() } -func (c *current) onDocumentHeaderAttributes65(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Comment, len(delimiter.(string)), string(c.text)) +func (c *current) onDocumentHeader178() (interface{}, error) { + // spaces allowed + return string(c.text), nil } -func (p *parser) callonDocumentHeaderAttributes65() (interface{}, error) { +func (p *parser) callonDocumentHeader178() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeaderAttributes65(stack["delimiter"]) + return p.cur.onDocumentHeader178() } -func (c *current) onDocumentHeaderAttributes93() (interface{}, error) { - // sequence of 4 "/" chars or more +func (c *current) onDocumentHeader182() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentHeaderAttributes93() (interface{}, error) { +func (p *parser) callonDocumentHeader182() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeaderAttributes93() + return p.cur.onDocumentHeader182() } -func (c *current) onDocumentHeaderAttributes99() (interface{}, error) { - return string(c.text), nil +func (c *current) onDocumentHeader159(part1, part2, part3 interface{}) (interface{}, error) { + return types.NewDocumentAuthorFullName(part1.(string), part2, part3) } -func (p *parser) callonDocumentHeaderAttributes99() (interface{}, error) { +func (p *parser) callonDocumentHeader159() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeaderAttributes99() + return p.cur.onDocumentHeader159(stack["part1"], stack["part2"], stack["part3"]) } -func (c *current) onDocumentHeaderAttributes102() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onDocumentHeader193() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonDocumentHeaderAttributes102() (interface{}, error) { +func (p *parser) callonDocumentHeader193() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeaderAttributes102() + return p.cur.onDocumentHeader193() } -func (c *current) onDocumentHeaderAttributes90(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Comment, len(delimiter.(string)), string(c.text)) +func (c *current) onDocumentHeader186(email interface{}) (interface{}, error) { + return email, nil } -func (p *parser) callonDocumentHeaderAttributes90() (interface{}, error) { +func (p *parser) callonDocumentHeader186() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeaderAttributes90(stack["delimiter"]) + return p.cur.onDocumentHeader186(stack["email"]) } -func (c *current) onDocumentHeaderAttributes118() (interface{}, error) { - // content is NOT mandatory +func (c *current) onDocumentHeader198() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentHeaderAttributes118() (interface{}, error) { +func (p *parser) callonDocumentHeader198() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeaderAttributes118() + return p.cur.onDocumentHeader198() } -func (c *current) onDocumentHeaderAttributes122() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onDocumentHeader203() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonDocumentHeaderAttributes122() (interface{}, error) { +func (p *parser) callonDocumentHeader203() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeaderAttributes122() + return p.cur.onDocumentHeader203() } -func (c *current) onDocumentHeaderAttributes112(content interface{}) (interface{}, error) { - - return types.NewRawLine(content.(string)) +func (c *current) onDocumentHeader205(fullName, email interface{}) (bool, error) { + // at least 1 of [fullName, email] must be defined + return fullName != nil || email != nil, nil } -func (p *parser) callonDocumentHeaderAttributes112() (interface{}, error) { +func (p *parser) callonDocumentHeader205() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeaderAttributes112(stack["content"]) + return p.cur.onDocumentHeader205(stack["fullName"], stack["email"]) } -func (c *current) onDocumentHeaderAttributes86(line interface{}) (interface{}, error) { - return line, nil +func (c *current) onDocumentHeader155(fullName, email interface{}) (interface{}, error) { + return types.NewDocumentAuthor(fullName, email) } -func (p *parser) callonDocumentHeaderAttributes86() (interface{}, error) { +func (p *parser) callonDocumentHeader155() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeaderAttributes86(stack["line"]) + return p.cur.onDocumentHeader155(stack["fullName"], stack["email"]) } -func (c *current) onDocumentHeaderAttributes134() (interface{}, error) { - // sequence of 4 "/" chars or more - return string(c.text), nil - +func (c *current) onDocumentHeader149(authors interface{}) (interface{}, error) { + return types.NewDocumentAuthors(authors.([]interface{})...) } -func (p *parser) callonDocumentHeaderAttributes134() (interface{}, error) { +func (p *parser) callonDocumentHeader149() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeaderAttributes134() + return p.cur.onDocumentHeader149(stack["authors"]) } -func (c *current) onDocumentHeaderAttributes140() (interface{}, error) { +func (c *current) onDocumentHeader210() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentHeaderAttributes140() (interface{}, error) { +func (p *parser) callonDocumentHeader210() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeaderAttributes140() + return p.cur.onDocumentHeader210() } -func (c *current) onDocumentHeaderAttributes143() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onDocumentHeader220() (interface{}, error) { + // no space allowed return string(c.text), nil + } -func (p *parser) callonDocumentHeaderAttributes143() (interface{}, error) { +func (p *parser) callonDocumentHeader220() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeaderAttributes143() + return p.cur.onDocumentHeader220() } -func (c *current) onDocumentHeaderAttributes131(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Comment, len(delimiter.(string)), string(c.text)) +func (c *current) onDocumentHeader224() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDocumentHeaderAttributes131() (interface{}, error) { +func (p *parser) callonDocumentHeader224() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeaderAttributes131(stack["delimiter"]) + return p.cur.onDocumentHeader224() } -func (c *current) onDocumentHeaderAttributes63(delimiter, content interface{}) (interface{}, error) { - return types.NewDelimitedBlock(types.Comment, content.([]interface{})) +func (c *current) onDocumentHeader228() (interface{}, error) { + // no space allowed + return string(c.text), nil } -func (p *parser) callonDocumentHeaderAttributes63() (interface{}, error) { +func (p *parser) callonDocumentHeader228() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeaderAttributes63(stack["delimiter"], stack["content"]) + return p.cur.onDocumentHeader228() } -func (c *current) onDocumentHeaderAttributes158() (interface{}, error) { +func (c *current) onDocumentHeader232() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentHeaderAttributes158() (interface{}, error) { +func (p *parser) callonDocumentHeader232() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeaderAttributes158() + return p.cur.onDocumentHeader232() } -func (c *current) onDocumentHeaderAttributes161() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onDocumentHeader236() (interface{}, error) { + // spaces allowed return string(c.text), nil + } -func (p *parser) callonDocumentHeaderAttributes161() (interface{}, error) { +func (p *parser) callonDocumentHeader236() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeaderAttributes161() + return p.cur.onDocumentHeader236() } -func (c *current) onDocumentHeaderAttributes152() (interface{}, error) { - return types.NewBlankLine() +func (c *current) onDocumentHeader240() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDocumentHeaderAttributes152() (interface{}, error) { +func (p *parser) callonDocumentHeader240() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeaderAttributes152() + return p.cur.onDocumentHeader240() } -func (c *current) onInlineElement9() (interface{}, error) { - return string(c.text), nil +func (c *current) onDocumentHeader217(part1, part2, part3 interface{}) (interface{}, error) { + return types.NewDocumentAuthorFullName(part1.(string), part2, part3) } -func (p *parser) callonInlineElement9() (interface{}, error) { +func (p *parser) callonDocumentHeader217() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement9() + return p.cur.onDocumentHeader217(stack["part1"], stack["part2"], stack["part3"]) } -func (c *current) onInlineElement14() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onDocumentHeader251() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonInlineElement14() (interface{}, error) { +func (p *parser) callonDocumentHeader251() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement14() + return p.cur.onDocumentHeader251() } -func (c *current) onInlineElement4() (interface{}, error) { - return types.NewStringElement(string(c.text)) +func (c *current) onDocumentHeader244(email interface{}) (interface{}, error) { + return email, nil } -func (p *parser) callonInlineElement4() (interface{}, error) { +func (p *parser) callonDocumentHeader244() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement4() + return p.cur.onDocumentHeader244(stack["email"]) } -func (c *current) onInlineElement21() (interface{}, error) { - // log.Debug("matched multiple spaces") +func (c *current) onDocumentHeader256() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonInlineElement21() (interface{}, error) { +func (p *parser) callonDocumentHeader256() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement21() + return p.cur.onDocumentHeader256() } -func (c *current) onInlineElement26() (bool, error) { - - return c.isSubstitutionEnabled(PostReplacements) && c.isPreceededBySpace(), nil +func (c *current) onDocumentHeader261() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonInlineElement26() (bool, error) { +func (p *parser) callonDocumentHeader261() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement26() + return p.cur.onDocumentHeader261() } -func (c *current) onInlineElement29() (interface{}, error) { - return string(c.text), nil +func (c *current) onDocumentHeader263(fullName, email interface{}) (bool, error) { + // at least 1 of [fullName, email] must be defined + return fullName != nil || email != nil, nil } -func (p *parser) callonInlineElement29() (interface{}, error) { +func (p *parser) callonDocumentHeader263() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement29() + return p.cur.onDocumentHeader263(stack["fullName"], stack["email"]) } -func (c *current) onInlineElement33() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onDocumentHeader213(fullName, email interface{}) (interface{}, error) { + return types.NewDocumentAuthor(fullName, email) + } -func (p *parser) callonInlineElement33() (interface{}, error) { +func (p *parser) callonDocumentHeader213() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement33() + return p.cur.onDocumentHeader213(stack["fullName"], stack["email"]) } -func (c *current) onInlineElement24() (interface{}, error) { - return types.NewLineBreak() - +func (c *current) onDocumentHeader206(author interface{}) (interface{}, error) { + return types.NewDocumentAuthors(author) } -func (p *parser) callonInlineElement24() (interface{}, error) { +func (p *parser) callonDocumentHeader206() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement24() + return p.cur.onDocumentHeader206(stack["author"]) } -func (c *current) onInlineElement43() (interface{}, error) { +func (c *current) onDocumentHeader265() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonInlineElement43() (interface{}, error) { +func (p *parser) callonDocumentHeader265() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement43() + return p.cur.onDocumentHeader265() } -func (c *current) onInlineElement54() (bool, error) { - return c.isSubstitutionEnabled(Attributes), nil - +func (c *current) onDocumentHeader142(authors interface{}) (interface{}, error) { + return authors, nil } -func (p *parser) callonInlineElement54() (bool, error) { +func (p *parser) callonDocumentHeader142() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement54() + return p.cur.onDocumentHeader142(stack["authors"]) } -func (c *current) onInlineElement61() (interface{}, error) { +func (c *current) onDocumentHeader280() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonInlineElement61() (interface{}, error) { +func (p *parser) callonDocumentHeader280() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement61() + return p.cur.onDocumentHeader280() } -func (c *current) onInlineElement73() (interface{}, error) { +func (c *current) onDocumentHeader284() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonInlineElement73() (interface{}, error) { +func (p *parser) callonDocumentHeader284() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement73() + return p.cur.onDocumentHeader284() } -func (c *current) onInlineElement75() (interface{}, error) { - - return strconv.Atoi(string(c.text)) +func (c *current) onDocumentHeader274(content interface{}) (interface{}, error) { + return types.NewSingleLineComment(content.(string)) } -func (p *parser) callonInlineElement75() (interface{}, error) { +func (p *parser) callonDocumentHeader274() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement75() -} - -func (c *current) onInlineElement68(start interface{}) (interface{}, error) { - return start, nil - + return p.cur.onDocumentHeader274(stack["content"]) } -func (p *parser) callonInlineElement68() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onInlineElement68(stack["start"]) -} +func (c *current) onDocumentHeader296() (interface{}, error) { + // sequence of 4 "/" chars or more + return string(c.text), nil -func (c *current) onInlineElement57(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) } -func (p *parser) callonInlineElement57() (interface{}, error) { +func (p *parser) callonDocumentHeader296() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement57(stack["name"], stack["start"]) + return p.cur.onDocumentHeader296() } -func (c *current) onInlineElement83() (interface{}, error) { +func (c *current) onDocumentHeader302() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonInlineElement83() (interface{}, error) { +func (p *parser) callonDocumentHeader302() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement83() + return p.cur.onDocumentHeader302() } -func (c *current) onInlineElement95() (interface{}, error) { +func (c *current) onDocumentHeader305() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonInlineElement95() (interface{}, error) { +func (p *parser) callonDocumentHeader305() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement95() + return p.cur.onDocumentHeader305() } -func (c *current) onInlineElement97() (interface{}, error) { +func (c *current) onDocumentHeader293(delimiter interface{}) (interface{}, error) { - return strconv.Atoi(string(c.text)) + return types.NewBlockDelimiter(types.Comment, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonInlineElement97() (interface{}, error) { +func (p *parser) callonDocumentHeader293() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement97() + return p.cur.onDocumentHeader293(stack["delimiter"]) } -func (c *current) onInlineElement90(start interface{}) (interface{}, error) { - return start, nil +func (c *current) onDocumentHeader321() (interface{}, error) { + // sequence of 4 "/" chars or more + return string(c.text), nil } -func (p *parser) callonInlineElement90() (interface{}, error) { +func (p *parser) callonDocumentHeader321() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement90(stack["start"]) + return p.cur.onDocumentHeader321() } -func (c *current) onInlineElement79(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) +func (c *current) onDocumentHeader327() (interface{}, error) { + return string(c.text), nil + } -func (p *parser) callonInlineElement79() (interface{}, error) { +func (p *parser) callonDocumentHeader327() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement79(stack["name"], stack["start"]) + return p.cur.onDocumentHeader327() } -func (c *current) onInlineElement105() (interface{}, error) { +func (c *current) onDocumentHeader330() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonInlineElement105() (interface{}, error) { +func (p *parser) callonDocumentHeader330() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement105() + return p.cur.onDocumentHeader330() } -func (c *current) onInlineElement101(name interface{}) (interface{}, error) { +func (c *current) onDocumentHeader318(delimiter interface{}) (interface{}, error) { - log.Debug("matching escaped attribute reference") - // return types.NewStringElement("{"+name.(string)+"}") - return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) + return types.NewBlockDelimiter(types.Comment, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonInlineElement101() (interface{}, error) { +func (p *parser) callonDocumentHeader318() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement101(stack["name"]) + return p.cur.onDocumentHeader318(stack["delimiter"]) } -func (c *current) onInlineElement115() (interface{}, error) { +func (c *current) onDocumentHeader346() (interface{}, error) { + // content is NOT mandatory return string(c.text), nil } -func (p *parser) callonInlineElement115() (interface{}, error) { +func (p *parser) callonDocumentHeader346() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement115() + return p.cur.onDocumentHeader346() } -func (c *current) onInlineElement111(name interface{}) (interface{}, error) { - - return types.NewAttributeSubstitution(name.(string), string(c.text)) - +func (c *current) onDocumentHeader350() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonInlineElement111() (interface{}, error) { +func (p *parser) callonDocumentHeader350() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement111(stack["name"]) + return p.cur.onDocumentHeader350() } -func (c *current) onInlineElement52(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onDocumentHeader340(content interface{}) (interface{}, error) { + + return types.NewRawLine(content.(string)) } -func (p *parser) callonInlineElement52() (interface{}, error) { +func (p *parser) callonDocumentHeader340() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement52(stack["element"]) + return p.cur.onDocumentHeader340(stack["content"]) } -func (c *current) onInlineElement124() (bool, error) { - return c.isSubstitutionEnabled(SpecialCharacters), nil +func (c *current) onDocumentHeader314(line interface{}) (interface{}, error) { + return line, nil } -func (p *parser) callonInlineElement124() (bool, error) { +func (p *parser) callonDocumentHeader314() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement124() + return p.cur.onDocumentHeader314(stack["line"]) } -func (c *current) onInlineElement133() (interface{}, error) { - // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ +func (c *current) onDocumentHeader362() (interface{}, error) { + // sequence of 4 "/" chars or more return string(c.text), nil } -func (p *parser) callonInlineElement133() (interface{}, error) { +func (p *parser) callonDocumentHeader362() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement133() + return p.cur.onDocumentHeader362() } -func (c *current) onInlineElement137() (interface{}, error) { +func (c *current) onDocumentHeader368() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonInlineElement137() (interface{}, error) { +func (p *parser) callonDocumentHeader368() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement137() + return p.cur.onDocumentHeader368() } -func (c *current) onInlineElement143() (interface{}, error) { - // `{`, `>` and `>` characters are not allowed as they are used for attribute substitutions and cross-references - return types.NewStringElement(string(c.text)) - +func (c *current) onDocumentHeader371() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonInlineElement143() (interface{}, error) { +func (p *parser) callonDocumentHeader371() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement143() + return p.cur.onDocumentHeader371() } -func (c *current) onInlineElement152() (interface{}, error) { - return string(c.text), nil +func (c *current) onDocumentHeader359(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Comment, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonInlineElement152() (interface{}, error) { +func (p *parser) callonDocumentHeader359() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement152() + return p.cur.onDocumentHeader359(stack["delimiter"]) } -func (c *current) onInlineElement148(name interface{}) (interface{}, error) { - - log.Debug("matching escaped attribute reference") - // return types.NewStringElement("{"+name.(string)+"}") - return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) +func (c *current) onDocumentHeader291(delimiter, content interface{}) (interface{}, error) { + return types.NewDelimitedBlock(types.Comment, content.([]interface{})) } -func (p *parser) callonInlineElement148() (interface{}, error) { +func (p *parser) callonDocumentHeader291() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement148(stack["name"]) + return p.cur.onDocumentHeader291(stack["delimiter"], stack["content"]) } -func (c *current) onInlineElement162() (interface{}, error) { +func (c *current) onDocumentHeader385() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonInlineElement162() (interface{}, error) { +func (p *parser) callonDocumentHeader385() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement162() + return p.cur.onDocumentHeader385() } -func (c *current) onInlineElement158(name interface{}) (interface{}, error) { - - return types.NewAttributeSubstitution(name.(string), string(c.text)) - +func (c *current) onDocumentHeader395() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonInlineElement158() (interface{}, error) { +func (p *parser) callonDocumentHeader395() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement158(stack["name"]) + return p.cur.onDocumentHeader395() } -func (c *current) onInlineElement168() (interface{}, error) { - - return types.NewStringElement(string(c.text)) +func (c *current) onDocumentHeader409() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonInlineElement168() (interface{}, error) { +func (p *parser) callonDocumentHeader409() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement168() + return p.cur.onDocumentHeader409() } -func (c *current) onInlineElement129(id, label interface{}) (interface{}, error) { - return types.NewInternalCrossReference(id, label) - +func (c *current) onDocumentHeader401() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonInlineElement129() (interface{}, error) { +func (p *parser) callonDocumentHeader401() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement129(stack["id"], stack["label"]) + return p.cur.onDocumentHeader401() } -func (c *current) onInlineElement175() (interface{}, error) { - // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ +func (c *current) onDocumentHeader417() (interface{}, error) { return string(c.text), nil - } -func (p *parser) callonInlineElement175() (interface{}, error) { +func (p *parser) callonDocumentHeader417() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement175() + return p.cur.onDocumentHeader417() } -func (c *current) onInlineElement171(id interface{}) (interface{}, error) { - return types.NewInternalCrossReference(id, nil) - +func (c *current) onDocumentHeader424() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonInlineElement171() (interface{}, error) { +func (p *parser) callonDocumentHeader424() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement171(stack["id"]) + return p.cur.onDocumentHeader424() } -func (c *current) onInlineElement127() (interface{}, error) { - return types.NewStringElement(string(c.text)) +func (c *current) onDocumentHeader391(revnumber, revdate, revremark interface{}) (interface{}, error) { + return types.NewDocumentRevision(revnumber, revdate, revremark) } -func (p *parser) callonInlineElement127() (interface{}, error) { +func (p *parser) callonDocumentHeader391() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement127() + return p.cur.onDocumentHeader391(stack["revnumber"], stack["revdate"], stack["revremark"]) } -func (c *current) onInlineElement179() (interface{}, error) { - return types.NewSpecialCharacter(string(c.text)) - +func (c *current) onDocumentHeader430() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonInlineElement179() (interface{}, error) { +func (p *parser) callonDocumentHeader430() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement179() + return p.cur.onDocumentHeader430() } -func (c *current) onInlineElement122(element interface{}) (interface{}, error) { - return element, nil - +func (c *current) onDocumentHeader437() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonInlineElement122() (interface{}, error) { +func (p *parser) callonDocumentHeader437() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement122(stack["element"]) + return p.cur.onDocumentHeader437() } -func (c *current) onInlineElement185() (interface{}, error) { - return types.NewSymbol("`'") +func (c *current) onDocumentHeader427(revdate, revremark interface{}) (interface{}, error) { + return types.NewDocumentRevision(nil, revdate, revremark) } -func (p *parser) callonInlineElement185() (interface{}, error) { +func (p *parser) callonDocumentHeader427() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement185() + return p.cur.onDocumentHeader427(stack["revdate"], stack["revremark"]) } -func (c *current) onInlineElement187() (interface{}, error) { - return types.NewSymbol("(C)") - +func (c *current) onDocumentHeader441() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonInlineElement187() (interface{}, error) { +func (p *parser) callonDocumentHeader441() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement187() + return p.cur.onDocumentHeader441() } -func (c *current) onInlineElement189() (interface{}, error) { - return types.NewSymbol("(TM)") - +func (c *current) onDocumentHeader382(revision interface{}) (interface{}, error) { + return revision, nil } -func (p *parser) callonInlineElement189() (interface{}, error) { +func (p *parser) callonDocumentHeader382() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement189() + return p.cur.onDocumentHeader382(stack["revision"]) } -func (c *current) onInlineElement191() (interface{}, error) { - return types.NewSymbol("(R)") +func (c *current) onDocumentHeader139(authors, revision interface{}) (interface{}, error) { + return types.NewDocumentAuthorsAndRevision(authors.(types.DocumentAuthors), revision) } -func (p *parser) callonInlineElement191() (interface{}, error) { +func (p *parser) callonDocumentHeader139() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement191() + return p.cur.onDocumentHeader139(stack["authors"], stack["revision"]) } -func (c *current) onInlineElement193() (interface{}, error) { - return types.NewSymbol("...") +func (c *current) onDocumentHeader8(title, authorsAndRevision interface{}) (interface{}, error) { + return types.NewDocumentInformation(title.([]interface{}), authorsAndRevision) } -func (p *parser) callonInlineElement193() (interface{}, error) { +func (p *parser) callonDocumentHeader8() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement193() + return p.cur.onDocumentHeader8(stack["title"], stack["authorsAndRevision"]) } -func (c *current) onInlineElement181() (interface{}, error) { - return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) +func (c *current) onDocumentHeader450(extraAttrs, info, moreExtraAttrs interface{}) (bool, error) { + // at least one of title/info/extraArgs must be present + // log.Debugf("checking document header data: title=%s / info=%s / extraAttrs=%s", title, info, extraAttrs) + return info != nil || + len(extraAttrs.([]interface{})) > 0 || + len(moreExtraAttrs.([]interface{})) > 0, nil } -func (p *parser) callonInlineElement181() (interface{}, error) { +func (p *parser) callonDocumentHeader450() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement181() + return p.cur.onDocumentHeader450(stack["extraAttrs"], stack["info"], stack["moreExtraAttrs"]) } -func (c *current) onInlineElement195() (interface{}, error) { - return types.NewSymbol("`'") +func (c *current) onDocumentHeader1(extraAttrs, info, moreExtraAttrs interface{}) (interface{}, error) { + attrs := []interface{}{} + if a, ok := extraAttrs.([]interface{}); ok { + attrs = append(attrs, a...) + } + if a, ok := moreExtraAttrs.([]interface{}); ok { + attrs = append(attrs, a...) + } + return types.NewDocumentHeader(info, attrs) } -func (p *parser) callonInlineElement195() (interface{}, error) { +func (p *parser) callonDocumentHeader1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement195() + return p.cur.onDocumentHeader1(stack["extraAttrs"], stack["info"], stack["moreExtraAttrs"]) } -func (c *current) onInlineElement197() (interface{}, error) { - return types.NewSymbol("(C)") +func (c *current) onDocumentHeaderAttributes8() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonInlineElement197() (interface{}, error) { +func (p *parser) callonDocumentHeaderAttributes8() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement197() + return p.cur.onDocumentHeaderAttributes8() } -func (c *current) onInlineElement199() (interface{}, error) { - return types.NewSymbol("(TM)") +func (c *current) onDocumentHeaderAttributes15() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonInlineElement199() (interface{}, error) { +func (p *parser) callonDocumentHeaderAttributes15() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement199() + return p.cur.onDocumentHeaderAttributes15() } -func (c *current) onInlineElement201() (interface{}, error) { - return types.NewSymbol("(R)") - +func (c *current) onDocumentHeaderAttributes18() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonInlineElement201() (interface{}, error) { +func (p *parser) callonDocumentHeaderAttributes18() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement201() + return p.cur.onDocumentHeaderAttributes18() } -func (c *current) onInlineElement203() (interface{}, error) { - return types.NewSymbol("...") +func (c *current) onDocumentHeaderAttributes4(name interface{}) (interface{}, error) { + return types.NewAttributeReset(name.(string), string(c.text)) } -func (p *parser) callonInlineElement203() (interface{}, error) { +func (p *parser) callonDocumentHeaderAttributes4() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement203() + return p.cur.onDocumentHeaderAttributes4(stack["name"]) } -func (c *current) onInlineElement205() (interface{}, error) { - log.Debug("matched escaped apostrophe") - return types.NewStringElement(strings.TrimSuffix(string(c.text), `\'`) + `'`) // retain the apostrophe, but discard the `\` escape char +func (c *current) onDocumentHeaderAttributes29() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonInlineElement205() (interface{}, error) { +func (p *parser) callonDocumentHeaderAttributes29() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement205() + return p.cur.onDocumentHeaderAttributes29() } -func (c *current) onInlineElement211() (interface{}, error) { - return types.NewSymbolWithForeword("'", strings.TrimSuffix(string(c.text), `'`)) +func (c *current) onDocumentHeaderAttributes36() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonInlineElement211() (interface{}, error) { +func (p *parser) callonDocumentHeaderAttributes36() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement211() + return p.cur.onDocumentHeaderAttributes36() } -func (c *current) onInlineElement221() (interface{}, error) { +func (c *current) onDocumentHeaderAttributes39() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonInlineElement221() (interface{}, error) { +func (p *parser) callonDocumentHeaderAttributes39() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement221() + return p.cur.onDocumentHeaderAttributes39() } -func (c *current) onInlineElement217(ref interface{}) (interface{}, error) { - return types.NewElementPlaceHolder(ref.(string)) +func (c *current) onDocumentHeaderAttributes25(name interface{}) (interface{}, error) { + return types.NewAttributeReset(name.(string), string(c.text)) + } -func (p *parser) callonInlineElement217() (interface{}, error) { +func (p *parser) callonDocumentHeaderAttributes25() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement217(stack["ref"]) + return p.cur.onDocumentHeaderAttributes25(stack["name"]) } -func (c *current) onInlineElement225() (interface{}, error) { - - return types.NewStringElement(string(c.text)) +func (c *current) onDocumentHeaderAttributes52() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonInlineElement225() (interface{}, error) { +func (p *parser) callonDocumentHeaderAttributes52() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement225() + return p.cur.onDocumentHeaderAttributes52() } -func (c *current) onInlineElement1(element interface{}) (interface{}, error) { - c.trackSpaceSuffix(element) - return element, nil +func (c *current) onDocumentHeaderAttributes56() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonInlineElement1() (interface{}, error) { +func (p *parser) callonDocumentHeaderAttributes56() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement1(stack["element"]) + return p.cur.onDocumentHeaderAttributes56() } -func (c *current) onInlineButton3() (bool, error) { - return c.isExperimentalEnabled(), nil +func (c *current) onDocumentHeaderAttributes46(content interface{}) (interface{}, error) { + return types.NewSingleLineComment(content.(string)) } -func (p *parser) callonInlineButton3() (bool, error) { +func (p *parser) callonDocumentHeaderAttributes46() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineButton3() + return p.cur.onDocumentHeaderAttributes46(stack["content"]) } -func (c *current) onInlineButton1(attributes interface{}) (interface{}, error) { - return types.NewInlineButton(attributes.(types.Attributes)) +func (c *current) onDocumentHeaderAttributes68() (interface{}, error) { + // sequence of 4 "/" chars or more + return string(c.text), nil } -func (p *parser) callonInlineButton1() (interface{}, error) { +func (p *parser) callonDocumentHeaderAttributes68() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineButton1(stack["attributes"]) + return p.cur.onDocumentHeaderAttributes68() } -func (c *current) onInlineMenu3() (bool, error) { - return c.isExperimentalEnabled(), nil +func (c *current) onDocumentHeaderAttributes74() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonInlineMenu3() (bool, error) { +func (p *parser) callonDocumentHeaderAttributes74() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineMenu3() + return p.cur.onDocumentHeaderAttributes74() } -func (c *current) onInlineMenu6() (interface{}, error) { - // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ +func (c *current) onDocumentHeaderAttributes77() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonInlineMenu6() (interface{}, error) { +func (p *parser) callonDocumentHeaderAttributes77() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineMenu6() + return p.cur.onDocumentHeaderAttributes77() } -func (c *current) onInlineMenu1(id, attributes interface{}) (interface{}, error) { - return types.NewInlineMenu(id.(string), attributes.(types.Attributes)) +func (c *current) onDocumentHeaderAttributes65(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Comment, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonInlineMenu1() (interface{}, error) { +func (p *parser) callonDocumentHeaderAttributes65() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineMenu1(stack["id"], stack["attributes"]) + return p.cur.onDocumentHeaderAttributes65(stack["delimiter"]) } -func (c *current) onIndexTerm1(term interface{}) (interface{}, error) { - return types.NewIndexTerm(term.([]interface{})) +func (c *current) onDocumentHeaderAttributes93() (interface{}, error) { + // sequence of 4 "/" chars or more + return string(c.text), nil } -func (p *parser) callonIndexTerm1() (interface{}, error) { +func (p *parser) callonDocumentHeaderAttributes93() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onIndexTerm1(stack["term"]) + return p.cur.onDocumentHeaderAttributes93() } -func (c *current) onIndexTermContent5() (interface{}, error) { - return types.NewStringElement(string(c.text)) +func (c *current) onDocumentHeaderAttributes99() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonIndexTermContent5() (interface{}, error) { +func (p *parser) callonDocumentHeaderAttributes99() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onIndexTermContent5() + return p.cur.onDocumentHeaderAttributes99() } -func (c *current) onIndexTermContent14() (interface{}, error) { - // allow ` - return types.NewStringElement(string(c.text)) - +func (c *current) onDocumentHeaderAttributes102() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonIndexTermContent14() (interface{}, error) { +func (p *parser) callonDocumentHeaderAttributes102() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onIndexTermContent14() + return p.cur.onDocumentHeaderAttributes102() } -func (c *current) onIndexTermContent25() (interface{}, error) { - return string(c.text), nil +func (c *current) onDocumentHeaderAttributes90(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Comment, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonIndexTermContent25() (interface{}, error) { +func (p *parser) callonDocumentHeaderAttributes90() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onIndexTermContent25() + return p.cur.onDocumentHeaderAttributes90(stack["delimiter"]) } -func (c *current) onIndexTermContent29() (bool, error) { - return c.isSubstitutionEnabled(SpecialCharacters), nil +func (c *current) onDocumentHeaderAttributes118() (interface{}, error) { + // content is NOT mandatory + return string(c.text), nil } -func (p *parser) callonIndexTermContent29() (bool, error) { +func (p *parser) callonDocumentHeaderAttributes118() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onIndexTermContent29() + return p.cur.onDocumentHeaderAttributes118() } -func (c *current) onIndexTermContent38() (interface{}, error) { - // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ +func (c *current) onDocumentHeaderAttributes122() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonIndexTermContent38() (interface{}, error) { +func (p *parser) callonDocumentHeaderAttributes122() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onIndexTermContent38() + return p.cur.onDocumentHeaderAttributes122() } -func (c *current) onIndexTermContent42() (interface{}, error) { - return string(c.text), nil +func (c *current) onDocumentHeaderAttributes112(content interface{}) (interface{}, error) { + + return types.NewRawLine(content.(string)) } -func (p *parser) callonIndexTermContent42() (interface{}, error) { +func (p *parser) callonDocumentHeaderAttributes112() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onIndexTermContent42() + return p.cur.onDocumentHeaderAttributes112(stack["content"]) } -func (c *current) onIndexTermContent48() (interface{}, error) { - // `{`, `>` and `>` characters are not allowed as they are used for attribute substitutions and cross-references - return types.NewStringElement(string(c.text)) +func (c *current) onDocumentHeaderAttributes86(line interface{}) (interface{}, error) { + return line, nil } -func (p *parser) callonIndexTermContent48() (interface{}, error) { +func (p *parser) callonDocumentHeaderAttributes86() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onIndexTermContent48() + return p.cur.onDocumentHeaderAttributes86(stack["line"]) } -func (c *current) onIndexTermContent57() (interface{}, error) { +func (c *current) onDocumentHeaderAttributes134() (interface{}, error) { + // sequence of 4 "/" chars or more return string(c.text), nil } -func (p *parser) callonIndexTermContent57() (interface{}, error) { +func (p *parser) callonDocumentHeaderAttributes134() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onIndexTermContent57() + return p.cur.onDocumentHeaderAttributes134() } -func (c *current) onIndexTermContent53(name interface{}) (interface{}, error) { - - log.Debug("matching escaped attribute reference") - // return types.NewStringElement("{"+name.(string)+"}") - return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) +func (c *current) onDocumentHeaderAttributes140() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonIndexTermContent53() (interface{}, error) { +func (p *parser) callonDocumentHeaderAttributes140() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onIndexTermContent53(stack["name"]) + return p.cur.onDocumentHeaderAttributes140() } -func (c *current) onIndexTermContent67() (interface{}, error) { +func (c *current) onDocumentHeaderAttributes143() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonIndexTermContent67() (interface{}, error) { +func (p *parser) callonDocumentHeaderAttributes143() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onIndexTermContent67() + return p.cur.onDocumentHeaderAttributes143() } -func (c *current) onIndexTermContent63(name interface{}) (interface{}, error) { +func (c *current) onDocumentHeaderAttributes131(delimiter interface{}) (interface{}, error) { - return types.NewAttributeSubstitution(name.(string), string(c.text)) + return types.NewBlockDelimiter(types.Comment, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonIndexTermContent63() (interface{}, error) { +func (p *parser) callonDocumentHeaderAttributes131() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onIndexTermContent63(stack["name"]) + return p.cur.onDocumentHeaderAttributes131(stack["delimiter"]) } -func (c *current) onIndexTermContent73() (interface{}, error) { - - return types.NewStringElement(string(c.text)) +func (c *current) onDocumentHeaderAttributes63(delimiter, content interface{}) (interface{}, error) { + return types.NewDelimitedBlock(types.Comment, content.([]interface{})) } -func (p *parser) callonIndexTermContent73() (interface{}, error) { +func (p *parser) callonDocumentHeaderAttributes63() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onIndexTermContent73() + return p.cur.onDocumentHeaderAttributes63(stack["delimiter"], stack["content"]) } -func (c *current) onIndexTermContent34(id, label interface{}) (interface{}, error) { - return types.NewInternalCrossReference(id, label) +func (c *current) onDocumentHeaderAttributes158() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonIndexTermContent34() (interface{}, error) { +func (p *parser) callonDocumentHeaderAttributes158() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onIndexTermContent34(stack["id"], stack["label"]) + return p.cur.onDocumentHeaderAttributes158() } -func (c *current) onIndexTermContent80() (interface{}, error) { - // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ +func (c *current) onDocumentHeaderAttributes161() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonIndexTermContent80() (interface{}, error) { +func (p *parser) callonDocumentHeaderAttributes161() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onIndexTermContent80() + return p.cur.onDocumentHeaderAttributes161() } -func (c *current) onIndexTermContent76(id interface{}) (interface{}, error) { - return types.NewInternalCrossReference(id, nil) +func (c *current) onDocumentHeaderAttributes152() (interface{}, error) { + return types.NewBlankLine() } -func (p *parser) callonIndexTermContent76() (interface{}, error) { +func (p *parser) callonDocumentHeaderAttributes152() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onIndexTermContent76(stack["id"]) + return p.cur.onDocumentHeaderAttributes152() } -func (c *current) onIndexTermContent32() (interface{}, error) { - return types.NewStringElement(string(c.text)) +func (c *current) onInlineElement9() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonIndexTermContent32() (interface{}, error) { +func (p *parser) callonInlineElement9() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onIndexTermContent32() + return p.cur.onInlineElement9() } -func (c *current) onIndexTermContent84() (interface{}, error) { - return types.NewSpecialCharacter(string(c.text)) - +func (c *current) onInlineElement14() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonIndexTermContent84() (interface{}, error) { +func (p *parser) callonInlineElement14() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onIndexTermContent84() + return p.cur.onInlineElement14() } -func (c *current) onIndexTermContent27(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onInlineElement4() (interface{}, error) { + return types.NewStringElement(string(c.text)) } -func (p *parser) callonIndexTermContent27() (interface{}, error) { +func (p *parser) callonInlineElement4() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onIndexTermContent27(stack["element"]) + return p.cur.onInlineElement4() } -func (c *current) onIndexTermContent90() (interface{}, error) { +func (c *current) onInlineElement21() (interface{}, error) { + // log.Debug("matched multiple spaces") return string(c.text), nil + } -func (p *parser) callonIndexTermContent90() (interface{}, error) { +func (p *parser) callonInlineElement21() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onIndexTermContent90() + return p.cur.onInlineElement21() } -func (c *current) onIndexTermContent86(ref interface{}) (interface{}, error) { - return types.NewElementPlaceHolder(ref.(string)) -} +func (c *current) onInlineElement26() (bool, error) { -func (p *parser) callonIndexTermContent86() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onIndexTermContent86(stack["ref"]) -} + return c.isSubstitutionEnabled(PostReplacements) && c.isPreceededBySpace(), nil -func (c *current) onIndexTermContent94() (interface{}, error) { - return string(c.text), nil } -func (p *parser) callonIndexTermContent94() (interface{}, error) { +func (p *parser) callonInlineElement26() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onIndexTermContent94() + return p.cur.onInlineElement26() } -func (c *current) onIndexTermContent1(elements interface{}) (interface{}, error) { - return types.NewInlineElements(elements.([]interface{})) +func (c *current) onInlineElement29() (interface{}, error) { + return string(c.text), nil + } -func (p *parser) callonIndexTermContent1() (interface{}, error) { +func (p *parser) callonInlineElement29() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onIndexTermContent1(stack["elements"]) + return p.cur.onInlineElement29() } -func (c *current) onImageBlock25() (interface{}, error) { - // not supported for now: EOL, space, "{", "[", "]". Also, punctuation chars and `<` and `>` special chars are treated separately below (but `&` is allowed) - return types.NewStringElement(string(c.text)) - +func (c *current) onInlineElement33() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonImageBlock25() (interface{}, error) { +func (p *parser) callonInlineElement33() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock25() + return p.cur.onInlineElement33() } -func (c *current) onImageBlock29() (interface{}, error) { - return string(c.text), nil +func (c *current) onInlineElement24() (interface{}, error) { + return types.NewLineBreak() + } -func (p *parser) callonImageBlock29() (interface{}, error) { +func (p *parser) callonInlineElement24() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock29() + return p.cur.onInlineElement24() } -func (c *current) onImageBlock36() (interface{}, error) { +func (c *current) onInlineElement43() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonImageBlock36() (interface{}, error) { +func (p *parser) callonInlineElement43() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock36() + return p.cur.onInlineElement43() } -func (c *current) onImageBlock40() (bool, error) { +func (c *current) onInlineElement54() (bool, error) { return c.isSubstitutionEnabled(Attributes), nil } -func (p *parser) callonImageBlock40() (bool, error) { +func (p *parser) callonInlineElement54() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock40() + return p.cur.onInlineElement54() } -func (c *current) onImageBlock47() (interface{}, error) { +func (c *current) onInlineElement61() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonImageBlock47() (interface{}, error) { +func (p *parser) callonInlineElement61() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock47() + return p.cur.onInlineElement61() } -func (c *current) onImageBlock59() (interface{}, error) { +func (c *current) onInlineElement73() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonImageBlock59() (interface{}, error) { +func (p *parser) callonInlineElement73() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock59() + return p.cur.onInlineElement73() } -func (c *current) onImageBlock61() (interface{}, error) { +func (c *current) onInlineElement75() (interface{}, error) { return strconv.Atoi(string(c.text)) } -func (p *parser) callonImageBlock61() (interface{}, error) { +func (p *parser) callonInlineElement75() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock61() + return p.cur.onInlineElement75() } -func (c *current) onImageBlock54(start interface{}) (interface{}, error) { +func (c *current) onInlineElement68(start interface{}) (interface{}, error) { return start, nil } -func (p *parser) callonImageBlock54() (interface{}, error) { +func (p *parser) callonInlineElement68() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock54(stack["start"]) + return p.cur.onInlineElement68(stack["start"]) } -func (c *current) onImageBlock43(name, start interface{}) (interface{}, error) { +func (c *current) onInlineElement57(name, start interface{}) (interface{}, error) { return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) } -func (p *parser) callonImageBlock43() (interface{}, error) { +func (p *parser) callonInlineElement57() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock43(stack["name"], stack["start"]) + return p.cur.onInlineElement57(stack["name"], stack["start"]) } -func (c *current) onImageBlock69() (interface{}, error) { +func (c *current) onInlineElement83() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonImageBlock69() (interface{}, error) { +func (p *parser) callonInlineElement83() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock69() + return p.cur.onInlineElement83() } -func (c *current) onImageBlock81() (interface{}, error) { +func (c *current) onInlineElement95() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonImageBlock81() (interface{}, error) { +func (p *parser) callonInlineElement95() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock81() + return p.cur.onInlineElement95() } -func (c *current) onImageBlock83() (interface{}, error) { +func (c *current) onInlineElement97() (interface{}, error) { return strconv.Atoi(string(c.text)) } -func (p *parser) callonImageBlock83() (interface{}, error) { +func (p *parser) callonInlineElement97() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock83() + return p.cur.onInlineElement97() } -func (c *current) onImageBlock76(start interface{}) (interface{}, error) { +func (c *current) onInlineElement90(start interface{}) (interface{}, error) { return start, nil } -func (p *parser) callonImageBlock76() (interface{}, error) { +func (p *parser) callonInlineElement90() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock76(stack["start"]) + return p.cur.onInlineElement90(stack["start"]) } -func (c *current) onImageBlock65(name, start interface{}) (interface{}, error) { +func (c *current) onInlineElement79(name, start interface{}) (interface{}, error) { return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) } -func (p *parser) callonImageBlock65() (interface{}, error) { +func (p *parser) callonInlineElement79() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock65(stack["name"], stack["start"]) + return p.cur.onInlineElement79(stack["name"], stack["start"]) } -func (c *current) onImageBlock91() (interface{}, error) { +func (c *current) onInlineElement105() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonImageBlock91() (interface{}, error) { +func (p *parser) callonInlineElement105() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock91() + return p.cur.onInlineElement105() } -func (c *current) onImageBlock87(name interface{}) (interface{}, error) { +func (c *current) onInlineElement101(name interface{}) (interface{}, error) { log.Debug("matching escaped attribute reference") // return types.NewStringElement("{"+name.(string)+"}") @@ -78668,104 +76363,104 @@ func (c *current) onImageBlock87(name interface{}) (interface{}, error) { } -func (p *parser) callonImageBlock87() (interface{}, error) { +func (p *parser) callonInlineElement101() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock87(stack["name"]) + return p.cur.onInlineElement101(stack["name"]) } -func (c *current) onImageBlock101() (interface{}, error) { +func (c *current) onInlineElement115() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonImageBlock101() (interface{}, error) { +func (p *parser) callonInlineElement115() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock101() + return p.cur.onInlineElement115() } -func (c *current) onImageBlock97(name interface{}) (interface{}, error) { +func (c *current) onInlineElement111(name interface{}) (interface{}, error) { return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonImageBlock97() (interface{}, error) { +func (p *parser) callonInlineElement111() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock97(stack["name"]) + return p.cur.onInlineElement111(stack["name"]) } -func (c *current) onImageBlock38(element interface{}) (interface{}, error) { +func (c *current) onInlineElement52(element interface{}) (interface{}, error) { return element, nil } -func (p *parser) callonImageBlock38() (interface{}, error) { +func (p *parser) callonInlineElement52() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock38(stack["element"]) + return p.cur.onInlineElement52(stack["element"]) } -func (c *current) onImageBlock109() (bool, error) { +func (c *current) onInlineElement124() (bool, error) { return c.isSubstitutionEnabled(SpecialCharacters), nil } -func (p *parser) callonImageBlock109() (bool, error) { +func (p *parser) callonInlineElement124() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock109() + return p.cur.onInlineElement124() } -func (c *current) onImageBlock118() (interface{}, error) { +func (c *current) onInlineElement133() (interface{}, error) { // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ return string(c.text), nil } -func (p *parser) callonImageBlock118() (interface{}, error) { +func (p *parser) callonInlineElement133() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock118() + return p.cur.onInlineElement133() } -func (c *current) onImageBlock122() (interface{}, error) { +func (c *current) onInlineElement137() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonImageBlock122() (interface{}, error) { +func (p *parser) callonInlineElement137() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock122() + return p.cur.onInlineElement137() } -func (c *current) onImageBlock128() (interface{}, error) { +func (c *current) onInlineElement143() (interface{}, error) { // `{`, `>` and `>` characters are not allowed as they are used for attribute substitutions and cross-references return types.NewStringElement(string(c.text)) } -func (p *parser) callonImageBlock128() (interface{}, error) { +func (p *parser) callonInlineElement143() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock128() + return p.cur.onInlineElement143() } -func (c *current) onImageBlock137() (interface{}, error) { +func (c *current) onInlineElement152() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonImageBlock137() (interface{}, error) { +func (p *parser) callonInlineElement152() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock137() + return p.cur.onInlineElement152() } -func (c *current) onImageBlock133(name interface{}) (interface{}, error) { +func (c *current) onInlineElement148(name interface{}) (interface{}, error) { log.Debug("matching escaped attribute reference") // return types.NewStringElement("{"+name.(string)+"}") @@ -78773,928 +76468,847 @@ func (c *current) onImageBlock133(name interface{}) (interface{}, error) { } -func (p *parser) callonImageBlock133() (interface{}, error) { +func (p *parser) callonInlineElement148() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock133(stack["name"]) + return p.cur.onInlineElement148(stack["name"]) } -func (c *current) onImageBlock147() (interface{}, error) { +func (c *current) onInlineElement162() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonImageBlock147() (interface{}, error) { +func (p *parser) callonInlineElement162() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock147() + return p.cur.onInlineElement162() } -func (c *current) onImageBlock143(name interface{}) (interface{}, error) { +func (c *current) onInlineElement158(name interface{}) (interface{}, error) { return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonImageBlock143() (interface{}, error) { +func (p *parser) callonInlineElement158() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock143(stack["name"]) + return p.cur.onInlineElement158(stack["name"]) } -func (c *current) onImageBlock153() (interface{}, error) { +func (c *current) onInlineElement168() (interface{}, error) { return types.NewStringElement(string(c.text)) } -func (p *parser) callonImageBlock153() (interface{}, error) { +func (p *parser) callonInlineElement168() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock153() + return p.cur.onInlineElement168() } -func (c *current) onImageBlock114(id, label interface{}) (interface{}, error) { +func (c *current) onInlineElement129(id, label interface{}) (interface{}, error) { return types.NewInternalCrossReference(id, label) } -func (p *parser) callonImageBlock114() (interface{}, error) { +func (p *parser) callonInlineElement129() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock114(stack["id"], stack["label"]) + return p.cur.onInlineElement129(stack["id"], stack["label"]) } -func (c *current) onImageBlock160() (interface{}, error) { +func (c *current) onInlineElement175() (interface{}, error) { // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ return string(c.text), nil } -func (p *parser) callonImageBlock160() (interface{}, error) { +func (p *parser) callonInlineElement175() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock160() + return p.cur.onInlineElement175() } -func (c *current) onImageBlock156(id interface{}) (interface{}, error) { +func (c *current) onInlineElement171(id interface{}) (interface{}, error) { return types.NewInternalCrossReference(id, nil) } -func (p *parser) callonImageBlock156() (interface{}, error) { +func (p *parser) callonInlineElement171() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock156(stack["id"]) + return p.cur.onInlineElement171(stack["id"]) } -func (c *current) onImageBlock112() (interface{}, error) { +func (c *current) onInlineElement127() (interface{}, error) { return types.NewStringElement(string(c.text)) } -func (p *parser) callonImageBlock112() (interface{}, error) { +func (p *parser) callonInlineElement127() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock112() + return p.cur.onInlineElement127() } -func (c *current) onImageBlock164() (interface{}, error) { +func (c *current) onInlineElement179() (interface{}, error) { return types.NewSpecialCharacter(string(c.text)) } -func (p *parser) callonImageBlock164() (interface{}, error) { +func (p *parser) callonInlineElement179() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock164() + return p.cur.onInlineElement179() } -func (c *current) onImageBlock107(element interface{}) (interface{}, error) { +func (c *current) onInlineElement122(element interface{}) (interface{}, error) { return element, nil } -func (p *parser) callonImageBlock107() (interface{}, error) { +func (p *parser) callonInlineElement122() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock107(stack["element"]) + return p.cur.onInlineElement122(stack["element"]) } -func (c *current) onImageBlock166() (interface{}, error) { - return types.NewStringElement(string(c.text)) +func (c *current) onInlineElement185() (interface{}, error) { + return types.NewSymbol("\"`") } -func (p *parser) callonImageBlock166() (interface{}, error) { +func (p *parser) callonInlineElement185() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock166() + return p.cur.onInlineElement185() } -func (c *current) onImageBlock18(elements interface{}) (interface{}, error) { - return types.NewInlineElements(elements.([]interface{})) +func (c *current) onInlineElement187() (interface{}, error) { + return types.NewSymbol("`\"") } -func (p *parser) callonImageBlock18() (interface{}, error) { +func (p *parser) callonInlineElement187() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock18(stack["elements"]) -} - -func (c *current) onImageBlock172() (interface{}, error) { - return string(c.text), nil + return p.cur.onInlineElement187() } -func (p *parser) callonImageBlock172() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onImageBlock172() -} +func (c *current) onInlineElement189() (interface{}, error) { + return types.NewSymbol("'`") -func (c *current) onImageBlock168(ref interface{}) (interface{}, error) { - return types.NewElementPlaceHolder(ref.(string)) } -func (p *parser) callonImageBlock168() (interface{}, error) { +func (p *parser) callonInlineElement189() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock168(stack["ref"]) + return p.cur.onInlineElement189() } -func (c *current) onImageBlock5(scheme, path interface{}) (interface{}, error) { - return types.NewLocation(scheme, path.([]interface{})) +func (c *current) onInlineElement191() (interface{}, error) { + return types.NewSymbol("`'") } -func (p *parser) callonImageBlock5() (interface{}, error) { +func (p *parser) callonInlineElement191() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock5(stack["scheme"], stack["path"]) -} - -func (c *current) onImageBlock179() (interface{}, error) { - return string(c.text), nil - + return p.cur.onInlineElement191() } -func (p *parser) callonImageBlock179() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onImageBlock179() -} +func (c *current) onInlineElement193() (interface{}, error) { + return types.NewSymbol("(C)") -func (c *current) onImageBlock182() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil } -func (p *parser) callonImageBlock182() (interface{}, error) { +func (p *parser) callonInlineElement193() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock182() + return p.cur.onInlineElement193() } -func (c *current) onImageBlock1(path, attributes interface{}) (interface{}, error) { - // 'imagesdir' attribute is added after applying the attribute substitutions on the image location - return types.NewImageBlock(path.(*types.Location), attributes.(types.Attributes)) +func (c *current) onInlineElement195() (interface{}, error) { + return types.NewSymbol("(TM)") } -func (p *parser) callonImageBlock1() (interface{}, error) { +func (p *parser) callonInlineElement195() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock1(stack["path"], stack["attributes"]) -} - -func (c *current) onInlineImage27() (interface{}, error) { - // not supported for now: EOL, space, "{", "[", "]". Also, punctuation chars and `<` and `>` special chars are treated separately below (but `&` is allowed) - return types.NewStringElement(string(c.text)) - + return p.cur.onInlineElement195() } -func (p *parser) callonInlineImage27() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onInlineImage27() -} +func (c *current) onInlineElement197() (interface{}, error) { + return types.NewSymbol("(R)") -func (c *current) onInlineImage31() (interface{}, error) { - return string(c.text), nil } -func (p *parser) callonInlineImage31() (interface{}, error) { +func (p *parser) callonInlineElement197() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage31() + return p.cur.onInlineElement197() } -func (c *current) onInlineImage38() (interface{}, error) { - return string(c.text), nil +func (c *current) onInlineElement199() (interface{}, error) { + return types.NewSymbol("...") } -func (p *parser) callonInlineImage38() (interface{}, error) { +func (p *parser) callonInlineElement199() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage38() + return p.cur.onInlineElement199() } -func (c *current) onInlineImage42() (bool, error) { - return c.isSubstitutionEnabled(Attributes), nil +func (c *current) onInlineElement181() (interface{}, error) { + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) } -func (p *parser) callonInlineImage42() (bool, error) { +func (p *parser) callonInlineElement181() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage42() + return p.cur.onInlineElement181() } -func (c *current) onInlineImage49() (interface{}, error) { - return string(c.text), nil +func (c *current) onInlineElement201() (interface{}, error) { + return types.NewSymbol("\"`") } -func (p *parser) callonInlineImage49() (interface{}, error) { +func (p *parser) callonInlineElement201() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage49() + return p.cur.onInlineElement201() } -func (c *current) onInlineImage61() (interface{}, error) { - return string(c.text), nil +func (c *current) onInlineElement203() (interface{}, error) { + return types.NewSymbol("`\"") } -func (p *parser) callonInlineImage61() (interface{}, error) { +func (p *parser) callonInlineElement203() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage61() + return p.cur.onInlineElement203() } -func (c *current) onInlineImage63() (interface{}, error) { - - return strconv.Atoi(string(c.text)) +func (c *current) onInlineElement205() (interface{}, error) { + return types.NewSymbol("'`") } -func (p *parser) callonInlineImage63() (interface{}, error) { +func (p *parser) callonInlineElement205() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage63() -} - -func (c *current) onInlineImage56(start interface{}) (interface{}, error) { - return start, nil - + return p.cur.onInlineElement205() } -func (p *parser) callonInlineImage56() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onInlineImage56(stack["start"]) -} +func (c *current) onInlineElement207() (interface{}, error) { + return types.NewSymbol("`'") -func (c *current) onInlineImage45(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) } -func (p *parser) callonInlineImage45() (interface{}, error) { +func (p *parser) callonInlineElement207() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage45(stack["name"], stack["start"]) + return p.cur.onInlineElement207() } -func (c *current) onInlineImage71() (interface{}, error) { - return string(c.text), nil +func (c *current) onInlineElement209() (interface{}, error) { + return types.NewSymbol("(C)") } -func (p *parser) callonInlineImage71() (interface{}, error) { +func (p *parser) callonInlineElement209() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage71() + return p.cur.onInlineElement209() } -func (c *current) onInlineImage83() (interface{}, error) { - return string(c.text), nil +func (c *current) onInlineElement211() (interface{}, error) { + return types.NewSymbol("(TM)") } -func (p *parser) callonInlineImage83() (interface{}, error) { +func (p *parser) callonInlineElement211() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage83() + return p.cur.onInlineElement211() } -func (c *current) onInlineImage85() (interface{}, error) { - - return strconv.Atoi(string(c.text)) +func (c *current) onInlineElement213() (interface{}, error) { + return types.NewSymbol("(R)") } -func (p *parser) callonInlineImage85() (interface{}, error) { +func (p *parser) callonInlineElement213() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage85() + return p.cur.onInlineElement213() } -func (c *current) onInlineImage78(start interface{}) (interface{}, error) { - return start, nil - -} - -func (p *parser) callonInlineImage78() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onInlineImage78(stack["start"]) -} +func (c *current) onInlineElement215() (interface{}, error) { + return types.NewSymbol("...") -func (c *current) onInlineImage67(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) } -func (p *parser) callonInlineImage67() (interface{}, error) { +func (p *parser) callonInlineElement215() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage67(stack["name"], stack["start"]) + return p.cur.onInlineElement215() } -func (c *current) onInlineImage93() (interface{}, error) { - return string(c.text), nil +func (c *current) onInlineElement217() (interface{}, error) { + log.Debug("matched escaped apostrophe") + return types.NewStringElement(strings.TrimSuffix(string(c.text), `\'`) + `'`) // retain the apostrophe, but discard the `\` escape char } -func (p *parser) callonInlineImage93() (interface{}, error) { +func (p *parser) callonInlineElement217() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage93() + return p.cur.onInlineElement217() } -func (c *current) onInlineImage89(name interface{}) (interface{}, error) { - - log.Debug("matching escaped attribute reference") - // return types.NewStringElement("{"+name.(string)+"}") - return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) +func (c *current) onInlineElement223() (interface{}, error) { + return types.NewSymbolWithForeword("'", strings.TrimSuffix(string(c.text), `'`)) } -func (p *parser) callonInlineImage89() (interface{}, error) { +func (p *parser) callonInlineElement223() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage89(stack["name"]) + return p.cur.onInlineElement223() } -func (c *current) onInlineImage103() (interface{}, error) { +func (c *current) onInlineElement233() (interface{}, error) { return string(c.text), nil - -} - -func (p *parser) callonInlineImage103() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onInlineImage103() -} - -func (c *current) onInlineImage99(name interface{}) (interface{}, error) { - - return types.NewAttributeSubstitution(name.(string), string(c.text)) - } -func (p *parser) callonInlineImage99() (interface{}, error) { +func (p *parser) callonInlineElement233() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage99(stack["name"]) + return p.cur.onInlineElement233() } -func (c *current) onInlineImage40(element interface{}) (interface{}, error) { - return element, nil - +func (c *current) onInlineElement229(ref interface{}) (interface{}, error) { + return types.NewElementPlaceHolder(ref.(string)) } -func (p *parser) callonInlineImage40() (interface{}, error) { +func (p *parser) callonInlineElement229() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage40(stack["element"]) -} - -func (c *current) onInlineImage111() (bool, error) { - return c.isSubstitutionEnabled(SpecialCharacters), nil - + return p.cur.onInlineElement229(stack["ref"]) } -func (p *parser) callonInlineImage111() (bool, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onInlineImage111() -} +func (c *current) onInlineElement237() (interface{}, error) { -func (c *current) onInlineImage120() (interface{}, error) { - // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ - return string(c.text), nil + return types.NewStringElement(string(c.text)) } -func (p *parser) callonInlineImage120() (interface{}, error) { +func (p *parser) callonInlineElement237() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage120() + return p.cur.onInlineElement237() } -func (c *current) onInlineImage124() (interface{}, error) { - return string(c.text), nil - +func (c *current) onInlineElement1(element interface{}) (interface{}, error) { + c.trackSpaceSuffix(element) + return element, nil } -func (p *parser) callonInlineImage124() (interface{}, error) { +func (p *parser) callonInlineElement1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage124() + return p.cur.onInlineElement1(stack["element"]) } -func (c *current) onInlineImage130() (interface{}, error) { - // `{`, `>` and `>` characters are not allowed as they are used for attribute substitutions and cross-references - return types.NewStringElement(string(c.text)) +func (c *current) onInlineButton3() (bool, error) { + return c.isExperimentalEnabled(), nil } -func (p *parser) callonInlineImage130() (interface{}, error) { +func (p *parser) callonInlineButton3() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage130() + return p.cur.onInlineButton3() } -func (c *current) onInlineImage139() (interface{}, error) { - return string(c.text), nil +func (c *current) onInlineButton1(attributes interface{}) (interface{}, error) { + return types.NewInlineButton(attributes.(types.Attributes)) } -func (p *parser) callonInlineImage139() (interface{}, error) { +func (p *parser) callonInlineButton1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage139() + return p.cur.onInlineButton1(stack["attributes"]) } -func (c *current) onInlineImage135(name interface{}) (interface{}, error) { - - log.Debug("matching escaped attribute reference") - // return types.NewStringElement("{"+name.(string)+"}") - return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) +func (c *current) onInlineMenu3() (bool, error) { + return c.isExperimentalEnabled(), nil } -func (p *parser) callonInlineImage135() (interface{}, error) { +func (p *parser) callonInlineMenu3() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage135(stack["name"]) + return p.cur.onInlineMenu3() } -func (c *current) onInlineImage149() (interface{}, error) { +func (c *current) onInlineMenu6() (interface{}, error) { + // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ return string(c.text), nil } -func (p *parser) callonInlineImage149() (interface{}, error) { +func (p *parser) callonInlineMenu6() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage149() + return p.cur.onInlineMenu6() } -func (c *current) onInlineImage145(name interface{}) (interface{}, error) { - - return types.NewAttributeSubstitution(name.(string), string(c.text)) +func (c *current) onInlineMenu1(id, attributes interface{}) (interface{}, error) { + return types.NewInlineMenu(id.(string), attributes.(types.Attributes)) } -func (p *parser) callonInlineImage145() (interface{}, error) { +func (p *parser) callonInlineMenu1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage145(stack["name"]) + return p.cur.onInlineMenu1(stack["id"], stack["attributes"]) } -func (c *current) onInlineImage155() (interface{}, error) { - - return types.NewStringElement(string(c.text)) +func (c *current) onIndexTerm1(term interface{}) (interface{}, error) { + return types.NewIndexTerm(term.([]interface{})) } -func (p *parser) callonInlineImage155() (interface{}, error) { +func (p *parser) callonIndexTerm1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage155() + return p.cur.onIndexTerm1(stack["term"]) } -func (c *current) onInlineImage116(id, label interface{}) (interface{}, error) { - return types.NewInternalCrossReference(id, label) +func (c *current) onIndexTermContent5() (interface{}, error) { + return types.NewStringElement(string(c.text)) } -func (p *parser) callonInlineImage116() (interface{}, error) { +func (p *parser) callonIndexTermContent5() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage116(stack["id"], stack["label"]) + return p.cur.onIndexTermContent5() } -func (c *current) onInlineImage162() (interface{}, error) { - // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ - return string(c.text), nil +func (c *current) onIndexTermContent14() (interface{}, error) { + // allow ` + return types.NewStringElement(string(c.text)) } -func (p *parser) callonInlineImage162() (interface{}, error) { +func (p *parser) callonIndexTermContent14() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage162() + return p.cur.onIndexTermContent14() } -func (c *current) onInlineImage158(id interface{}) (interface{}, error) { - return types.NewInternalCrossReference(id, nil) - +func (c *current) onIndexTermContent24() (interface{}, error) { + return string(c.text), nil + } -func (p *parser) callonInlineImage158() (interface{}, error) { +func (p *parser) callonIndexTermContent24() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage158(stack["id"]) + return p.cur.onIndexTermContent24() } -func (c *current) onInlineImage114() (interface{}, error) { - return types.NewStringElement(string(c.text)) +func (c *current) onIndexTermContent28() (bool, error) { + return c.isSubstitutionEnabled(SpecialCharacters), nil } -func (p *parser) callonInlineImage114() (interface{}, error) { +func (p *parser) callonIndexTermContent28() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage114() + return p.cur.onIndexTermContent28() } -func (c *current) onInlineImage166() (interface{}, error) { - return types.NewSpecialCharacter(string(c.text)) +func (c *current) onIndexTermContent37() (interface{}, error) { + // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ + return string(c.text), nil } -func (p *parser) callonInlineImage166() (interface{}, error) { +func (p *parser) callonIndexTermContent37() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage166() + return p.cur.onIndexTermContent37() } -func (c *current) onInlineImage109(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onIndexTermContent41() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonInlineImage109() (interface{}, error) { +func (p *parser) callonIndexTermContent41() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage109(stack["element"]) + return p.cur.onIndexTermContent41() } -func (c *current) onInlineImage168() (interface{}, error) { +func (c *current) onIndexTermContent47() (interface{}, error) { + // `{`, `>` and `>` characters are not allowed as they are used for attribute substitutions and cross-references return types.NewStringElement(string(c.text)) } -func (p *parser) callonInlineImage168() (interface{}, error) { +func (p *parser) callonIndexTermContent47() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage168() + return p.cur.onIndexTermContent47() } -func (c *current) onInlineImage20(elements interface{}) (interface{}, error) { - return types.NewInlineElements(elements.([]interface{})) +func (c *current) onIndexTermContent56() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonInlineImage20() (interface{}, error) { +func (p *parser) callonIndexTermContent56() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage20(stack["elements"]) + return p.cur.onIndexTermContent56() } -func (c *current) onInlineImage174() (interface{}, error) { - return string(c.text), nil +func (c *current) onIndexTermContent52(name interface{}) (interface{}, error) { + + log.Debug("matching escaped attribute reference") + // return types.NewStringElement("{"+name.(string)+"}") + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) + } -func (p *parser) callonInlineImage174() (interface{}, error) { +func (p *parser) callonIndexTermContent52() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage174() + return p.cur.onIndexTermContent52(stack["name"]) } -func (c *current) onInlineImage170(ref interface{}) (interface{}, error) { - return types.NewElementPlaceHolder(ref.(string)) +func (c *current) onIndexTermContent66() (interface{}, error) { + return string(c.text), nil + } -func (p *parser) callonInlineImage170() (interface{}, error) { +func (p *parser) callonIndexTermContent66() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage170(stack["ref"]) + return p.cur.onIndexTermContent66() } -func (c *current) onInlineImage7(scheme, path interface{}) (interface{}, error) { - return types.NewLocation(scheme, path.([]interface{})) +func (c *current) onIndexTermContent62(name interface{}) (interface{}, error) { + + return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonInlineImage7() (interface{}, error) { +func (p *parser) callonIndexTermContent62() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage7(stack["scheme"], stack["path"]) + return p.cur.onIndexTermContent62(stack["name"]) } -func (c *current) onInlineImage1(path, attributes interface{}) (interface{}, error) { - return types.NewInlineImage(path.(*types.Location), attributes.(types.Attributes)) +func (c *current) onIndexTermContent72() (interface{}, error) { + + return types.NewStringElement(string(c.text)) } -func (p *parser) callonInlineImage1() (interface{}, error) { +func (p *parser) callonIndexTermContent72() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage1(stack["path"], stack["attributes"]) + return p.cur.onIndexTermContent72() } -func (c *current) onInlineIcon5() (interface{}, error) { - return string(c.text), nil +func (c *current) onIndexTermContent33(id, label interface{}) (interface{}, error) { + return types.NewInternalCrossReference(id, label) + } -func (p *parser) callonInlineIcon5() (interface{}, error) { +func (p *parser) callonIndexTermContent33() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineIcon5() + return p.cur.onIndexTermContent33(stack["id"], stack["label"]) } -func (c *current) onInlineIcon1(icon, attributes interface{}) (interface{}, error) { - return types.NewIcon(icon.(string), attributes) +func (c *current) onIndexTermContent79() (interface{}, error) { + // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ + return string(c.text), nil } -func (p *parser) callonInlineIcon1() (interface{}, error) { +func (p *parser) callonIndexTermContent79() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineIcon1(stack["icon"], stack["attributes"]) + return p.cur.onIndexTermContent79() } -func (c *current) onInlineFootnote2(content interface{}) (interface{}, error) { - return types.NewFootnote("", content) +func (c *current) onIndexTermContent75(id interface{}) (interface{}, error) { + return types.NewInternalCrossReference(id, nil) } -func (p *parser) callonInlineFootnote2() (interface{}, error) { +func (p *parser) callonIndexTermContent75() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineFootnote2(stack["content"]) + return p.cur.onIndexTermContent75(stack["id"]) } -func (c *current) onInlineFootnote12() (interface{}, error) { - return string(c.text), nil +func (c *current) onIndexTermContent31() (interface{}, error) { + return types.NewStringElement(string(c.text)) } -func (p *parser) callonInlineFootnote12() (interface{}, error) { +func (p *parser) callonIndexTermContent31() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineFootnote12() + return p.cur.onIndexTermContent31() } -func (c *current) onInlineFootnote8(ref, content interface{}) (interface{}, error) { - // TODO: use only this rule with `ref:(FootnoteRef)?` - return types.NewFootnote(ref.(string), content) +func (c *current) onIndexTermContent83() (interface{}, error) { + return types.NewSpecialCharacter(string(c.text)) } -func (p *parser) callonInlineFootnote8() (interface{}, error) { +func (p *parser) callonIndexTermContent83() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineFootnote8(stack["ref"], stack["content"]) + return p.cur.onIndexTermContent83() } -func (c *current) onFootnoteContent1(elements interface{}) (interface{}, error) { - // footnote content may span multiple lines - return types.NewInlineElements(elements.([]interface{})) +func (c *current) onIndexTermContent26(element interface{}) (interface{}, error) { + return element, nil } -func (p *parser) callonFootnoteContent1() (interface{}, error) { +func (p *parser) callonIndexTermContent26() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFootnoteContent1(stack["elements"]) + return p.cur.onIndexTermContent26(stack["element"]) } -func (c *current) onPassthroughMacro7() (interface{}, error) { - return types.NewStringElement(string(c.text)) - +func (c *current) onIndexTermContent89() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonPassthroughMacro7() (interface{}, error) { +func (p *parser) callonIndexTermContent89() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onPassthroughMacro7() + return p.cur.onIndexTermContent89() } -func (c *current) onPassthroughMacro2(content interface{}) (interface{}, error) { - return types.NewInlinePassthrough(types.PassthroughMacro, []interface{}{content}) - +func (c *current) onIndexTermContent85(ref interface{}) (interface{}, error) { + return types.NewElementPlaceHolder(ref.(string)) } -func (p *parser) callonPassthroughMacro2() (interface{}, error) { +func (p *parser) callonIndexTermContent85() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onPassthroughMacro2(stack["content"]) + return p.cur.onIndexTermContent85(stack["ref"]) } -func (c *current) onPassthroughMacro17() (interface{}, error) { - return types.NewStringElement(string(c.text)) - +func (c *current) onIndexTermContent93() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonPassthroughMacro17() (interface{}, error) { +func (p *parser) callonIndexTermContent93() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onPassthroughMacro17() + return p.cur.onIndexTermContent93() } -func (c *current) onPassthroughMacro10(content interface{}) (interface{}, error) { - return types.NewInlinePassthrough(types.PassthroughMacro, content.([]interface{})) - +func (c *current) onIndexTermContent1(elements interface{}) (interface{}, error) { + return types.NewInlineElements(elements.([]interface{})) } -func (p *parser) callonPassthroughMacro10() (interface{}, error) { +func (p *parser) callonIndexTermContent1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onPassthroughMacro10(stack["content"]) + return p.cur.onIndexTermContent1(stack["elements"]) } -func (c *current) onLink26() (interface{}, error) { +func (c *current) onImageBlock25() (interface{}, error) { // not supported for now: EOL, space, "{", "[", "]". Also, punctuation chars and `<` and `>` special chars are treated separately below (but `&` is allowed) return types.NewStringElement(string(c.text)) } -func (p *parser) callonLink26() (interface{}, error) { +func (p *parser) callonImageBlock25() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLink26() + return p.cur.onImageBlock25() } -func (c *current) onLink30() (interface{}, error) { +func (c *current) onImageBlock29() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonLink30() (interface{}, error) { +func (p *parser) callonImageBlock29() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLink30() + return p.cur.onImageBlock29() } -func (c *current) onLink37() (interface{}, error) { +func (c *current) onImageBlock36() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonLink37() (interface{}, error) { +func (p *parser) callonImageBlock36() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLink37() + return p.cur.onImageBlock36() } -func (c *current) onLink41() (bool, error) { +func (c *current) onImageBlock40() (bool, error) { return c.isSubstitutionEnabled(Attributes), nil } -func (p *parser) callonLink41() (bool, error) { +func (p *parser) callonImageBlock40() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLink41() + return p.cur.onImageBlock40() } -func (c *current) onLink48() (interface{}, error) { +func (c *current) onImageBlock47() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonLink48() (interface{}, error) { +func (p *parser) callonImageBlock47() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLink48() + return p.cur.onImageBlock47() } -func (c *current) onLink60() (interface{}, error) { +func (c *current) onImageBlock59() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonLink60() (interface{}, error) { +func (p *parser) callonImageBlock59() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLink60() + return p.cur.onImageBlock59() } -func (c *current) onLink62() (interface{}, error) { +func (c *current) onImageBlock61() (interface{}, error) { return strconv.Atoi(string(c.text)) } -func (p *parser) callonLink62() (interface{}, error) { +func (p *parser) callonImageBlock61() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLink62() + return p.cur.onImageBlock61() } -func (c *current) onLink55(start interface{}) (interface{}, error) { +func (c *current) onImageBlock54(start interface{}) (interface{}, error) { return start, nil } -func (p *parser) callonLink55() (interface{}, error) { +func (p *parser) callonImageBlock54() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLink55(stack["start"]) + return p.cur.onImageBlock54(stack["start"]) } -func (c *current) onLink44(name, start interface{}) (interface{}, error) { +func (c *current) onImageBlock43(name, start interface{}) (interface{}, error) { return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) } -func (p *parser) callonLink44() (interface{}, error) { +func (p *parser) callonImageBlock43() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLink44(stack["name"], stack["start"]) + return p.cur.onImageBlock43(stack["name"], stack["start"]) } -func (c *current) onLink70() (interface{}, error) { +func (c *current) onImageBlock69() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonLink70() (interface{}, error) { +func (p *parser) callonImageBlock69() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLink70() + return p.cur.onImageBlock69() } -func (c *current) onLink82() (interface{}, error) { +func (c *current) onImageBlock81() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonLink82() (interface{}, error) { +func (p *parser) callonImageBlock81() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLink82() + return p.cur.onImageBlock81() } -func (c *current) onLink84() (interface{}, error) { +func (c *current) onImageBlock83() (interface{}, error) { return strconv.Atoi(string(c.text)) } -func (p *parser) callonLink84() (interface{}, error) { +func (p *parser) callonImageBlock83() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLink84() + return p.cur.onImageBlock83() } -func (c *current) onLink77(start interface{}) (interface{}, error) { +func (c *current) onImageBlock76(start interface{}) (interface{}, error) { return start, nil } -func (p *parser) callonLink77() (interface{}, error) { +func (p *parser) callonImageBlock76() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLink77(stack["start"]) + return p.cur.onImageBlock76(stack["start"]) } -func (c *current) onLink66(name, start interface{}) (interface{}, error) { +func (c *current) onImageBlock65(name, start interface{}) (interface{}, error) { return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) } -func (p *parser) callonLink66() (interface{}, error) { +func (p *parser) callonImageBlock65() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLink66(stack["name"], stack["start"]) + return p.cur.onImageBlock65(stack["name"], stack["start"]) } -func (c *current) onLink92() (interface{}, error) { +func (c *current) onImageBlock91() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonLink92() (interface{}, error) { +func (p *parser) callonImageBlock91() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLink92() + return p.cur.onImageBlock91() } -func (c *current) onLink88(name interface{}) (interface{}, error) { +func (c *current) onImageBlock87(name interface{}) (interface{}, error) { log.Debug("matching escaped attribute reference") // return types.NewStringElement("{"+name.(string)+"}") @@ -79702,104 +77316,104 @@ func (c *current) onLink88(name interface{}) (interface{}, error) { } -func (p *parser) callonLink88() (interface{}, error) { +func (p *parser) callonImageBlock87() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLink88(stack["name"]) + return p.cur.onImageBlock87(stack["name"]) } -func (c *current) onLink102() (interface{}, error) { +func (c *current) onImageBlock101() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonLink102() (interface{}, error) { +func (p *parser) callonImageBlock101() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLink102() + return p.cur.onImageBlock101() } -func (c *current) onLink98(name interface{}) (interface{}, error) { +func (c *current) onImageBlock97(name interface{}) (interface{}, error) { return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonLink98() (interface{}, error) { +func (p *parser) callonImageBlock97() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLink98(stack["name"]) + return p.cur.onImageBlock97(stack["name"]) } -func (c *current) onLink39(element interface{}) (interface{}, error) { +func (c *current) onImageBlock38(element interface{}) (interface{}, error) { return element, nil } -func (p *parser) callonLink39() (interface{}, error) { +func (p *parser) callonImageBlock38() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLink39(stack["element"]) + return p.cur.onImageBlock38(stack["element"]) } -func (c *current) onLink110() (bool, error) { +func (c *current) onImageBlock109() (bool, error) { return c.isSubstitutionEnabled(SpecialCharacters), nil } -func (p *parser) callonLink110() (bool, error) { +func (p *parser) callonImageBlock109() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLink110() + return p.cur.onImageBlock109() } -func (c *current) onLink119() (interface{}, error) { +func (c *current) onImageBlock118() (interface{}, error) { // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ return string(c.text), nil } -func (p *parser) callonLink119() (interface{}, error) { +func (p *parser) callonImageBlock118() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLink119() + return p.cur.onImageBlock118() } -func (c *current) onLink123() (interface{}, error) { +func (c *current) onImageBlock122() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonLink123() (interface{}, error) { +func (p *parser) callonImageBlock122() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLink123() + return p.cur.onImageBlock122() } -func (c *current) onLink129() (interface{}, error) { +func (c *current) onImageBlock128() (interface{}, error) { // `{`, `>` and `>` characters are not allowed as they are used for attribute substitutions and cross-references return types.NewStringElement(string(c.text)) } -func (p *parser) callonLink129() (interface{}, error) { +func (p *parser) callonImageBlock128() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLink129() + return p.cur.onImageBlock128() } -func (c *current) onLink138() (interface{}, error) { +func (c *current) onImageBlock137() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonLink138() (interface{}, error) { +func (p *parser) callonImageBlock137() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLink138() + return p.cur.onImageBlock137() } -func (c *current) onLink134(name interface{}) (interface{}, error) { +func (c *current) onImageBlock133(name interface{}) (interface{}, error) { log.Debug("matching escaped attribute reference") // return types.NewStringElement("{"+name.(string)+"}") @@ -79807,336 +77421,472 @@ func (c *current) onLink134(name interface{}) (interface{}, error) { } -func (p *parser) callonLink134() (interface{}, error) { +func (p *parser) callonImageBlock133() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLink134(stack["name"]) + return p.cur.onImageBlock133(stack["name"]) } -func (c *current) onLink148() (interface{}, error) { +func (c *current) onImageBlock147() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonLink148() (interface{}, error) { +func (p *parser) callonImageBlock147() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLink148() + return p.cur.onImageBlock147() } -func (c *current) onLink144(name interface{}) (interface{}, error) { +func (c *current) onImageBlock143(name interface{}) (interface{}, error) { return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonLink144() (interface{}, error) { +func (p *parser) callonImageBlock143() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLink144(stack["name"]) + return p.cur.onImageBlock143(stack["name"]) } -func (c *current) onLink154() (interface{}, error) { +func (c *current) onImageBlock153() (interface{}, error) { return types.NewStringElement(string(c.text)) } -func (p *parser) callonLink154() (interface{}, error) { +func (p *parser) callonImageBlock153() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLink154() + return p.cur.onImageBlock153() } -func (c *current) onLink115(id, label interface{}) (interface{}, error) { +func (c *current) onImageBlock114(id, label interface{}) (interface{}, error) { return types.NewInternalCrossReference(id, label) } -func (p *parser) callonLink115() (interface{}, error) { +func (p *parser) callonImageBlock114() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLink115(stack["id"], stack["label"]) + return p.cur.onImageBlock114(stack["id"], stack["label"]) } -func (c *current) onLink161() (interface{}, error) { +func (c *current) onImageBlock160() (interface{}, error) { // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ return string(c.text), nil } -func (p *parser) callonLink161() (interface{}, error) { +func (p *parser) callonImageBlock160() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLink161() + return p.cur.onImageBlock160() } -func (c *current) onLink157(id interface{}) (interface{}, error) { +func (c *current) onImageBlock156(id interface{}) (interface{}, error) { return types.NewInternalCrossReference(id, nil) } -func (p *parser) callonLink157() (interface{}, error) { +func (p *parser) callonImageBlock156() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLink157(stack["id"]) + return p.cur.onImageBlock156(stack["id"]) } -func (c *current) onLink113() (interface{}, error) { +func (c *current) onImageBlock112() (interface{}, error) { return types.NewStringElement(string(c.text)) } -func (p *parser) callonLink113() (interface{}, error) { +func (p *parser) callonImageBlock112() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLink113() + return p.cur.onImageBlock112() } -func (c *current) onLink165() (interface{}, error) { +func (c *current) onImageBlock164() (interface{}, error) { return types.NewSpecialCharacter(string(c.text)) } -func (p *parser) callonLink165() (interface{}, error) { +func (p *parser) callonImageBlock164() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLink165() + return p.cur.onImageBlock164() } -func (c *current) onLink108(element interface{}) (interface{}, error) { +func (c *current) onImageBlock107(element interface{}) (interface{}, error) { return element, nil } -func (p *parser) callonLink108() (interface{}, error) { +func (p *parser) callonImageBlock107() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLink108(stack["element"]) + return p.cur.onImageBlock107(stack["element"]) } -func (c *current) onLink167() (interface{}, error) { +func (c *current) onImageBlock166() (interface{}, error) { return types.NewStringElement(string(c.text)) } -func (p *parser) callonLink167() (interface{}, error) { +func (p *parser) callonImageBlock166() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLink167() + return p.cur.onImageBlock166() } -func (c *current) onLink19(elements interface{}) (interface{}, error) { +func (c *current) onImageBlock18(elements interface{}) (interface{}, error) { return types.NewInlineElements(elements.([]interface{})) } -func (p *parser) callonLink19() (interface{}, error) { +func (p *parser) callonImageBlock18() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLink19(stack["elements"]) + return p.cur.onImageBlock18(stack["elements"]) } -func (c *current) onLink6(scheme, path interface{}) (interface{}, error) { +func (c *current) onImageBlock172() (interface{}, error) { + return string(c.text), nil +} + +func (p *parser) callonImageBlock172() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onImageBlock172() +} + +func (c *current) onImageBlock168(ref interface{}) (interface{}, error) { + return types.NewElementPlaceHolder(ref.(string)) +} + +func (p *parser) callonImageBlock168() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onImageBlock168(stack["ref"]) +} + +func (c *current) onImageBlock5(scheme, path interface{}) (interface{}, error) { return types.NewLocation(scheme, path.([]interface{})) } -func (p *parser) callonLink6() (interface{}, error) { +func (p *parser) callonImageBlock5() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLink6(stack["scheme"], stack["path"]) + return p.cur.onImageBlock5(stack["scheme"], stack["path"]) } -func (c *current) onLink172(url, closingBracket interface{}) (bool, error) { - return url.(*types.Location).TrimAngleBracketSuffix() +func (c *current) onImageBlock179() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonLink172() (bool, error) { +func (p *parser) callonImageBlock179() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLink172(stack["url"], stack["closingBracket"]) + return p.cur.onImageBlock179() } -func (c *current) onLink2(url, closingBracket interface{}) (interface{}, error) { +func (c *current) onImageBlock182() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} - return types.NewInlineLink(url.(*types.Location), nil) +func (p *parser) callonImageBlock182() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onImageBlock182() +} + +func (c *current) onImageBlock1(path, attributes interface{}) (interface{}, error) { + // 'imagesdir' attribute is added after applying the attribute substitutions on the image location + return types.NewImageBlock(path.(*types.Location), attributes.(types.Attributes)) } -func (p *parser) callonLink2() (interface{}, error) { +func (p *parser) callonImageBlock1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLink2(stack["url"], stack["closingBracket"]) + return p.cur.onImageBlock1(stack["path"], stack["attributes"]) } -func (c *current) onRelativeLink26() (interface{}, error) { +func (c *current) onInlineImage27() (interface{}, error) { // not supported for now: EOL, space, "{", "[", "]". Also, punctuation chars and `<` and `>` special chars are treated separately below (but `&` is allowed) return types.NewStringElement(string(c.text)) } -func (p *parser) callonRelativeLink26() (interface{}, error) { +func (p *parser) callonInlineImage27() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink26() + return p.cur.onInlineImage27() } -func (c *current) onRelativeLink30() (interface{}, error) { +func (c *current) onInlineImage31() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonRelativeLink30() (interface{}, error) { +func (p *parser) callonInlineImage31() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink30() + return p.cur.onInlineImage31() } -func (c *current) onRelativeLink37() (interface{}, error) { +func (c *current) onInlineImage38() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonRelativeLink37() (interface{}, error) { +func (p *parser) callonInlineImage38() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink37() + return p.cur.onInlineImage38() } -func (c *current) onRelativeLink41() (bool, error) { +func (c *current) onInlineImage42() (bool, error) { return c.isSubstitutionEnabled(Attributes), nil } -func (p *parser) callonRelativeLink41() (bool, error) { +func (p *parser) callonInlineImage42() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink41() + return p.cur.onInlineImage42() } -func (c *current) onRelativeLink48() (interface{}, error) { +func (c *current) onInlineImage49() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonRelativeLink48() (interface{}, error) { +func (p *parser) callonInlineImage49() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onInlineImage49() +} + +func (c *current) onInlineImage61() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonInlineImage61() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onInlineImage61() +} + +func (c *current) onInlineImage63() (interface{}, error) { + + return strconv.Atoi(string(c.text)) + +} + +func (p *parser) callonInlineImage63() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onInlineImage63() +} + +func (c *current) onInlineImage56(start interface{}) (interface{}, error) { + return start, nil + +} + +func (p *parser) callonInlineImage56() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onInlineImage56(stack["start"]) +} + +func (c *current) onInlineImage45(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) +} + +func (p *parser) callonInlineImage45() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onInlineImage45(stack["name"], stack["start"]) +} + +func (c *current) onInlineImage71() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonInlineImage71() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onInlineImage71() +} + +func (c *current) onInlineImage83() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonInlineImage83() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onInlineImage83() +} + +func (c *current) onInlineImage85() (interface{}, error) { + + return strconv.Atoi(string(c.text)) + +} + +func (p *parser) callonInlineImage85() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onInlineImage85() +} + +func (c *current) onInlineImage78(start interface{}) (interface{}, error) { + return start, nil + +} + +func (p *parser) callonInlineImage78() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onInlineImage78(stack["start"]) +} + +func (c *current) onInlineImage67(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) +} + +func (p *parser) callonInlineImage67() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink48() + return p.cur.onInlineImage67(stack["name"], stack["start"]) } -func (c *current) onRelativeLink60() (interface{}, error) { +func (c *current) onInlineImage93() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonRelativeLink60() (interface{}, error) { +func (p *parser) callonInlineImage93() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink60() + return p.cur.onInlineImage93() } -func (c *current) onRelativeLink62() (interface{}, error) { +func (c *current) onInlineImage89(name interface{}) (interface{}, error) { - return strconv.Atoi(string(c.text)) + log.Debug("matching escaped attribute reference") + // return types.NewStringElement("{"+name.(string)+"}") + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) } -func (p *parser) callonRelativeLink62() (interface{}, error) { +func (p *parser) callonInlineImage89() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink62() + return p.cur.onInlineImage89(stack["name"]) } -func (c *current) onRelativeLink55(start interface{}) (interface{}, error) { - return start, nil +func (c *current) onInlineImage103() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonRelativeLink55() (interface{}, error) { +func (p *parser) callonInlineImage103() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink55(stack["start"]) + return p.cur.onInlineImage103() } -func (c *current) onRelativeLink44(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) +func (c *current) onInlineImage99(name interface{}) (interface{}, error) { + + return types.NewAttributeSubstitution(name.(string), string(c.text)) + } -func (p *parser) callonRelativeLink44() (interface{}, error) { +func (p *parser) callonInlineImage99() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink44(stack["name"], stack["start"]) + return p.cur.onInlineImage99(stack["name"]) } -func (c *current) onRelativeLink70() (interface{}, error) { - return string(c.text), nil +func (c *current) onInlineImage40(element interface{}) (interface{}, error) { + return element, nil } -func (p *parser) callonRelativeLink70() (interface{}, error) { +func (p *parser) callonInlineImage40() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink70() + return p.cur.onInlineImage40(stack["element"]) } -func (c *current) onRelativeLink82() (interface{}, error) { - return string(c.text), nil +func (c *current) onInlineImage111() (bool, error) { + return c.isSubstitutionEnabled(SpecialCharacters), nil } -func (p *parser) callonRelativeLink82() (interface{}, error) { +func (p *parser) callonInlineImage111() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink82() + return p.cur.onInlineImage111() } -func (c *current) onRelativeLink84() (interface{}, error) { - - return strconv.Atoi(string(c.text)) +func (c *current) onInlineImage120() (interface{}, error) { + // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ + return string(c.text), nil } -func (p *parser) callonRelativeLink84() (interface{}, error) { +func (p *parser) callonInlineImage120() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink84() + return p.cur.onInlineImage120() } -func (c *current) onRelativeLink77(start interface{}) (interface{}, error) { - return start, nil +func (c *current) onInlineImage124() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonRelativeLink77() (interface{}, error) { +func (p *parser) callonInlineImage124() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink77(stack["start"]) + return p.cur.onInlineImage124() } -func (c *current) onRelativeLink66(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) +func (c *current) onInlineImage130() (interface{}, error) { + // `{`, `>` and `>` characters are not allowed as they are used for attribute substitutions and cross-references + return types.NewStringElement(string(c.text)) + } -func (p *parser) callonRelativeLink66() (interface{}, error) { +func (p *parser) callonInlineImage130() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink66(stack["name"], stack["start"]) + return p.cur.onInlineImage130() } -func (c *current) onRelativeLink92() (interface{}, error) { +func (c *current) onInlineImage139() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonRelativeLink92() (interface{}, error) { +func (p *parser) callonInlineImage139() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink92() + return p.cur.onInlineImage139() } -func (c *current) onRelativeLink88(name interface{}) (interface{}, error) { +func (c *current) onInlineImage135(name interface{}) (interface{}, error) { log.Debug("matching escaped attribute reference") // return types.NewStringElement("{"+name.(string)+"}") @@ -80144,449 +77894,455 @@ func (c *current) onRelativeLink88(name interface{}) (interface{}, error) { } -func (p *parser) callonRelativeLink88() (interface{}, error) { +func (p *parser) callonInlineImage135() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink88(stack["name"]) + return p.cur.onInlineImage135(stack["name"]) } -func (c *current) onRelativeLink102() (interface{}, error) { +func (c *current) onInlineImage149() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonRelativeLink102() (interface{}, error) { +func (p *parser) callonInlineImage149() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink102() + return p.cur.onInlineImage149() } -func (c *current) onRelativeLink98(name interface{}) (interface{}, error) { +func (c *current) onInlineImage145(name interface{}) (interface{}, error) { return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonRelativeLink98() (interface{}, error) { +func (p *parser) callonInlineImage145() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink98(stack["name"]) + return p.cur.onInlineImage145(stack["name"]) } -func (c *current) onRelativeLink39(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onInlineImage155() (interface{}, error) { + + return types.NewStringElement(string(c.text)) } -func (p *parser) callonRelativeLink39() (interface{}, error) { +func (p *parser) callonInlineImage155() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink39(stack["element"]) + return p.cur.onInlineImage155() } -func (c *current) onRelativeLink110() (bool, error) { - return c.isSubstitutionEnabled(SpecialCharacters), nil +func (c *current) onInlineImage116(id, label interface{}) (interface{}, error) { + return types.NewInternalCrossReference(id, label) } -func (p *parser) callonRelativeLink110() (bool, error) { +func (p *parser) callonInlineImage116() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink110() + return p.cur.onInlineImage116(stack["id"], stack["label"]) } -func (c *current) onRelativeLink119() (interface{}, error) { +func (c *current) onInlineImage162() (interface{}, error) { // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ return string(c.text), nil } -func (p *parser) callonRelativeLink119() (interface{}, error) { +func (p *parser) callonInlineImage162() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink119() + return p.cur.onInlineImage162() } -func (c *current) onRelativeLink123() (interface{}, error) { - return string(c.text), nil +func (c *current) onInlineImage158(id interface{}) (interface{}, error) { + return types.NewInternalCrossReference(id, nil) } -func (p *parser) callonRelativeLink123() (interface{}, error) { +func (p *parser) callonInlineImage158() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink123() + return p.cur.onInlineImage158(stack["id"]) } -func (c *current) onRelativeLink129() (interface{}, error) { - // `{`, `>` and `>` characters are not allowed as they are used for attribute substitutions and cross-references +func (c *current) onInlineImage114() (interface{}, error) { return types.NewStringElement(string(c.text)) } -func (p *parser) callonRelativeLink129() (interface{}, error) { +func (p *parser) callonInlineImage114() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink129() + return p.cur.onInlineImage114() } -func (c *current) onRelativeLink138() (interface{}, error) { - return string(c.text), nil +func (c *current) onInlineImage166() (interface{}, error) { + return types.NewSpecialCharacter(string(c.text)) } -func (p *parser) callonRelativeLink138() (interface{}, error) { +func (p *parser) callonInlineImage166() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink138() + return p.cur.onInlineImage166() } -func (c *current) onRelativeLink134(name interface{}) (interface{}, error) { - - log.Debug("matching escaped attribute reference") - // return types.NewStringElement("{"+name.(string)+"}") - return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) +func (c *current) onInlineImage109(element interface{}) (interface{}, error) { + return element, nil } -func (p *parser) callonRelativeLink134() (interface{}, error) { +func (p *parser) callonInlineImage109() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink134(stack["name"]) + return p.cur.onInlineImage109(stack["element"]) } -func (c *current) onRelativeLink148() (interface{}, error) { - return string(c.text), nil +func (c *current) onInlineImage168() (interface{}, error) { + return types.NewStringElement(string(c.text)) } -func (p *parser) callonRelativeLink148() (interface{}, error) { +func (p *parser) callonInlineImage168() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink148() + return p.cur.onInlineImage168() } -func (c *current) onRelativeLink144(name interface{}) (interface{}, error) { - - return types.NewAttributeSubstitution(name.(string), string(c.text)) +func (c *current) onInlineImage20(elements interface{}) (interface{}, error) { + return types.NewInlineElements(elements.([]interface{})) } -func (p *parser) callonRelativeLink144() (interface{}, error) { +func (p *parser) callonInlineImage20() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink144(stack["name"]) + return p.cur.onInlineImage20(stack["elements"]) } -func (c *current) onRelativeLink154() (interface{}, error) { +func (c *current) onInlineImage174() (interface{}, error) { + return string(c.text), nil +} - return types.NewStringElement(string(c.text)) +func (p *parser) callonInlineImage174() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onInlineImage174() +} +func (c *current) onInlineImage170(ref interface{}) (interface{}, error) { + return types.NewElementPlaceHolder(ref.(string)) } -func (p *parser) callonRelativeLink154() (interface{}, error) { +func (p *parser) callonInlineImage170() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink154() + return p.cur.onInlineImage170(stack["ref"]) } -func (c *current) onRelativeLink115(id, label interface{}) (interface{}, error) { - return types.NewInternalCrossReference(id, label) +func (c *current) onInlineImage7(scheme, path interface{}) (interface{}, error) { + return types.NewLocation(scheme, path.([]interface{})) } -func (p *parser) callonRelativeLink115() (interface{}, error) { +func (p *parser) callonInlineImage7() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink115(stack["id"], stack["label"]) + return p.cur.onInlineImage7(stack["scheme"], stack["path"]) } -func (c *current) onRelativeLink161() (interface{}, error) { - // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ - return string(c.text), nil +func (c *current) onInlineImage1(path, attributes interface{}) (interface{}, error) { + return types.NewInlineImage(path.(*types.Location), attributes.(types.Attributes)) } -func (p *parser) callonRelativeLink161() (interface{}, error) { +func (p *parser) callonInlineImage1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink161() + return p.cur.onInlineImage1(stack["path"], stack["attributes"]) } -func (c *current) onRelativeLink157(id interface{}) (interface{}, error) { - return types.NewInternalCrossReference(id, nil) - +func (c *current) onInlineIcon5() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonRelativeLink157() (interface{}, error) { +func (p *parser) callonInlineIcon5() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink157(stack["id"]) + return p.cur.onInlineIcon5() } -func (c *current) onRelativeLink113() (interface{}, error) { - return types.NewStringElement(string(c.text)) +func (c *current) onInlineIcon1(icon, attributes interface{}) (interface{}, error) { + return types.NewIcon(icon.(string), attributes) } -func (p *parser) callonRelativeLink113() (interface{}, error) { +func (p *parser) callonInlineIcon1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink113() + return p.cur.onInlineIcon1(stack["icon"], stack["attributes"]) } -func (c *current) onRelativeLink165() (interface{}, error) { - return types.NewSpecialCharacter(string(c.text)) +func (c *current) onInlineFootnote2(content interface{}) (interface{}, error) { + return types.NewFootnote("", content) } -func (p *parser) callonRelativeLink165() (interface{}, error) { +func (p *parser) callonInlineFootnote2() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink165() + return p.cur.onInlineFootnote2(stack["content"]) } -func (c *current) onRelativeLink108(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onInlineFootnote12() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonRelativeLink108() (interface{}, error) { +func (p *parser) callonInlineFootnote12() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink108(stack["element"]) + return p.cur.onInlineFootnote12() } -func (c *current) onRelativeLink167() (interface{}, error) { - return types.NewStringElement(string(c.text)) +func (c *current) onInlineFootnote8(ref, content interface{}) (interface{}, error) { + // TODO: use only this rule with `ref:(FootnoteRef)?` + return types.NewFootnote(ref.(string), content) } -func (p *parser) callonRelativeLink167() (interface{}, error) { +func (p *parser) callonInlineFootnote8() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink167() + return p.cur.onInlineFootnote8(stack["ref"], stack["content"]) } -func (c *current) onRelativeLink19(elements interface{}) (interface{}, error) { +func (c *current) onFootnoteContent1(elements interface{}) (interface{}, error) { + // footnote content may span multiple lines return types.NewInlineElements(elements.([]interface{})) } -func (p *parser) callonRelativeLink19() (interface{}, error) { +func (p *parser) callonFootnoteContent1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink19(stack["elements"]) + return p.cur.onFootnoteContent1(stack["elements"]) } -func (c *current) onRelativeLink173() (interface{}, error) { - return string(c.text), nil +func (c *current) onPassthroughMacro7() (interface{}, error) { + return types.NewStringElement(string(c.text)) + } -func (p *parser) callonRelativeLink173() (interface{}, error) { +func (p *parser) callonPassthroughMacro7() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink173() + return p.cur.onPassthroughMacro7() } -func (c *current) onRelativeLink169(ref interface{}) (interface{}, error) { - return types.NewElementPlaceHolder(ref.(string)) +func (c *current) onPassthroughMacro2(content interface{}) (interface{}, error) { + return types.NewInlinePassthrough(types.PassthroughMacro, []interface{}{content}) + } -func (p *parser) callonRelativeLink169() (interface{}, error) { +func (p *parser) callonPassthroughMacro2() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink169(stack["ref"]) + return p.cur.onPassthroughMacro2(stack["content"]) } -func (c *current) onRelativeLink6(scheme, path interface{}) (interface{}, error) { - return types.NewLocation(scheme, path.([]interface{})) +func (c *current) onPassthroughMacro17() (interface{}, error) { + return types.NewStringElement(string(c.text)) } -func (p *parser) callonRelativeLink6() (interface{}, error) { +func (p *parser) callonPassthroughMacro17() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink6(stack["scheme"], stack["path"]) + return p.cur.onPassthroughMacro17() } -func (c *current) onRelativeLink2(url, attributes interface{}) (interface{}, error) { - return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) +func (c *current) onPassthroughMacro10(content interface{}) (interface{}, error) { + return types.NewInlinePassthrough(types.PassthroughMacro, content.([]interface{})) } -func (p *parser) callonRelativeLink2() (interface{}, error) { +func (p *parser) callonPassthroughMacro10() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink2(stack["url"], stack["attributes"]) + return p.cur.onPassthroughMacro10(stack["content"]) } -func (c *current) onRelativeLink203() (interface{}, error) { +func (c *current) onLink26() (interface{}, error) { // not supported for now: EOL, space, "{", "[", "]". Also, punctuation chars and `<` and `>` special chars are treated separately below (but `&` is allowed) return types.NewStringElement(string(c.text)) } -func (p *parser) callonRelativeLink203() (interface{}, error) { +func (p *parser) callonLink26() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink203() + return p.cur.onLink26() } -func (c *current) onRelativeLink207() (interface{}, error) { +func (c *current) onLink30() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonRelativeLink207() (interface{}, error) { +func (p *parser) callonLink30() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink207() + return p.cur.onLink30() } -func (c *current) onRelativeLink214() (interface{}, error) { +func (c *current) onLink37() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonRelativeLink214() (interface{}, error) { +func (p *parser) callonLink37() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink214() + return p.cur.onLink37() } -func (c *current) onRelativeLink218() (bool, error) { +func (c *current) onLink41() (bool, error) { return c.isSubstitutionEnabled(Attributes), nil } -func (p *parser) callonRelativeLink218() (bool, error) { +func (p *parser) callonLink41() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink218() + return p.cur.onLink41() } -func (c *current) onRelativeLink225() (interface{}, error) { +func (c *current) onLink48() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonRelativeLink225() (interface{}, error) { +func (p *parser) callonLink48() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink225() + return p.cur.onLink48() } -func (c *current) onRelativeLink237() (interface{}, error) { +func (c *current) onLink60() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonRelativeLink237() (interface{}, error) { +func (p *parser) callonLink60() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink237() + return p.cur.onLink60() } -func (c *current) onRelativeLink239() (interface{}, error) { +func (c *current) onLink62() (interface{}, error) { return strconv.Atoi(string(c.text)) } -func (p *parser) callonRelativeLink239() (interface{}, error) { +func (p *parser) callonLink62() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink239() + return p.cur.onLink62() } -func (c *current) onRelativeLink232(start interface{}) (interface{}, error) { +func (c *current) onLink55(start interface{}) (interface{}, error) { return start, nil } -func (p *parser) callonRelativeLink232() (interface{}, error) { +func (p *parser) callonLink55() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink232(stack["start"]) + return p.cur.onLink55(stack["start"]) } -func (c *current) onRelativeLink221(name, start interface{}) (interface{}, error) { +func (c *current) onLink44(name, start interface{}) (interface{}, error) { return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) } -func (p *parser) callonRelativeLink221() (interface{}, error) { +func (p *parser) callonLink44() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink221(stack["name"], stack["start"]) + return p.cur.onLink44(stack["name"], stack["start"]) } -func (c *current) onRelativeLink247() (interface{}, error) { +func (c *current) onLink70() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonRelativeLink247() (interface{}, error) { +func (p *parser) callonLink70() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink247() + return p.cur.onLink70() } -func (c *current) onRelativeLink259() (interface{}, error) { +func (c *current) onLink82() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonRelativeLink259() (interface{}, error) { +func (p *parser) callonLink82() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink259() + return p.cur.onLink82() } -func (c *current) onRelativeLink261() (interface{}, error) { +func (c *current) onLink84() (interface{}, error) { return strconv.Atoi(string(c.text)) } -func (p *parser) callonRelativeLink261() (interface{}, error) { +func (p *parser) callonLink84() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink261() + return p.cur.onLink84() } -func (c *current) onRelativeLink254(start interface{}) (interface{}, error) { +func (c *current) onLink77(start interface{}) (interface{}, error) { return start, nil } -func (p *parser) callonRelativeLink254() (interface{}, error) { +func (p *parser) callonLink77() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink254(stack["start"]) + return p.cur.onLink77(stack["start"]) } -func (c *current) onRelativeLink243(name, start interface{}) (interface{}, error) { +func (c *current) onLink66(name, start interface{}) (interface{}, error) { return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) } -func (p *parser) callonRelativeLink243() (interface{}, error) { +func (p *parser) callonLink66() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink243(stack["name"], stack["start"]) + return p.cur.onLink66(stack["name"], stack["start"]) } -func (c *current) onRelativeLink269() (interface{}, error) { +func (c *current) onLink92() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonRelativeLink269() (interface{}, error) { +func (p *parser) callonLink92() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink269() + return p.cur.onLink92() } -func (c *current) onRelativeLink265(name interface{}) (interface{}, error) { +func (c *current) onLink88(name interface{}) (interface{}, error) { log.Debug("matching escaped attribute reference") // return types.NewStringElement("{"+name.(string)+"}") @@ -80594,104 +78350,104 @@ func (c *current) onRelativeLink265(name interface{}) (interface{}, error) { } -func (p *parser) callonRelativeLink265() (interface{}, error) { +func (p *parser) callonLink88() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink265(stack["name"]) + return p.cur.onLink88(stack["name"]) } -func (c *current) onRelativeLink279() (interface{}, error) { +func (c *current) onLink102() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonRelativeLink279() (interface{}, error) { +func (p *parser) callonLink102() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink279() + return p.cur.onLink102() } -func (c *current) onRelativeLink275(name interface{}) (interface{}, error) { +func (c *current) onLink98(name interface{}) (interface{}, error) { return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonRelativeLink275() (interface{}, error) { +func (p *parser) callonLink98() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink275(stack["name"]) + return p.cur.onLink98(stack["name"]) } -func (c *current) onRelativeLink216(element interface{}) (interface{}, error) { +func (c *current) onLink39(element interface{}) (interface{}, error) { return element, nil } -func (p *parser) callonRelativeLink216() (interface{}, error) { +func (p *parser) callonLink39() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink216(stack["element"]) + return p.cur.onLink39(stack["element"]) } -func (c *current) onRelativeLink287() (bool, error) { +func (c *current) onLink110() (bool, error) { return c.isSubstitutionEnabled(SpecialCharacters), nil } -func (p *parser) callonRelativeLink287() (bool, error) { +func (p *parser) callonLink110() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink287() + return p.cur.onLink110() } -func (c *current) onRelativeLink296() (interface{}, error) { +func (c *current) onLink119() (interface{}, error) { // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ return string(c.text), nil } -func (p *parser) callonRelativeLink296() (interface{}, error) { +func (p *parser) callonLink119() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink296() + return p.cur.onLink119() } -func (c *current) onRelativeLink300() (interface{}, error) { +func (c *current) onLink123() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonRelativeLink300() (interface{}, error) { +func (p *parser) callonLink123() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink300() + return p.cur.onLink123() } -func (c *current) onRelativeLink306() (interface{}, error) { +func (c *current) onLink129() (interface{}, error) { // `{`, `>` and `>` characters are not allowed as they are used for attribute substitutions and cross-references return types.NewStringElement(string(c.text)) } -func (p *parser) callonRelativeLink306() (interface{}, error) { +func (p *parser) callonLink129() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink306() + return p.cur.onLink129() } -func (c *current) onRelativeLink315() (interface{}, error) { +func (c *current) onLink138() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonRelativeLink315() (interface{}, error) { +func (p *parser) callonLink138() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink315() + return p.cur.onLink138() } -func (c *current) onRelativeLink311(name interface{}) (interface{}, error) { +func (c *current) onLink134(name interface{}) (interface{}, error) { log.Debug("matching escaped attribute reference") // return types.NewStringElement("{"+name.(string)+"}") @@ -80699,344 +78455,336 @@ func (c *current) onRelativeLink311(name interface{}) (interface{}, error) { } -func (p *parser) callonRelativeLink311() (interface{}, error) { +func (p *parser) callonLink134() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink311(stack["name"]) + return p.cur.onLink134(stack["name"]) } -func (c *current) onRelativeLink325() (interface{}, error) { +func (c *current) onLink148() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonRelativeLink325() (interface{}, error) { +func (p *parser) callonLink148() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink325() + return p.cur.onLink148() } -func (c *current) onRelativeLink321(name interface{}) (interface{}, error) { +func (c *current) onLink144(name interface{}) (interface{}, error) { return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonRelativeLink321() (interface{}, error) { +func (p *parser) callonLink144() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink321(stack["name"]) + return p.cur.onLink144(stack["name"]) } -func (c *current) onRelativeLink331() (interface{}, error) { +func (c *current) onLink154() (interface{}, error) { return types.NewStringElement(string(c.text)) } -func (p *parser) callonRelativeLink331() (interface{}, error) { +func (p *parser) callonLink154() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink331() + return p.cur.onLink154() } -func (c *current) onRelativeLink292(id, label interface{}) (interface{}, error) { +func (c *current) onLink115(id, label interface{}) (interface{}, error) { return types.NewInternalCrossReference(id, label) } -func (p *parser) callonRelativeLink292() (interface{}, error) { +func (p *parser) callonLink115() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink292(stack["id"], stack["label"]) + return p.cur.onLink115(stack["id"], stack["label"]) } -func (c *current) onRelativeLink338() (interface{}, error) { +func (c *current) onLink161() (interface{}, error) { // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ return string(c.text), nil } -func (p *parser) callonRelativeLink338() (interface{}, error) { +func (p *parser) callonLink161() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink338() + return p.cur.onLink161() } -func (c *current) onRelativeLink334(id interface{}) (interface{}, error) { +func (c *current) onLink157(id interface{}) (interface{}, error) { return types.NewInternalCrossReference(id, nil) } -func (p *parser) callonRelativeLink334() (interface{}, error) { +func (p *parser) callonLink157() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink334(stack["id"]) + return p.cur.onLink157(stack["id"]) } -func (c *current) onRelativeLink290() (interface{}, error) { +func (c *current) onLink113() (interface{}, error) { return types.NewStringElement(string(c.text)) } -func (p *parser) callonRelativeLink290() (interface{}, error) { +func (p *parser) callonLink113() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink290() + return p.cur.onLink113() } -func (c *current) onRelativeLink342() (interface{}, error) { +func (c *current) onLink165() (interface{}, error) { return types.NewSpecialCharacter(string(c.text)) } -func (p *parser) callonRelativeLink342() (interface{}, error) { +func (p *parser) callonLink165() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink342() + return p.cur.onLink165() } -func (c *current) onRelativeLink285(element interface{}) (interface{}, error) { +func (c *current) onLink108(element interface{}) (interface{}, error) { return element, nil } -func (p *parser) callonRelativeLink285() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onRelativeLink285(stack["element"]) -} - -func (c *current) onRelativeLink344() (interface{}, error) { - return types.NewStringElement(string(c.text)) - -} - -func (p *parser) callonRelativeLink344() (interface{}, error) { +func (p *parser) callonLink108() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink344() + return p.cur.onLink108(stack["element"]) } -func (c *current) onRelativeLink196(elements interface{}) (interface{}, error) { - return types.NewInlineElements(elements.([]interface{})) +func (c *current) onLink167() (interface{}, error) { + return types.NewStringElement(string(c.text)) } -func (p *parser) callonRelativeLink196() (interface{}, error) { +func (p *parser) callonLink167() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink196(stack["elements"]) + return p.cur.onLink167() } -func (c *current) onRelativeLink350() (interface{}, error) { - return string(c.text), nil +func (c *current) onLink19(elements interface{}) (interface{}, error) { + return types.NewInlineElements(elements.([]interface{})) + } -func (p *parser) callonRelativeLink350() (interface{}, error) { +func (p *parser) callonLink19() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink350() + return p.cur.onLink19(stack["elements"]) } -func (c *current) onRelativeLink346(ref interface{}) (interface{}, error) { - return types.NewElementPlaceHolder(ref.(string)) +func (c *current) onLink6(scheme, path interface{}) (interface{}, error) { + return types.NewLocation(scheme, path.([]interface{})) + } -func (p *parser) callonRelativeLink346() (interface{}, error) { +func (p *parser) callonLink6() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink346(stack["ref"]) + return p.cur.onLink6(stack["scheme"], stack["path"]) } -func (c *current) onRelativeLink183(scheme, path interface{}) (interface{}, error) { - return types.NewLocation(scheme, path.([]interface{})) +func (c *current) onLink172(url, closingBracket interface{}) (bool, error) { + return url.(*types.Location).TrimAngleBracketSuffix() } -func (p *parser) callonRelativeLink183() (interface{}, error) { +func (p *parser) callonLink172() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink183(stack["scheme"], stack["path"]) + return p.cur.onLink172(stack["url"], stack["closingBracket"]) } -func (c *current) onRelativeLink179(url, attributes interface{}) (interface{}, error) { - return types.NewInlineLink(url.(*types.Location), attributes.(types.Attributes)) +func (c *current) onLink2(url, closingBracket interface{}) (interface{}, error) { + + return types.NewInlineLink(url.(*types.Location), nil) } -func (p *parser) callonRelativeLink179() (interface{}, error) { +func (p *parser) callonLink2() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink179(stack["url"], stack["attributes"]) + return p.cur.onLink2(stack["url"], stack["closingBracket"]) } -func (c *current) onExternalLink26() (interface{}, error) { +func (c *current) onRelativeLink26() (interface{}, error) { // not supported for now: EOL, space, "{", "[", "]". Also, punctuation chars and `<` and `>` special chars are treated separately below (but `&` is allowed) return types.NewStringElement(string(c.text)) } -func (p *parser) callonExternalLink26() (interface{}, error) { +func (p *parser) callonRelativeLink26() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink26() + return p.cur.onRelativeLink26() } -func (c *current) onExternalLink30() (interface{}, error) { +func (c *current) onRelativeLink30() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonExternalLink30() (interface{}, error) { +func (p *parser) callonRelativeLink30() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink30() + return p.cur.onRelativeLink30() } -func (c *current) onExternalLink37() (interface{}, error) { +func (c *current) onRelativeLink37() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonExternalLink37() (interface{}, error) { +func (p *parser) callonRelativeLink37() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink37() + return p.cur.onRelativeLink37() } -func (c *current) onExternalLink41() (bool, error) { +func (c *current) onRelativeLink41() (bool, error) { return c.isSubstitutionEnabled(Attributes), nil } -func (p *parser) callonExternalLink41() (bool, error) { +func (p *parser) callonRelativeLink41() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink41() + return p.cur.onRelativeLink41() } -func (c *current) onExternalLink48() (interface{}, error) { +func (c *current) onRelativeLink48() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonExternalLink48() (interface{}, error) { +func (p *parser) callonRelativeLink48() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink48() + return p.cur.onRelativeLink48() } -func (c *current) onExternalLink60() (interface{}, error) { +func (c *current) onRelativeLink60() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonExternalLink60() (interface{}, error) { +func (p *parser) callonRelativeLink60() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink60() + return p.cur.onRelativeLink60() } -func (c *current) onExternalLink62() (interface{}, error) { +func (c *current) onRelativeLink62() (interface{}, error) { return strconv.Atoi(string(c.text)) } -func (p *parser) callonExternalLink62() (interface{}, error) { +func (p *parser) callonRelativeLink62() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink62() + return p.cur.onRelativeLink62() } -func (c *current) onExternalLink55(start interface{}) (interface{}, error) { +func (c *current) onRelativeLink55(start interface{}) (interface{}, error) { return start, nil } -func (p *parser) callonExternalLink55() (interface{}, error) { +func (p *parser) callonRelativeLink55() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink55(stack["start"]) + return p.cur.onRelativeLink55(stack["start"]) } -func (c *current) onExternalLink44(name, start interface{}) (interface{}, error) { +func (c *current) onRelativeLink44(name, start interface{}) (interface{}, error) { return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) } -func (p *parser) callonExternalLink44() (interface{}, error) { +func (p *parser) callonRelativeLink44() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink44(stack["name"], stack["start"]) + return p.cur.onRelativeLink44(stack["name"], stack["start"]) } -func (c *current) onExternalLink70() (interface{}, error) { +func (c *current) onRelativeLink70() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonExternalLink70() (interface{}, error) { +func (p *parser) callonRelativeLink70() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink70() + return p.cur.onRelativeLink70() } -func (c *current) onExternalLink82() (interface{}, error) { +func (c *current) onRelativeLink82() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonExternalLink82() (interface{}, error) { +func (p *parser) callonRelativeLink82() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink82() + return p.cur.onRelativeLink82() } -func (c *current) onExternalLink84() (interface{}, error) { +func (c *current) onRelativeLink84() (interface{}, error) { return strconv.Atoi(string(c.text)) } -func (p *parser) callonExternalLink84() (interface{}, error) { +func (p *parser) callonRelativeLink84() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink84() + return p.cur.onRelativeLink84() } -func (c *current) onExternalLink77(start interface{}) (interface{}, error) { +func (c *current) onRelativeLink77(start interface{}) (interface{}, error) { return start, nil } -func (p *parser) callonExternalLink77() (interface{}, error) { +func (p *parser) callonRelativeLink77() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink77(stack["start"]) + return p.cur.onRelativeLink77(stack["start"]) } -func (c *current) onExternalLink66(name, start interface{}) (interface{}, error) { +func (c *current) onRelativeLink66(name, start interface{}) (interface{}, error) { return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) } -func (p *parser) callonExternalLink66() (interface{}, error) { +func (p *parser) callonRelativeLink66() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink66(stack["name"], stack["start"]) + return p.cur.onRelativeLink66(stack["name"], stack["start"]) } -func (c *current) onExternalLink92() (interface{}, error) { +func (c *current) onRelativeLink92() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonExternalLink92() (interface{}, error) { +func (p *parser) callonRelativeLink92() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink92() + return p.cur.onRelativeLink92() } -func (c *current) onExternalLink88(name interface{}) (interface{}, error) { +func (c *current) onRelativeLink88(name interface{}) (interface{}, error) { log.Debug("matching escaped attribute reference") // return types.NewStringElement("{"+name.(string)+"}") @@ -81044,104 +78792,104 @@ func (c *current) onExternalLink88(name interface{}) (interface{}, error) { } -func (p *parser) callonExternalLink88() (interface{}, error) { +func (p *parser) callonRelativeLink88() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink88(stack["name"]) + return p.cur.onRelativeLink88(stack["name"]) } -func (c *current) onExternalLink102() (interface{}, error) { +func (c *current) onRelativeLink102() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonExternalLink102() (interface{}, error) { +func (p *parser) callonRelativeLink102() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink102() + return p.cur.onRelativeLink102() } -func (c *current) onExternalLink98(name interface{}) (interface{}, error) { +func (c *current) onRelativeLink98(name interface{}) (interface{}, error) { return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonExternalLink98() (interface{}, error) { +func (p *parser) callonRelativeLink98() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink98(stack["name"]) + return p.cur.onRelativeLink98(stack["name"]) } -func (c *current) onExternalLink39(element interface{}) (interface{}, error) { +func (c *current) onRelativeLink39(element interface{}) (interface{}, error) { return element, nil } -func (p *parser) callonExternalLink39() (interface{}, error) { +func (p *parser) callonRelativeLink39() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink39(stack["element"]) + return p.cur.onRelativeLink39(stack["element"]) } -func (c *current) onExternalLink110() (bool, error) { +func (c *current) onRelativeLink110() (bool, error) { return c.isSubstitutionEnabled(SpecialCharacters), nil } -func (p *parser) callonExternalLink110() (bool, error) { +func (p *parser) callonRelativeLink110() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink110() + return p.cur.onRelativeLink110() } -func (c *current) onExternalLink119() (interface{}, error) { +func (c *current) onRelativeLink119() (interface{}, error) { // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ return string(c.text), nil } -func (p *parser) callonExternalLink119() (interface{}, error) { +func (p *parser) callonRelativeLink119() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink119() + return p.cur.onRelativeLink119() } -func (c *current) onExternalLink123() (interface{}, error) { +func (c *current) onRelativeLink123() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonExternalLink123() (interface{}, error) { +func (p *parser) callonRelativeLink123() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink123() + return p.cur.onRelativeLink123() } -func (c *current) onExternalLink129() (interface{}, error) { +func (c *current) onRelativeLink129() (interface{}, error) { // `{`, `>` and `>` characters are not allowed as they are used for attribute substitutions and cross-references return types.NewStringElement(string(c.text)) } -func (p *parser) callonExternalLink129() (interface{}, error) { +func (p *parser) callonRelativeLink129() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink129() + return p.cur.onRelativeLink129() } -func (c *current) onExternalLink138() (interface{}, error) { +func (c *current) onRelativeLink138() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonExternalLink138() (interface{}, error) { +func (p *parser) callonRelativeLink138() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink138() + return p.cur.onRelativeLink138() } -func (c *current) onExternalLink134(name interface{}) (interface{}, error) { +func (c *current) onRelativeLink134(name interface{}) (interface{}, error) { log.Debug("matching escaped attribute reference") // return types.NewStringElement("{"+name.(string)+"}") @@ -81149,324 +78897,344 @@ func (c *current) onExternalLink134(name interface{}) (interface{}, error) { } -func (p *parser) callonExternalLink134() (interface{}, error) { +func (p *parser) callonRelativeLink134() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink134(stack["name"]) + return p.cur.onRelativeLink134(stack["name"]) } -func (c *current) onExternalLink148() (interface{}, error) { +func (c *current) onRelativeLink148() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonExternalLink148() (interface{}, error) { +func (p *parser) callonRelativeLink148() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink148() + return p.cur.onRelativeLink148() } -func (c *current) onExternalLink144(name interface{}) (interface{}, error) { +func (c *current) onRelativeLink144(name interface{}) (interface{}, error) { return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonExternalLink144() (interface{}, error) { +func (p *parser) callonRelativeLink144() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink144(stack["name"]) + return p.cur.onRelativeLink144(stack["name"]) } -func (c *current) onExternalLink154() (interface{}, error) { +func (c *current) onRelativeLink154() (interface{}, error) { return types.NewStringElement(string(c.text)) } -func (p *parser) callonExternalLink154() (interface{}, error) { +func (p *parser) callonRelativeLink154() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink154() + return p.cur.onRelativeLink154() } -func (c *current) onExternalLink115(id, label interface{}) (interface{}, error) { +func (c *current) onRelativeLink115(id, label interface{}) (interface{}, error) { return types.NewInternalCrossReference(id, label) } -func (p *parser) callonExternalLink115() (interface{}, error) { +func (p *parser) callonRelativeLink115() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink115(stack["id"], stack["label"]) + return p.cur.onRelativeLink115(stack["id"], stack["label"]) } -func (c *current) onExternalLink161() (interface{}, error) { +func (c *current) onRelativeLink161() (interface{}, error) { // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ return string(c.text), nil } -func (p *parser) callonExternalLink161() (interface{}, error) { +func (p *parser) callonRelativeLink161() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink161() + return p.cur.onRelativeLink161() } -func (c *current) onExternalLink157(id interface{}) (interface{}, error) { +func (c *current) onRelativeLink157(id interface{}) (interface{}, error) { return types.NewInternalCrossReference(id, nil) } -func (p *parser) callonExternalLink157() (interface{}, error) { +func (p *parser) callonRelativeLink157() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink157(stack["id"]) + return p.cur.onRelativeLink157(stack["id"]) } -func (c *current) onExternalLink113() (interface{}, error) { +func (c *current) onRelativeLink113() (interface{}, error) { return types.NewStringElement(string(c.text)) } -func (p *parser) callonExternalLink113() (interface{}, error) { +func (p *parser) callonRelativeLink113() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink113() + return p.cur.onRelativeLink113() } -func (c *current) onExternalLink165() (interface{}, error) { +func (c *current) onRelativeLink165() (interface{}, error) { return types.NewSpecialCharacter(string(c.text)) } -func (p *parser) callonExternalLink165() (interface{}, error) { +func (p *parser) callonRelativeLink165() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink165() + return p.cur.onRelativeLink165() } -func (c *current) onExternalLink108(element interface{}) (interface{}, error) { +func (c *current) onRelativeLink108(element interface{}) (interface{}, error) { return element, nil } -func (p *parser) callonExternalLink108() (interface{}, error) { +func (p *parser) callonRelativeLink108() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink108(stack["element"]) + return p.cur.onRelativeLink108(stack["element"]) } -func (c *current) onExternalLink167() (interface{}, error) { +func (c *current) onRelativeLink167() (interface{}, error) { return types.NewStringElement(string(c.text)) } -func (p *parser) callonExternalLink167() (interface{}, error) { +func (p *parser) callonRelativeLink167() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink167() + return p.cur.onRelativeLink167() } -func (c *current) onExternalLink19(elements interface{}) (interface{}, error) { +func (c *current) onRelativeLink19(elements interface{}) (interface{}, error) { return types.NewInlineElements(elements.([]interface{})) } -func (p *parser) callonExternalLink19() (interface{}, error) { +func (p *parser) callonRelativeLink19() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink19(stack["elements"]) + return p.cur.onRelativeLink19(stack["elements"]) } -func (c *current) onExternalLink6(scheme, path interface{}) (interface{}, error) { +func (c *current) onRelativeLink173() (interface{}, error) { + return string(c.text), nil +} + +func (p *parser) callonRelativeLink173() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onRelativeLink173() +} + +func (c *current) onRelativeLink169(ref interface{}) (interface{}, error) { + return types.NewElementPlaceHolder(ref.(string)) +} + +func (p *parser) callonRelativeLink169() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onRelativeLink169(stack["ref"]) +} + +func (c *current) onRelativeLink6(scheme, path interface{}) (interface{}, error) { return types.NewLocation(scheme, path.([]interface{})) } -func (p *parser) callonExternalLink6() (interface{}, error) { +func (p *parser) callonRelativeLink6() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink6(stack["scheme"], stack["path"]) + return p.cur.onRelativeLink6(stack["scheme"], stack["path"]) } -func (c *current) onExternalLink2(url, attributes interface{}) (interface{}, error) { +func (c *current) onRelativeLink2(url, attributes interface{}) (interface{}, error) { return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) } -func (p *parser) callonExternalLink2() (interface{}, error) { +func (p *parser) callonRelativeLink2() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink2(stack["url"], stack["attributes"]) + return p.cur.onRelativeLink2(stack["url"], stack["attributes"]) } -func (c *current) onExternalLink195() (interface{}, error) { +func (c *current) onRelativeLink203() (interface{}, error) { // not supported for now: EOL, space, "{", "[", "]". Also, punctuation chars and `<` and `>` special chars are treated separately below (but `&` is allowed) return types.NewStringElement(string(c.text)) } -func (p *parser) callonExternalLink195() (interface{}, error) { +func (p *parser) callonRelativeLink203() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink195() + return p.cur.onRelativeLink203() } -func (c *current) onExternalLink199() (interface{}, error) { +func (c *current) onRelativeLink207() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonExternalLink199() (interface{}, error) { +func (p *parser) callonRelativeLink207() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink199() + return p.cur.onRelativeLink207() } -func (c *current) onExternalLink206() (interface{}, error) { +func (c *current) onRelativeLink214() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonExternalLink206() (interface{}, error) { +func (p *parser) callonRelativeLink214() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink206() + return p.cur.onRelativeLink214() } -func (c *current) onExternalLink210() (bool, error) { +func (c *current) onRelativeLink218() (bool, error) { return c.isSubstitutionEnabled(Attributes), nil } -func (p *parser) callonExternalLink210() (bool, error) { +func (p *parser) callonRelativeLink218() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink210() + return p.cur.onRelativeLink218() } -func (c *current) onExternalLink217() (interface{}, error) { +func (c *current) onRelativeLink225() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonExternalLink217() (interface{}, error) { +func (p *parser) callonRelativeLink225() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink217() + return p.cur.onRelativeLink225() } -func (c *current) onExternalLink229() (interface{}, error) { +func (c *current) onRelativeLink237() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonExternalLink229() (interface{}, error) { +func (p *parser) callonRelativeLink237() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink229() + return p.cur.onRelativeLink237() } -func (c *current) onExternalLink231() (interface{}, error) { +func (c *current) onRelativeLink239() (interface{}, error) { return strconv.Atoi(string(c.text)) } -func (p *parser) callonExternalLink231() (interface{}, error) { +func (p *parser) callonRelativeLink239() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink231() + return p.cur.onRelativeLink239() } -func (c *current) onExternalLink224(start interface{}) (interface{}, error) { +func (c *current) onRelativeLink232(start interface{}) (interface{}, error) { return start, nil } -func (p *parser) callonExternalLink224() (interface{}, error) { +func (p *parser) callonRelativeLink232() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink224(stack["start"]) + return p.cur.onRelativeLink232(stack["start"]) } -func (c *current) onExternalLink213(name, start interface{}) (interface{}, error) { +func (c *current) onRelativeLink221(name, start interface{}) (interface{}, error) { return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) } -func (p *parser) callonExternalLink213() (interface{}, error) { +func (p *parser) callonRelativeLink221() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink213(stack["name"], stack["start"]) + return p.cur.onRelativeLink221(stack["name"], stack["start"]) } -func (c *current) onExternalLink239() (interface{}, error) { +func (c *current) onRelativeLink247() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonExternalLink239() (interface{}, error) { +func (p *parser) callonRelativeLink247() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink239() + return p.cur.onRelativeLink247() } -func (c *current) onExternalLink251() (interface{}, error) { +func (c *current) onRelativeLink259() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonExternalLink251() (interface{}, error) { +func (p *parser) callonRelativeLink259() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink251() + return p.cur.onRelativeLink259() } -func (c *current) onExternalLink253() (interface{}, error) { +func (c *current) onRelativeLink261() (interface{}, error) { return strconv.Atoi(string(c.text)) } -func (p *parser) callonExternalLink253() (interface{}, error) { +func (p *parser) callonRelativeLink261() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink253() + return p.cur.onRelativeLink261() } -func (c *current) onExternalLink246(start interface{}) (interface{}, error) { +func (c *current) onRelativeLink254(start interface{}) (interface{}, error) { return start, nil } -func (p *parser) callonExternalLink246() (interface{}, error) { +func (p *parser) callonRelativeLink254() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink246(stack["start"]) + return p.cur.onRelativeLink254(stack["start"]) } -func (c *current) onExternalLink235(name, start interface{}) (interface{}, error) { +func (c *current) onRelativeLink243(name, start interface{}) (interface{}, error) { return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) } -func (p *parser) callonExternalLink235() (interface{}, error) { +func (p *parser) callonRelativeLink243() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink235(stack["name"], stack["start"]) + return p.cur.onRelativeLink243(stack["name"], stack["start"]) } -func (c *current) onExternalLink261() (interface{}, error) { +func (c *current) onRelativeLink269() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonExternalLink261() (interface{}, error) { +func (p *parser) callonRelativeLink269() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink261() + return p.cur.onRelativeLink269() } -func (c *current) onExternalLink257(name interface{}) (interface{}, error) { +func (c *current) onRelativeLink265(name interface{}) (interface{}, error) { log.Debug("matching escaped attribute reference") // return types.NewStringElement("{"+name.(string)+"}") @@ -81474,104 +79242,104 @@ func (c *current) onExternalLink257(name interface{}) (interface{}, error) { } -func (p *parser) callonExternalLink257() (interface{}, error) { +func (p *parser) callonRelativeLink265() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink257(stack["name"]) + return p.cur.onRelativeLink265(stack["name"]) } -func (c *current) onExternalLink271() (interface{}, error) { +func (c *current) onRelativeLink279() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonExternalLink271() (interface{}, error) { +func (p *parser) callonRelativeLink279() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink271() + return p.cur.onRelativeLink279() } -func (c *current) onExternalLink267(name interface{}) (interface{}, error) { +func (c *current) onRelativeLink275(name interface{}) (interface{}, error) { return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonExternalLink267() (interface{}, error) { +func (p *parser) callonRelativeLink275() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink267(stack["name"]) + return p.cur.onRelativeLink275(stack["name"]) } -func (c *current) onExternalLink208(element interface{}) (interface{}, error) { +func (c *current) onRelativeLink216(element interface{}) (interface{}, error) { return element, nil } -func (p *parser) callonExternalLink208() (interface{}, error) { +func (p *parser) callonRelativeLink216() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink208(stack["element"]) + return p.cur.onRelativeLink216(stack["element"]) } -func (c *current) onExternalLink279() (bool, error) { +func (c *current) onRelativeLink287() (bool, error) { return c.isSubstitutionEnabled(SpecialCharacters), nil } -func (p *parser) callonExternalLink279() (bool, error) { +func (p *parser) callonRelativeLink287() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink279() + return p.cur.onRelativeLink287() } -func (c *current) onExternalLink288() (interface{}, error) { +func (c *current) onRelativeLink296() (interface{}, error) { // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ return string(c.text), nil } -func (p *parser) callonExternalLink288() (interface{}, error) { +func (p *parser) callonRelativeLink296() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink288() + return p.cur.onRelativeLink296() } -func (c *current) onExternalLink292() (interface{}, error) { +func (c *current) onRelativeLink300() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonExternalLink292() (interface{}, error) { +func (p *parser) callonRelativeLink300() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink292() + return p.cur.onRelativeLink300() } -func (c *current) onExternalLink298() (interface{}, error) { +func (c *current) onRelativeLink306() (interface{}, error) { // `{`, `>` and `>` characters are not allowed as they are used for attribute substitutions and cross-references return types.NewStringElement(string(c.text)) } -func (p *parser) callonExternalLink298() (interface{}, error) { +func (p *parser) callonRelativeLink306() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink298() + return p.cur.onRelativeLink306() } -func (c *current) onExternalLink307() (interface{}, error) { +func (c *current) onRelativeLink315() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonExternalLink307() (interface{}, error) { +func (p *parser) callonRelativeLink315() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink307() + return p.cur.onRelativeLink315() } -func (c *current) onExternalLink303(name interface{}) (interface{}, error) { +func (c *current) onRelativeLink311(name interface{}) (interface{}, error) { log.Debug("matching escaped attribute reference") // return types.NewStringElement("{"+name.(string)+"}") @@ -81579,1835 +79347,1775 @@ func (c *current) onExternalLink303(name interface{}) (interface{}, error) { } -func (p *parser) callonExternalLink303() (interface{}, error) { +func (p *parser) callonRelativeLink311() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink303(stack["name"]) + return p.cur.onRelativeLink311(stack["name"]) } -func (c *current) onExternalLink317() (interface{}, error) { +func (c *current) onRelativeLink325() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonExternalLink317() (interface{}, error) { +func (p *parser) callonRelativeLink325() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink317() + return p.cur.onRelativeLink325() } -func (c *current) onExternalLink313(name interface{}) (interface{}, error) { +func (c *current) onRelativeLink321(name interface{}) (interface{}, error) { return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonExternalLink313() (interface{}, error) { +func (p *parser) callonRelativeLink321() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink313(stack["name"]) + return p.cur.onRelativeLink321(stack["name"]) } -func (c *current) onExternalLink323() (interface{}, error) { +func (c *current) onRelativeLink331() (interface{}, error) { return types.NewStringElement(string(c.text)) } -func (p *parser) callonExternalLink323() (interface{}, error) { +func (p *parser) callonRelativeLink331() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink323() + return p.cur.onRelativeLink331() } -func (c *current) onExternalLink284(id, label interface{}) (interface{}, error) { +func (c *current) onRelativeLink292(id, label interface{}) (interface{}, error) { return types.NewInternalCrossReference(id, label) } -func (p *parser) callonExternalLink284() (interface{}, error) { +func (p *parser) callonRelativeLink292() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink284(stack["id"], stack["label"]) + return p.cur.onRelativeLink292(stack["id"], stack["label"]) } -func (c *current) onExternalLink330() (interface{}, error) { +func (c *current) onRelativeLink338() (interface{}, error) { // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ return string(c.text), nil } -func (p *parser) callonExternalLink330() (interface{}, error) { +func (p *parser) callonRelativeLink338() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink330() + return p.cur.onRelativeLink338() } -func (c *current) onExternalLink326(id interface{}) (interface{}, error) { +func (c *current) onRelativeLink334(id interface{}) (interface{}, error) { return types.NewInternalCrossReference(id, nil) } -func (p *parser) callonExternalLink326() (interface{}, error) { +func (p *parser) callonRelativeLink334() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink326(stack["id"]) + return p.cur.onRelativeLink334(stack["id"]) } -func (c *current) onExternalLink282() (interface{}, error) { +func (c *current) onRelativeLink290() (interface{}, error) { return types.NewStringElement(string(c.text)) } -func (p *parser) callonExternalLink282() (interface{}, error) { +func (p *parser) callonRelativeLink290() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink282() + return p.cur.onRelativeLink290() } -func (c *current) onExternalLink334() (interface{}, error) { +func (c *current) onRelativeLink342() (interface{}, error) { return types.NewSpecialCharacter(string(c.text)) } -func (p *parser) callonExternalLink334() (interface{}, error) { +func (p *parser) callonRelativeLink342() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink334() + return p.cur.onRelativeLink342() } -func (c *current) onExternalLink277(element interface{}) (interface{}, error) { +func (c *current) onRelativeLink285(element interface{}) (interface{}, error) { return element, nil } -func (p *parser) callonExternalLink277() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onExternalLink277(stack["element"]) -} - -func (c *current) onExternalLink336() (interface{}, error) { - return types.NewStringElement(string(c.text)) - -} - -func (p *parser) callonExternalLink336() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onExternalLink336() -} - -func (c *current) onExternalLink188(elements interface{}) (interface{}, error) { - return types.NewInlineElements(elements.([]interface{})) - -} - -func (p *parser) callonExternalLink188() (interface{}, error) { +func (p *parser) callonRelativeLink285() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink188(stack["elements"]) + return p.cur.onRelativeLink285(stack["element"]) } -func (c *current) onExternalLink175(scheme, path interface{}) (interface{}, error) { - return types.NewLocation(scheme, path.([]interface{})) +func (c *current) onRelativeLink344() (interface{}, error) { + return types.NewStringElement(string(c.text)) } -func (p *parser) callonExternalLink175() (interface{}, error) { +func (p *parser) callonRelativeLink344() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink175(stack["scheme"], stack["path"]) + return p.cur.onRelativeLink344() } -func (c *current) onExternalLink172(url, attributes interface{}) (interface{}, error) { - return types.NewInlineLink(url.(*types.Location), attributes) +func (c *current) onRelativeLink196(elements interface{}) (interface{}, error) { + return types.NewInlineElements(elements.([]interface{})) } -func (p *parser) callonExternalLink172() (interface{}, error) { +func (p *parser) callonRelativeLink196() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink172(stack["url"], stack["attributes"]) + return p.cur.onRelativeLink196(stack["elements"]) } -func (c *current) onListElements11() (interface{}, error) { +func (c *current) onRelativeLink350() (interface{}, error) { return string(c.text), nil - } -func (p *parser) callonListElements11() (interface{}, error) { +func (p *parser) callonRelativeLink350() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements11() + return p.cur.onRelativeLink350() } -func (c *current) onListElements18() (interface{}, error) { - - // `.` is 1, etc. - return (len(c.text)), nil - +func (c *current) onRelativeLink346(ref interface{}) (interface{}, error) { + return types.NewElementPlaceHolder(ref.(string)) } -func (p *parser) callonListElements18() (interface{}, error) { +func (p *parser) callonRelativeLink346() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements18() + return p.cur.onRelativeLink346(stack["ref"]) } -func (c *current) onListElements21(depth interface{}) (bool, error) { - - // use a predicate to make sure that only `.` to `.....` are allowed - return depth.(int) <= 5, nil +func (c *current) onRelativeLink183(scheme, path interface{}) (interface{}, error) { + return types.NewLocation(scheme, path.([]interface{})) } -func (p *parser) callonListElements21() (bool, error) { +func (p *parser) callonRelativeLink183() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements21(stack["depth"]) + return p.cur.onRelativeLink183(stack["scheme"], stack["path"]) } -func (c *current) onListElements15(depth interface{}) (interface{}, error) { - switch depth.(int) { - case 1: - return types.NewOrderedListElementPrefix(types.Arabic) - case 2: - return types.NewOrderedListElementPrefix(types.LowerAlpha) - case 3: - return types.NewOrderedListElementPrefix(types.LowerRoman) - case 4: - return types.NewOrderedListElementPrefix(types.UpperAlpha) - default: - return types.NewOrderedListElementPrefix(types.UpperRoman) - } +func (c *current) onRelativeLink179(url, attributes interface{}) (interface{}, error) { + return types.NewInlineLink(url.(*types.Location), attributes.(types.Attributes)) } -func (p *parser) callonListElements15() (interface{}, error) { +func (p *parser) callonRelativeLink179() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements15(stack["depth"]) + return p.cur.onRelativeLink179(stack["url"], stack["attributes"]) } -func (c *current) onListElements22() (interface{}, error) { - // numbering style: "1.", etc. - return types.NewOrderedListElementPrefix(types.Arabic) +func (c *current) onExternalLink26() (interface{}, error) { + // not supported for now: EOL, space, "{", "[", "]". Also, punctuation chars and `<` and `>` special chars are treated separately below (but `&` is allowed) + return types.NewStringElement(string(c.text)) } -func (p *parser) callonListElements22() (interface{}, error) { +func (p *parser) callonExternalLink26() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements22() + return p.cur.onExternalLink26() } -func (c *current) onListElements27() (interface{}, error) { - // numbering style: "a.", etc. - return types.NewOrderedListElementPrefix(types.LowerAlpha) - +func (c *current) onExternalLink30() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonListElements27() (interface{}, error) { +func (p *parser) callonExternalLink30() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements27() + return p.cur.onExternalLink30() } -func (c *current) onListElements31() (interface{}, error) { - // numbering style: "A.", etc. - return types.NewOrderedListElementPrefix(types.UpperAlpha) +func (c *current) onExternalLink37() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonListElements31() (interface{}, error) { +func (p *parser) callonExternalLink37() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements31() + return p.cur.onExternalLink37() } -func (c *current) onListElements35() (interface{}, error) { - // numbering style: "i)", etc. - return types.NewOrderedListElementPrefix(types.LowerRoman) +func (c *current) onExternalLink41() (bool, error) { + return c.isSubstitutionEnabled(Attributes), nil } -func (p *parser) callonListElements35() (interface{}, error) { +func (p *parser) callonExternalLink41() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements35() + return p.cur.onExternalLink41() } -func (c *current) onListElements40() (interface{}, error) { - // numbering style: "I)", etc. - return types.NewOrderedListElementPrefix(types.UpperRoman) +func (c *current) onExternalLink48() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonListElements40() (interface{}, error) { +func (p *parser) callonExternalLink48() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements40() + return p.cur.onExternalLink48() } -func (c *current) onListElements45(prefix interface{}) (interface{}, error) { - // log.Debug("matched multiple spaces") +func (c *current) onExternalLink60() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonListElements45() (interface{}, error) { +func (p *parser) callonExternalLink60() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements45(stack["prefix"]) + return p.cur.onExternalLink60() } -func (c *current) onListElements8(prefix interface{}) (interface{}, error) { - return prefix, nil +func (c *current) onExternalLink62() (interface{}, error) { + + return strconv.Atoi(string(c.text)) + } -func (p *parser) callonListElements8() (interface{}, error) { +func (p *parser) callonExternalLink62() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements8(stack["prefix"]) + return p.cur.onExternalLink62() } -func (c *current) onListElements52() (interface{}, error) { - return types.NewRawLine(string(c.text)) +func (c *current) onExternalLink55(start interface{}) (interface{}, error) { + return start, nil } -func (p *parser) callonListElements52() (interface{}, error) { +func (p *parser) callonExternalLink55() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements52() + return p.cur.onExternalLink55(stack["start"]) } -func (c *current) onListElements56() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onExternalLink44(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) } -func (p *parser) callonListElements56() (interface{}, error) { +func (p *parser) callonExternalLink44() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements56() + return p.cur.onExternalLink44(stack["name"], stack["start"]) } -func (c *current) onListElements49(rawline interface{}) (interface{}, error) { - return types.NewParagraph(rawline) +func (c *current) onExternalLink70() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonListElements49() (interface{}, error) { +func (p *parser) callonExternalLink70() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements49(stack["rawline"]) + return p.cur.onExternalLink70() } -func (c *current) onListElements5(prefix, content interface{}) (interface{}, error) { - return types.NewOrderedListElement(prefix.(types.OrderedListElementPrefix), content) +func (c *current) onExternalLink82() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonListElements5() (interface{}, error) { +func (p *parser) callonExternalLink82() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements5(stack["prefix"], stack["content"]) + return p.cur.onExternalLink82() } -func (c *current) onListElements69() (interface{}, error) { - return string(c.text), nil +func (c *current) onExternalLink84() (interface{}, error) { + + return strconv.Atoi(string(c.text)) } -func (p *parser) callonListElements69() (interface{}, error) { +func (p *parser) callonExternalLink84() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements69() + return p.cur.onExternalLink84() } -func (c *current) onListElements76() (interface{}, error) { - - // `*` is 1, etc. - return (len(c.text)), nil +func (c *current) onExternalLink77(start interface{}) (interface{}, error) { + return start, nil } -func (p *parser) callonListElements76() (interface{}, error) { +func (p *parser) callonExternalLink77() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements76() + return p.cur.onExternalLink77(stack["start"]) } -func (c *current) onListElements79(depth interface{}) (bool, error) { - - // use a predicate to make sure that only `*` to `*****` are allowed - return depth.(int) <= 5, nil - +func (c *current) onExternalLink66(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) } -func (p *parser) callonListElements79() (bool, error) { +func (p *parser) callonExternalLink66() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements79(stack["depth"]) + return p.cur.onExternalLink66(stack["name"], stack["start"]) } -func (c *current) onListElements73(depth interface{}) (interface{}, error) { - switch depth.(int) { - case 1: - return types.NewUnorderedListElementPrefix(types.OneAsterisk) - case 2: - return types.NewUnorderedListElementPrefix(types.TwoAsterisks) - case 3: - return types.NewUnorderedListElementPrefix(types.ThreeAsterisks) - case 4: - return types.NewUnorderedListElementPrefix(types.FourAsterisks) - default: - return types.NewUnorderedListElementPrefix(types.FiveAsterisks) - } +func (c *current) onExternalLink92() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonListElements73() (interface{}, error) { +func (p *parser) callonExternalLink92() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements73(stack["depth"]) + return p.cur.onExternalLink92() } -func (c *current) onListElements81() (interface{}, error) { - return types.NewUnorderedListElementPrefix(types.Dash) +func (c *current) onExternalLink88(name interface{}) (interface{}, error) { + + log.Debug("matching escaped attribute reference") + // return types.NewStringElement("{"+name.(string)+"}") + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) } -func (p *parser) callonListElements81() (interface{}, error) { +func (p *parser) callonExternalLink88() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements81() + return p.cur.onExternalLink88(stack["name"]) } -func (c *current) onListElements83(prefix interface{}) (interface{}, error) { - // log.Debug("matched multiple spaces") +func (c *current) onExternalLink102() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonListElements83() (interface{}, error) { +func (p *parser) callonExternalLink102() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements83(stack["prefix"]) + return p.cur.onExternalLink102() } -func (c *current) onListElements66(prefix interface{}) (interface{}, error) { - return prefix, nil +func (c *current) onExternalLink98(name interface{}) (interface{}, error) { + + return types.NewAttributeSubstitution(name.(string), string(c.text)) + } -func (p *parser) callonListElements66() (interface{}, error) { +func (p *parser) callonExternalLink98() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements66(stack["prefix"]) + return p.cur.onExternalLink98(stack["name"]) } -func (c *current) onListElements94() (interface{}, error) { - return types.Unchecked, nil +func (c *current) onExternalLink39(element interface{}) (interface{}, error) { + return element, nil + } -func (p *parser) callonListElements94() (interface{}, error) { +func (p *parser) callonExternalLink39() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements94() + return p.cur.onExternalLink39(stack["element"]) } -func (c *current) onListElements96() (interface{}, error) { - return types.Checked, nil +func (c *current) onExternalLink110() (bool, error) { + return c.isSubstitutionEnabled(SpecialCharacters), nil + } -func (p *parser) callonListElements96() (interface{}, error) { +func (p *parser) callonExternalLink110() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements96() + return p.cur.onExternalLink110() } -func (c *current) onListElements98() (interface{}, error) { - return types.Checked, nil +func (c *current) onExternalLink119() (interface{}, error) { + // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ + return string(c.text), nil + } -func (p *parser) callonListElements98() (interface{}, error) { +func (p *parser) callonExternalLink119() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements98() + return p.cur.onExternalLink119() } -func (c *current) onListElements100(style interface{}) (interface{}, error) { - // log.Debug("matched multiple spaces") +func (c *current) onExternalLink123() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonListElements100() (interface{}, error) { +func (p *parser) callonExternalLink123() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements100(stack["style"]) + return p.cur.onExternalLink123() } -func (c *current) onListElements88(style interface{}) (interface{}, error) { - return style, nil +func (c *current) onExternalLink129() (interface{}, error) { + // `{`, `>` and `>` characters are not allowed as they are used for attribute substitutions and cross-references + return types.NewStringElement(string(c.text)) } -func (p *parser) callonListElements88() (interface{}, error) { +func (p *parser) callonExternalLink129() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements88(stack["style"]) + return p.cur.onExternalLink129() } -func (c *current) onListElements107() (interface{}, error) { - return types.NewRawLine(string(c.text)) +func (c *current) onExternalLink138() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonListElements107() (interface{}, error) { +func (p *parser) callonExternalLink138() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements107() + return p.cur.onExternalLink138() } -func (c *current) onListElements111() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onExternalLink134(name interface{}) (interface{}, error) { + + log.Debug("matching escaped attribute reference") + // return types.NewStringElement("{"+name.(string)+"}") + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) + } -func (p *parser) callonListElements111() (interface{}, error) { +func (p *parser) callonExternalLink134() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements111() + return p.cur.onExternalLink134(stack["name"]) } -func (c *current) onListElements104(rawline interface{}) (interface{}, error) { - return types.NewParagraph(rawline) +func (c *current) onExternalLink148() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonListElements104() (interface{}, error) { +func (p *parser) callonExternalLink148() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements104(stack["rawline"]) + return p.cur.onExternalLink148() } -func (c *current) onListElements63(prefix, checkstyle, content interface{}) (interface{}, error) { - return types.NewUnorderedListElement(prefix.(types.UnorderedListElementPrefix), checkstyle, content) +func (c *current) onExternalLink144(name interface{}) (interface{}, error) { + + return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonListElements63() (interface{}, error) { +func (p *parser) callonExternalLink144() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements63(stack["prefix"], stack["checkstyle"], stack["content"]) + return p.cur.onExternalLink144(stack["name"]) } -func (c *current) onListElements125() (interface{}, error) { - return strconv.Atoi(string(c.text)) +func (c *current) onExternalLink154() (interface{}, error) { + + return types.NewStringElement(string(c.text)) + } -func (p *parser) callonListElements125() (interface{}, error) { +func (p *parser) callonExternalLink154() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements125() + return p.cur.onExternalLink154() } -func (c *current) onListElements129(ref interface{}) (interface{}, error) { - // log.Debug("matched multiple spaces") - return string(c.text), nil +func (c *current) onExternalLink115(id, label interface{}) (interface{}, error) { + return types.NewInternalCrossReference(id, label) } -func (p *parser) callonListElements129() (interface{}, error) { +func (p *parser) callonExternalLink115() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements129(stack["ref"]) + return p.cur.onExternalLink115(stack["id"], stack["label"]) } -func (c *current) onListElements121(ref interface{}) (interface{}, error) { - return ref, nil +func (c *current) onExternalLink161() (interface{}, error) { + // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ + return string(c.text), nil } -func (p *parser) callonListElements121() (interface{}, error) { +func (p *parser) callonExternalLink161() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements121(stack["ref"]) + return p.cur.onExternalLink161() } -func (c *current) onListElements136() (interface{}, error) { - return string(c.text), nil +func (c *current) onExternalLink157(id interface{}) (interface{}, error) { + return types.NewInternalCrossReference(id, nil) } -func (p *parser) callonListElements136() (interface{}, error) { +func (p *parser) callonExternalLink157() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements136() + return p.cur.onExternalLink157(stack["id"]) } -func (c *current) onListElements140() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onExternalLink113() (interface{}, error) { + return types.NewStringElement(string(c.text)) + } -func (p *parser) callonListElements140() (interface{}, error) { +func (p *parser) callonExternalLink113() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements140() + return p.cur.onExternalLink113() } -func (c *current) onListElements133(rawline interface{}) (interface{}, error) { - return types.NewRawLine(rawline.(string)) +func (c *current) onExternalLink165() (interface{}, error) { + return types.NewSpecialCharacter(string(c.text)) } -func (p *parser) callonListElements133() (interface{}, error) { +func (p *parser) callonExternalLink165() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements133(stack["rawline"]) + return p.cur.onExternalLink165() } -func (c *current) onListElements118(ref, description interface{}) (interface{}, error) { - return types.NewCalloutListElement(ref.(int), description.(types.RawLine)) +func (c *current) onExternalLink108(element interface{}) (interface{}, error) { + return element, nil } -func (p *parser) callonListElements118() (interface{}, error) { +func (p *parser) callonExternalLink108() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements118(stack["ref"], stack["description"]) + return p.cur.onExternalLink108(stack["element"]) } -func (c *current) onListElements157() (interface{}, error) { - - return string(c.text), nil +func (c *current) onExternalLink167() (interface{}, error) { + return types.NewStringElement(string(c.text)) } -func (p *parser) callonListElements157() (interface{}, error) { +func (p *parser) callonExternalLink167() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements157() + return p.cur.onExternalLink167() } -func (c *current) onListElements160(separator interface{}) (bool, error) { - - // use a predicate to make sure that separator is `::`, `:::` or `::::` - return len(separator.(string)) >= 2 && len(separator.(string)) <= 4, nil +func (c *current) onExternalLink19(elements interface{}) (interface{}, error) { + return types.NewInlineElements(elements.([]interface{})) } -func (p *parser) callonListElements160() (bool, error) { +func (p *parser) callonExternalLink19() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements160(stack["separator"]) + return p.cur.onExternalLink19(stack["elements"]) } -func (c *current) onListElements154(separator interface{}) (interface{}, error) { - return separator, nil +func (c *current) onExternalLink6(scheme, path interface{}) (interface{}, error) { + return types.NewLocation(scheme, path.([]interface{})) } -func (p *parser) callonListElements154() (interface{}, error) { +func (p *parser) callonExternalLink6() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements154(stack["separator"]) + return p.cur.onExternalLink6(stack["scheme"], stack["path"]) } -func (c *current) onListElements163() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onExternalLink2(url, attributes interface{}) (interface{}, error) { + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) + } -func (p *parser) callonListElements163() (interface{}, error) { +func (p *parser) callonExternalLink2() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements163() + return p.cur.onExternalLink2(stack["url"], stack["attributes"]) } -func (c *current) onListElements150() (interface{}, error) { - return types.NewRawLine(strings.TrimSpace(string(c.text))) +func (c *current) onExternalLink195() (interface{}, error) { + // not supported for now: EOL, space, "{", "[", "]". Also, punctuation chars and `<` and `>` special chars are treated separately below (but `&` is allowed) + return types.NewStringElement(string(c.text)) } -func (p *parser) callonListElements150() (interface{}, error) { +func (p *parser) callonExternalLink195() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements150() + return p.cur.onExternalLink195() } -func (c *current) onListElements175() (interface{}, error) { - +func (c *current) onExternalLink199() (interface{}, error) { return string(c.text), nil - } -func (p *parser) callonListElements175() (interface{}, error) { +func (p *parser) callonExternalLink199() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements175() + return p.cur.onExternalLink199() } -func (c *current) onListElements178(separator interface{}) (bool, error) { - - // use a predicate to make sure that separator is `::`, `:::` or `::::` - return len(separator.(string)) >= 2 && len(separator.(string)) <= 4, nil +func (c *current) onExternalLink206() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonListElements178() (bool, error) { +func (p *parser) callonExternalLink206() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements178(stack["separator"]) + return p.cur.onExternalLink206() } -func (c *current) onListElements172(separator interface{}) (interface{}, error) { - return separator, nil +func (c *current) onExternalLink210() (bool, error) { + return c.isSubstitutionEnabled(Attributes), nil } -func (p *parser) callonListElements172() (interface{}, error) { +func (p *parser) callonExternalLink210() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements172(stack["separator"]) + return p.cur.onExternalLink210() } -func (c *current) onListElements184() (interface{}, error) { +func (c *current) onExternalLink217() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonListElements184() (interface{}, error) { +func (p *parser) callonExternalLink217() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements184() + return p.cur.onExternalLink217() } -func (c *current) onListElements187() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onExternalLink229() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonListElements187() (interface{}, error) { +func (p *parser) callonExternalLink229() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements187() + return p.cur.onExternalLink229() } -func (c *current) onListElements201() (interface{}, error) { - return string(c.text), nil +func (c *current) onExternalLink231() (interface{}, error) { + + return strconv.Atoi(string(c.text)) } -func (p *parser) callonListElements201() (interface{}, error) { +func (p *parser) callonExternalLink231() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements201() + return p.cur.onExternalLink231() } -func (c *current) onListElements204() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onExternalLink224(start interface{}) (interface{}, error) { + return start, nil + } -func (p *parser) callonListElements204() (interface{}, error) { +func (p *parser) callonExternalLink224() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements204() + return p.cur.onExternalLink224(stack["start"]) } -func (c *current) onListElements195() (interface{}, error) { - return types.NewBlankLine() - +func (c *current) onExternalLink213(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) } -func (p *parser) callonListElements195() (interface{}, error) { +func (p *parser) callonExternalLink213() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements195() + return p.cur.onExternalLink213(stack["name"], stack["start"]) } -func (c *current) onListElements221() (interface{}, error) { +func (c *current) onExternalLink239() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonListElements221() (interface{}, error) { +func (p *parser) callonExternalLink239() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements221() + return p.cur.onExternalLink239() } -func (c *current) onListElements225() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onExternalLink251() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonListElements225() (interface{}, error) { +func (p *parser) callonExternalLink251() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements225() + return p.cur.onExternalLink251() } -func (c *current) onListElements215(content interface{}) (interface{}, error) { - return types.NewSingleLineComment(content.(string)) +func (c *current) onExternalLink253() (interface{}, error) { + + return strconv.Atoi(string(c.text)) } -func (p *parser) callonListElements215() (interface{}, error) { +func (p *parser) callonExternalLink253() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements215(stack["content"]) + return p.cur.onExternalLink253() } -func (c *current) onListElements214(content interface{}) (interface{}, error) { - return nil, nil // taking a shortcut to ignore commented out content and avoid having empty paragraphs +func (c *current) onExternalLink246(start interface{}) (interface{}, error) { + return start, nil } -func (p *parser) callonListElements214() (interface{}, error) { +func (p *parser) callonExternalLink246() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements214(stack["content"]) + return p.cur.onExternalLink246(stack["start"]) } -func (c *current) onListElements241() (interface{}, error) { - return string(c.text), nil - +func (c *current) onExternalLink235(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) } -func (p *parser) callonListElements241() (interface{}, error) { +func (p *parser) callonExternalLink235() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements241() + return p.cur.onExternalLink235(stack["name"], stack["start"]) } -func (c *current) onListElements244() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onExternalLink261() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonListElements244() (interface{}, error) { +func (p *parser) callonExternalLink261() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements244() + return p.cur.onExternalLink261() } -func (c *current) onListElements235() (interface{}, error) { - return types.NewBlankLine() +func (c *current) onExternalLink257(name interface{}) (interface{}, error) { + + log.Debug("matching escaped attribute reference") + // return types.NewStringElement("{"+name.(string)+"}") + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) } -func (p *parser) callonListElements235() (interface{}, error) { +func (p *parser) callonExternalLink257() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements235() + return p.cur.onExternalLink257(stack["name"]) } -func (c *current) onListElements255() (interface{}, error) { +func (c *current) onExternalLink271() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonListElements255() (interface{}, error) { +func (p *parser) callonExternalLink271() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements255() + return p.cur.onExternalLink271() } -func (c *current) onListElements257() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onExternalLink267(name interface{}) (interface{}, error) { + + return types.NewAttributeSubstitution(name.(string), string(c.text)) + } -func (p *parser) callonListElements257() (interface{}, error) { +func (p *parser) callonExternalLink267() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements257() + return p.cur.onExternalLink267(stack["name"]) } -func (c *current) onListElements266() (interface{}, error) { - return string(c.text), nil +func (c *current) onExternalLink208(element interface{}) (interface{}, error) { + return element, nil } -func (p *parser) callonListElements266() (interface{}, error) { +func (p *parser) callonExternalLink208() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements266() + return p.cur.onExternalLink208(stack["element"]) } -func (c *current) onListElements273() (interface{}, error) { - - // `.` is 1, etc. - return (len(c.text)), nil +func (c *current) onExternalLink279() (bool, error) { + return c.isSubstitutionEnabled(SpecialCharacters), nil } -func (p *parser) callonListElements273() (interface{}, error) { +func (p *parser) callonExternalLink279() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements273() + return p.cur.onExternalLink279() } -func (c *current) onListElements276(depth interface{}) (bool, error) { - - // use a predicate to make sure that only `.` to `.....` are allowed - return depth.(int) <= 5, nil +func (c *current) onExternalLink288() (interface{}, error) { + // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ + return string(c.text), nil } -func (p *parser) callonListElements276() (bool, error) { +func (p *parser) callonExternalLink288() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements276(stack["depth"]) + return p.cur.onExternalLink288() } -func (c *current) onListElements270(depth interface{}) (interface{}, error) { - switch depth.(int) { - case 1: - return types.NewOrderedListElementPrefix(types.Arabic) - case 2: - return types.NewOrderedListElementPrefix(types.LowerAlpha) - case 3: - return types.NewOrderedListElementPrefix(types.LowerRoman) - case 4: - return types.NewOrderedListElementPrefix(types.UpperAlpha) - default: - return types.NewOrderedListElementPrefix(types.UpperRoman) - } +func (c *current) onExternalLink292() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonListElements270() (interface{}, error) { +func (p *parser) callonExternalLink292() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements270(stack["depth"]) + return p.cur.onExternalLink292() } -func (c *current) onListElements277() (interface{}, error) { - // numbering style: "1.", etc. - return types.NewOrderedListElementPrefix(types.Arabic) +func (c *current) onExternalLink298() (interface{}, error) { + // `{`, `>` and `>` characters are not allowed as they are used for attribute substitutions and cross-references + return types.NewStringElement(string(c.text)) } -func (p *parser) callonListElements277() (interface{}, error) { +func (p *parser) callonExternalLink298() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements277() + return p.cur.onExternalLink298() } -func (c *current) onListElements282() (interface{}, error) { - // numbering style: "a.", etc. - return types.NewOrderedListElementPrefix(types.LowerAlpha) +func (c *current) onExternalLink307() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonListElements282() (interface{}, error) { +func (p *parser) callonExternalLink307() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements282() + return p.cur.onExternalLink307() } -func (c *current) onListElements286() (interface{}, error) { - // numbering style: "A.", etc. - return types.NewOrderedListElementPrefix(types.UpperAlpha) +func (c *current) onExternalLink303(name interface{}) (interface{}, error) { + + log.Debug("matching escaped attribute reference") + // return types.NewStringElement("{"+name.(string)+"}") + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) } -func (p *parser) callonListElements286() (interface{}, error) { +func (p *parser) callonExternalLink303() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements286() + return p.cur.onExternalLink303(stack["name"]) } -func (c *current) onListElements290() (interface{}, error) { - // numbering style: "i)", etc. - return types.NewOrderedListElementPrefix(types.LowerRoman) +func (c *current) onExternalLink317() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonListElements290() (interface{}, error) { +func (p *parser) callonExternalLink317() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements290() + return p.cur.onExternalLink317() } -func (c *current) onListElements295() (interface{}, error) { - // numbering style: "I)", etc. - return types.NewOrderedListElementPrefix(types.UpperRoman) +func (c *current) onExternalLink313(name interface{}) (interface{}, error) { + + return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonListElements295() (interface{}, error) { +func (p *parser) callonExternalLink313() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements295() + return p.cur.onExternalLink313(stack["name"]) } -func (c *current) onListElements300(prefix interface{}) (interface{}, error) { - // log.Debug("matched multiple spaces") - return string(c.text), nil +func (c *current) onExternalLink323() (interface{}, error) { + + return types.NewStringElement(string(c.text)) } -func (p *parser) callonListElements300() (interface{}, error) { +func (p *parser) callonExternalLink323() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements300(stack["prefix"]) + return p.cur.onExternalLink323() } -func (c *current) onListElements263(prefix interface{}) (interface{}, error) { - return prefix, nil +func (c *current) onExternalLink284(id, label interface{}) (interface{}, error) { + return types.NewInternalCrossReference(id, label) + } -func (p *parser) callonListElements263() (interface{}, error) { +func (p *parser) callonExternalLink284() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements263(stack["prefix"]) + return p.cur.onExternalLink284(stack["id"], stack["label"]) } -func (c *current) onListElements307() (interface{}, error) { +func (c *current) onExternalLink330() (interface{}, error) { + // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ return string(c.text), nil } -func (p *parser) callonListElements307() (interface{}, error) { +func (p *parser) callonExternalLink330() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements307() + return p.cur.onExternalLink330() } -func (c *current) onListElements314() (interface{}, error) { - - // `*` is 1, etc. - return (len(c.text)), nil +func (c *current) onExternalLink326(id interface{}) (interface{}, error) { + return types.NewInternalCrossReference(id, nil) } -func (p *parser) callonListElements314() (interface{}, error) { +func (p *parser) callonExternalLink326() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements314() + return p.cur.onExternalLink326(stack["id"]) } -func (c *current) onListElements317(depth interface{}) (bool, error) { - - // use a predicate to make sure that only `*` to `*****` are allowed - return depth.(int) <= 5, nil +func (c *current) onExternalLink282() (interface{}, error) { + return types.NewStringElement(string(c.text)) } -func (p *parser) callonListElements317() (bool, error) { +func (p *parser) callonExternalLink282() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements317(stack["depth"]) + return p.cur.onExternalLink282() } -func (c *current) onListElements311(depth interface{}) (interface{}, error) { - switch depth.(int) { - case 1: - return types.NewUnorderedListElementPrefix(types.OneAsterisk) - case 2: - return types.NewUnorderedListElementPrefix(types.TwoAsterisks) - case 3: - return types.NewUnorderedListElementPrefix(types.ThreeAsterisks) - case 4: - return types.NewUnorderedListElementPrefix(types.FourAsterisks) - default: - return types.NewUnorderedListElementPrefix(types.FiveAsterisks) - } +func (c *current) onExternalLink334() (interface{}, error) { + return types.NewSpecialCharacter(string(c.text)) } -func (p *parser) callonListElements311() (interface{}, error) { +func (p *parser) callonExternalLink334() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements311(stack["depth"]) + return p.cur.onExternalLink334() } -func (c *current) onListElements319() (interface{}, error) { - return types.NewUnorderedListElementPrefix(types.Dash) +func (c *current) onExternalLink277(element interface{}) (interface{}, error) { + return element, nil } -func (p *parser) callonListElements319() (interface{}, error) { +func (p *parser) callonExternalLink277() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements319() + return p.cur.onExternalLink277(stack["element"]) } -func (c *current) onListElements321(prefix interface{}) (interface{}, error) { - // log.Debug("matched multiple spaces") - return string(c.text), nil +func (c *current) onExternalLink336() (interface{}, error) { + return types.NewStringElement(string(c.text)) } -func (p *parser) callonListElements321() (interface{}, error) { +func (p *parser) callonExternalLink336() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements321(stack["prefix"]) + return p.cur.onExternalLink336() } -func (c *current) onListElements304(prefix interface{}) (interface{}, error) { - return prefix, nil +func (c *current) onExternalLink188(elements interface{}) (interface{}, error) { + return types.NewInlineElements(elements.([]interface{})) + } -func (p *parser) callonListElements304() (interface{}, error) { +func (p *parser) callonExternalLink188() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements304(stack["prefix"]) + return p.cur.onExternalLink188(stack["elements"]) } -func (c *current) onListElements329() (interface{}, error) { - return strconv.Atoi(string(c.text)) +func (c *current) onExternalLink175(scheme, path interface{}) (interface{}, error) { + return types.NewLocation(scheme, path.([]interface{})) + } -func (p *parser) callonListElements329() (interface{}, error) { +func (p *parser) callonExternalLink175() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements329() + return p.cur.onExternalLink175(stack["scheme"], stack["path"]) } -func (c *current) onListElements333(ref interface{}) (interface{}, error) { - // log.Debug("matched multiple spaces") - return string(c.text), nil +func (c *current) onExternalLink172(url, attributes interface{}) (interface{}, error) { + return types.NewInlineLink(url.(*types.Location), attributes) } -func (p *parser) callonListElements333() (interface{}, error) { +func (p *parser) callonExternalLink172() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements333(stack["ref"]) + return p.cur.onExternalLink172(stack["url"], stack["attributes"]) } -func (c *current) onListElements325(ref interface{}) (interface{}, error) { - return ref, nil +func (c *current) onListElements11() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonListElements325() (interface{}, error) { +func (p *parser) callonListElements11() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements325(stack["ref"]) + return p.cur.onListElements11() } -func (c *current) onListElements345() (interface{}, error) { +func (c *current) onListElements18() (interface{}, error) { - return string(c.text), nil + // `.` is 1, etc. + return (len(c.text)), nil } -func (p *parser) callonListElements345() (interface{}, error) { +func (p *parser) callonListElements18() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements345() + return p.cur.onListElements18() } -func (c *current) onListElements348(separator interface{}) (bool, error) { +func (c *current) onListElements21(depth interface{}) (bool, error) { - // use a predicate to make sure that separator is `::`, `:::` or `::::` - return len(separator.(string)) >= 2 && len(separator.(string)) <= 4, nil + // use a predicate to make sure that only `.` to `.....` are allowed + return depth.(int) <= 5, nil } -func (p *parser) callonListElements348() (bool, error) { +func (p *parser) callonListElements21() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements348(stack["separator"]) + return p.cur.onListElements21(stack["depth"]) } -func (c *current) onListElements342(separator interface{}) (interface{}, error) { - return separator, nil +func (c *current) onListElements15(depth interface{}) (interface{}, error) { + switch depth.(int) { + case 1: + return types.NewOrderedListElementPrefix(types.Arabic) + case 2: + return types.NewOrderedListElementPrefix(types.LowerAlpha) + case 3: + return types.NewOrderedListElementPrefix(types.LowerRoman) + case 4: + return types.NewOrderedListElementPrefix(types.UpperAlpha) + default: + return types.NewOrderedListElementPrefix(types.UpperRoman) + } } -func (p *parser) callonListElements342() (interface{}, error) { +func (p *parser) callonListElements15() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements342(stack["separator"]) + return p.cur.onListElements15(stack["depth"]) } -func (c *current) onListElements351() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onListElements22() (interface{}, error) { + // numbering style: "1.", etc. + return types.NewOrderedListElementPrefix(types.Arabic) + } -func (p *parser) callonListElements351() (interface{}, error) { +func (p *parser) callonListElements22() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements351() + return p.cur.onListElements22() } -func (c *current) onListElements338() (interface{}, error) { - return types.NewRawLine(strings.TrimSpace(string(c.text))) +func (c *current) onListElements27() (interface{}, error) { + // numbering style: "a.", etc. + return types.NewOrderedListElementPrefix(types.LowerAlpha) } -func (p *parser) callonListElements338() (interface{}, error) { +func (p *parser) callonListElements27() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements338() + return p.cur.onListElements27() } -func (c *current) onListElements362() (interface{}, error) { - - return string(c.text), nil +func (c *current) onListElements31() (interface{}, error) { + // numbering style: "A.", etc. + return types.NewOrderedListElementPrefix(types.UpperAlpha) } -func (p *parser) callonListElements362() (interface{}, error) { +func (p *parser) callonListElements31() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements362() + return p.cur.onListElements31() } -func (c *current) onListElements365(separator interface{}) (bool, error) { - - // use a predicate to make sure that separator is `::`, `:::` or `::::` - return len(separator.(string)) >= 2 && len(separator.(string)) <= 4, nil +func (c *current) onListElements35() (interface{}, error) { + // numbering style: "i)", etc. + return types.NewOrderedListElementPrefix(types.LowerRoman) } -func (p *parser) callonListElements365() (bool, error) { +func (p *parser) callonListElements35() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements365(stack["separator"]) + return p.cur.onListElements35() } -func (c *current) onListElements359(separator interface{}) (interface{}, error) { - return separator, nil +func (c *current) onListElements40() (interface{}, error) { + // numbering style: "I)", etc. + return types.NewOrderedListElementPrefix(types.UpperRoman) } -func (p *parser) callonListElements359() (interface{}, error) { +func (p *parser) callonListElements40() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements359(stack["separator"]) + return p.cur.onListElements40() } -func (c *current) onListElements376() (interface{}, error) { - // sequence of 4 "/" chars or more +func (c *current) onListElements45(prefix interface{}) (interface{}, error) { + // log.Debug("matched multiple spaces") return string(c.text), nil } -func (p *parser) callonListElements376() (interface{}, error) { +func (p *parser) callonListElements45() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements376() + return p.cur.onListElements45(stack["prefix"]) } -func (c *current) onListElements382() (interface{}, error) { - return string(c.text), nil - +func (c *current) onListElements8(prefix interface{}) (interface{}, error) { + return prefix, nil } -func (p *parser) callonListElements382() (interface{}, error) { +func (p *parser) callonListElements8() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements382() + return p.cur.onListElements8(stack["prefix"]) } -func (c *current) onListElements385() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onListElements52() (interface{}, error) { + return types.NewRawLine(string(c.text)) + } -func (p *parser) callonListElements385() (interface{}, error) { +func (p *parser) callonListElements52() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements385() + return p.cur.onListElements52() } -func (c *current) onListElements373(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Comment, len(delimiter.(string)), string(c.text)) - +func (c *current) onListElements56() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonListElements373() (interface{}, error) { +func (p *parser) callonListElements56() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements373(stack["delimiter"]) + return p.cur.onListElements56() } -func (c *current) onListElements395() (interface{}, error) { - // sequence of 4 "=" chars or more - return string(c.text), nil +func (c *current) onListElements49(rawline interface{}) (interface{}, error) { + return types.NewParagraph(rawline) } -func (p *parser) callonListElements395() (interface{}, error) { +func (p *parser) callonListElements49() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements395() + return p.cur.onListElements49(stack["rawline"]) } -func (c *current) onListElements401() (interface{}, error) { - return string(c.text), nil +func (c *current) onListElements5(prefix, content interface{}) (interface{}, error) { + return types.NewOrderedListElement(prefix.(types.OrderedListElementPrefix), content) } -func (p *parser) callonListElements401() (interface{}, error) { +func (p *parser) callonListElements5() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements401() + return p.cur.onListElements5(stack["prefix"], stack["content"]) } -func (c *current) onListElements404() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onListElements69() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonListElements404() (interface{}, error) { +func (p *parser) callonListElements69() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements404() + return p.cur.onListElements69() } -func (c *current) onListElements392(delimiter interface{}) (interface{}, error) { +func (c *current) onListElements76() (interface{}, error) { - return types.NewBlockDelimiter(types.Example, len(delimiter.(string)), string(c.text)) + // `*` is 1, etc. + return (len(c.text)), nil } -func (p *parser) callonListElements392() (interface{}, error) { +func (p *parser) callonListElements76() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements392(stack["delimiter"]) + return p.cur.onListElements76() } -func (c *current) onListElements415() (interface{}, error) { - // exclude ` to avoid matching fenced blocks with more than 3 "`" delimter chars - return string(c.text), nil +func (c *current) onListElements79(depth interface{}) (bool, error) { + + // use a predicate to make sure that only `*` to `*****` are allowed + return depth.(int) <= 5, nil + } -func (p *parser) callonListElements415() (interface{}, error) { +func (p *parser) callonListElements79() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements415() + return p.cur.onListElements79(stack["depth"]) } -func (c *current) onListElements419() (interface{}, error) { - return string(c.text), nil +func (c *current) onListElements73(depth interface{}) (interface{}, error) { + switch depth.(int) { + case 1: + return types.NewUnorderedListElementPrefix(types.OneAsterisk) + case 2: + return types.NewUnorderedListElementPrefix(types.TwoAsterisks) + case 3: + return types.NewUnorderedListElementPrefix(types.ThreeAsterisks) + case 4: + return types.NewUnorderedListElementPrefix(types.FourAsterisks) + default: + return types.NewUnorderedListElementPrefix(types.FiveAsterisks) + } } -func (p *parser) callonListElements419() (interface{}, error) { +func (p *parser) callonListElements73() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements419() + return p.cur.onListElements73(stack["depth"]) } -func (c *current) onListElements422() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onListElements81() (interface{}, error) { + return types.NewUnorderedListElementPrefix(types.Dash) + } -func (p *parser) callonListElements422() (interface{}, error) { +func (p *parser) callonListElements81() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements422() + return p.cur.onListElements81() } -func (c *current) onListElements411(language interface{}) (interface{}, error) { - return types.NewMarkdownCodeBlockDelimiter(language.(string), string(c.text)) +func (c *current) onListElements83(prefix interface{}) (interface{}, error) { + // log.Debug("matched multiple spaces") + return string(c.text), nil + } -func (p *parser) callonListElements411() (interface{}, error) { +func (p *parser) callonListElements83() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements411(stack["language"]) + return p.cur.onListElements83(stack["prefix"]) } -func (c *current) onListElements432() (interface{}, error) { - // sequence of 3 "`" chars or more - return string(c.text), nil - +func (c *current) onListElements66(prefix interface{}) (interface{}, error) { + return prefix, nil } -func (p *parser) callonListElements432() (interface{}, error) { +func (p *parser) callonListElements66() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements432() + return p.cur.onListElements66(stack["prefix"]) } -func (c *current) onListElements438() (interface{}, error) { - return string(c.text), nil - +func (c *current) onListElements94() (interface{}, error) { + return types.Unchecked, nil } -func (p *parser) callonListElements438() (interface{}, error) { +func (p *parser) callonListElements94() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements438() + return p.cur.onListElements94() } -func (c *current) onListElements441() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onListElements96() (interface{}, error) { + return types.Checked, nil } -func (p *parser) callonListElements441() (interface{}, error) { +func (p *parser) callonListElements96() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements441() + return p.cur.onListElements96() } -func (c *current) onListElements429(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Fenced, len(delimiter.(string)), string(c.text)) - +func (c *current) onListElements98() (interface{}, error) { + return types.Checked, nil } -func (p *parser) callonListElements429() (interface{}, error) { +func (p *parser) callonListElements98() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements429(stack["delimiter"]) + return p.cur.onListElements98() } -func (c *current) onListElements451() (interface{}, error) { - // sequence of 4 "-" chars or more +func (c *current) onListElements100(style interface{}) (interface{}, error) { + // log.Debug("matched multiple spaces") return string(c.text), nil } -func (p *parser) callonListElements451() (interface{}, error) { +func (p *parser) callonListElements100() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements451() + return p.cur.onListElements100(stack["style"]) } -func (c *current) onListElements457() (interface{}, error) { - return string(c.text), nil +func (c *current) onListElements88(style interface{}) (interface{}, error) { + return style, nil } -func (p *parser) callonListElements457() (interface{}, error) { +func (p *parser) callonListElements88() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements457() + return p.cur.onListElements88(stack["style"]) } -func (c *current) onListElements460() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onListElements107() (interface{}, error) { + return types.NewRawLine(string(c.text)) + } -func (p *parser) callonListElements460() (interface{}, error) { +func (p *parser) callonListElements107() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements460() + return p.cur.onListElements107() } -func (c *current) onListElements448(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Listing, len(delimiter.(string)), string(c.text)) - +func (c *current) onListElements111() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonListElements448() (interface{}, error) { +func (p *parser) callonListElements111() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements448(stack["delimiter"]) + return p.cur.onListElements111() } -func (c *current) onListElements470() (interface{}, error) { - // sequence of 4 "." chars or more - return string(c.text), nil +func (c *current) onListElements104(rawline interface{}) (interface{}, error) { + return types.NewParagraph(rawline) } -func (p *parser) callonListElements470() (interface{}, error) { +func (p *parser) callonListElements104() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements470() + return p.cur.onListElements104(stack["rawline"]) } -func (c *current) onListElements476() (interface{}, error) { - return string(c.text), nil +func (c *current) onListElements63(prefix, checkstyle, content interface{}) (interface{}, error) { + return types.NewUnorderedListElement(prefix.(types.UnorderedListElementPrefix), checkstyle, content) } -func (p *parser) callonListElements476() (interface{}, error) { +func (p *parser) callonListElements63() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements476() + return p.cur.onListElements63(stack["prefix"], stack["checkstyle"], stack["content"]) } -func (c *current) onListElements479() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onListElements125() (interface{}, error) { + return strconv.Atoi(string(c.text)) } -func (p *parser) callonListElements479() (interface{}, error) { +func (p *parser) callonListElements125() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements479() + return p.cur.onListElements125() } -func (c *current) onListElements467(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Listing, len(delimiter.(string)), string(c.text)) +func (c *current) onListElements129(ref interface{}) (interface{}, error) { + // log.Debug("matched multiple spaces") + return string(c.text), nil } -func (p *parser) callonListElements467() (interface{}, error) { +func (p *parser) callonListElements129() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements467(stack["delimiter"]) + return p.cur.onListElements129(stack["ref"]) } -func (c *current) onListElements489() (interface{}, error) { - // sequence of 4 "+" chars or more - return string(c.text), nil +func (c *current) onListElements121(ref interface{}) (interface{}, error) { + return ref, nil } -func (p *parser) callonListElements489() (interface{}, error) { +func (p *parser) callonListElements121() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements489() + return p.cur.onListElements121(stack["ref"]) } -func (c *current) onListElements495() (interface{}, error) { +func (c *current) onListElements136() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonListElements495() (interface{}, error) { +func (p *parser) callonListElements136() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements495() + return p.cur.onListElements136() } -func (c *current) onListElements498() (interface{}, error) { +func (c *current) onListElements140() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonListElements498() (interface{}, error) { +func (p *parser) callonListElements140() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements498() + return p.cur.onListElements140() } -func (c *current) onListElements486(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Passthrough, len(delimiter.(string)), string(c.text)) +func (c *current) onListElements133(rawline interface{}) (interface{}, error) { + return types.NewRawLine(rawline.(string)) } -func (p *parser) callonListElements486() (interface{}, error) { +func (p *parser) callonListElements133() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements486(stack["delimiter"]) + return p.cur.onListElements133(stack["rawline"]) } -func (c *current) onListElements508() (interface{}, error) { - // sequence of 4 "_" chars or more - return string(c.text), nil +func (c *current) onListElements118(ref, description interface{}) (interface{}, error) { + return types.NewCalloutListElement(ref.(int), description.(types.RawLine)) } -func (p *parser) callonListElements508() (interface{}, error) { +func (p *parser) callonListElements118() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements508() + return p.cur.onListElements118(stack["ref"], stack["description"]) } -func (c *current) onListElements514() (interface{}, error) { +func (c *current) onListElements157() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonListElements514() (interface{}, error) { +func (p *parser) callonListElements157() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements514() + return p.cur.onListElements157() } -func (c *current) onListElements517() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onListElements160(separator interface{}) (bool, error) { + + // use a predicate to make sure that separator is `::`, `:::` or `::::` + return len(separator.(string)) >= 2 && len(separator.(string)) <= 4, nil + } -func (p *parser) callonListElements517() (interface{}, error) { +func (p *parser) callonListElements160() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements517() + return p.cur.onListElements160(stack["separator"]) } -func (c *current) onListElements505(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Quote, len(delimiter.(string)), string(c.text)) +func (c *current) onListElements154(separator interface{}) (interface{}, error) { + return separator, nil } -func (p *parser) callonListElements505() (interface{}, error) { +func (p *parser) callonListElements154() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements505(stack["delimiter"]) + return p.cur.onListElements154(stack["separator"]) } -func (c *current) onListElements527() (interface{}, error) { - // sequence of 4 "*" chars or more +func (c *current) onListElements163() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonListElements527() (interface{}, error) { +func (p *parser) callonListElements163() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements527() + return p.cur.onListElements163() } -func (c *current) onListElements533() (interface{}, error) { - return string(c.text), nil +func (c *current) onListElements150() (interface{}, error) { + return types.NewRawLine(strings.TrimSpace(string(c.text))) } -func (p *parser) callonListElements533() (interface{}, error) { +func (p *parser) callonListElements150() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements533() + return p.cur.onListElements150() } -func (c *current) onListElements536() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onListElements175() (interface{}, error) { + return string(c.text), nil + } -func (p *parser) callonListElements536() (interface{}, error) { +func (p *parser) callonListElements175() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements536() + return p.cur.onListElements175() } -func (c *current) onListElements524(delimiter interface{}) (interface{}, error) { +func (c *current) onListElements178(separator interface{}) (bool, error) { - return types.NewBlockDelimiter(types.Sidebar, len(delimiter.(string)), string(c.text)) + // use a predicate to make sure that separator is `::`, `:::` or `::::` + return len(separator.(string)) >= 2 && len(separator.(string)) <= 4, nil } -func (p *parser) callonListElements524() (interface{}, error) { +func (p *parser) callonListElements178() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements524(stack["delimiter"]) + return p.cur.onListElements178(stack["separator"]) } -func (c *current) onListElements367(delimiter interface{}) (interface{}, error) { - return delimiter, nil +func (c *current) onListElements172(separator interface{}) (interface{}, error) { + return separator, nil } -func (p *parser) callonListElements367() (interface{}, error) { +func (p *parser) callonListElements172() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements367(stack["delimiter"]) + return p.cur.onListElements172(stack["separator"]) } -func (c *current) onListElements544() (interface{}, error) { - return strings.TrimSpace(string(c.text)), nil +func (c *current) onListElements184() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonListElements544() (interface{}, error) { +func (p *parser) callonListElements184() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements544() + return p.cur.onListElements184() } -func (c *current) onListElements548() (interface{}, error) { +func (c *current) onListElements187() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonListElements548() (interface{}, error) { +func (p *parser) callonListElements187() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements548() + return p.cur.onListElements187() } -func (c *current) onListElements232(content interface{}) (interface{}, error) { - // do not retain the EOL chars - return types.NewRawLine(content.(string)) +func (c *current) onListElements201() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonListElements232() (interface{}, error) { +func (p *parser) callonListElements201() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements232(stack["content"]) + return p.cur.onListElements201() } -func (c *current) onListElements181(content interface{}) (interface{}, error) { - if content == nil { - return nil, nil - } - return types.NewParagraph(content) - +func (c *current) onListElements204() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonListElements181() (interface{}, error) { +func (p *parser) callonListElements204() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements181(stack["content"]) + return p.cur.onListElements204() } -func (c *current) onListElements557() (interface{}, error) { - // log.Debug("matched multiple spaces") - return string(c.text), nil +func (c *current) onListElements195() (interface{}, error) { + return types.NewBlankLine() } -func (p *parser) callonListElements557() (interface{}, error) { +func (p *parser) callonListElements195() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements557() + return p.cur.onListElements195() } -func (c *current) onListElements561() (interface{}, error) { - return types.NewRawLine(string(c.text)) +func (c *current) onListElements221() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonListElements561() (interface{}, error) { +func (p *parser) callonListElements221() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements561() + return p.cur.onListElements221() } -func (c *current) onListElements565() (interface{}, error) { +func (c *current) onListElements225() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonListElements565() (interface{}, error) { +func (p *parser) callonListElements225() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements565() + return p.cur.onListElements225() } -func (c *current) onListElements555(content interface{}) (interface{}, error) { - return types.NewParagraph(content) +func (c *current) onListElements215(content interface{}) (interface{}, error) { + return types.NewSingleLineComment(content.(string)) } -func (p *parser) callonListElements555() (interface{}, error) { +func (p *parser) callonListElements215() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements555(stack["content"]) + return p.cur.onListElements215(stack["content"]) } -func (c *current) onListElements147(term, separator, description interface{}) (interface{}, error) { - return types.NewLabeledListElement(len(separator.(string))-1, term, description) +func (c *current) onListElements214(content interface{}) (interface{}, error) { + return nil, nil // taking a shortcut to ignore commented out content and avoid having empty paragraphs } -func (p *parser) callonListElements147() (interface{}, error) { +func (p *parser) callonListElements214() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements147(stack["term"], stack["separator"], stack["description"]) + return p.cur.onListElements214(stack["content"]) } -func (c *current) onListElements1(firstElement, extraElements interface{}) (interface{}, error) { - return types.NewListElements(append([]interface{}{firstElement}, extraElements.([]interface{})...)) +func (c *current) onListElements241() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonListElements1() (interface{}, error) { +func (p *parser) callonListElements241() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements1(stack["firstElement"], stack["extraElements"]) + return p.cur.onListElements241() } -func (c *current) onExtraListElements1(elements interface{}) (interface{}, error) { - return types.Flatten(elements.([]interface{})), nil +func (c *current) onListElements244() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonExtraListElements1() (interface{}, error) { +func (p *parser) callonListElements244() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElements1(stack["elements"]) + return p.cur.onListElements244() } -func (c *current) onExtraListElement17() (interface{}, error) { - return string(c.text), nil +func (c *current) onListElements235() (interface{}, error) { + return types.NewBlankLine() } -func (p *parser) callonExtraListElement17() (interface{}, error) { +func (p *parser) callonListElements235() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement17() + return p.cur.onListElements235() } -func (c *current) onExtraListElement20() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onListElements255() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonExtraListElement20() (interface{}, error) { +func (p *parser) callonListElements255() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement20() + return p.cur.onListElements255() } -func (c *current) onExtraListElement11() (interface{}, error) { - return types.NewBlankLine() - +func (c *current) onListElements257() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonExtraListElement11() (interface{}, error) { +func (p *parser) callonListElements257() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement11() + return p.cur.onListElements257() } -func (c *current) onExtraListElement34() (interface{}, error) { +func (c *current) onListElements266() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonExtraListElement34() (interface{}, error) { +func (p *parser) callonListElements266() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement34() + return p.cur.onListElements266() } -func (c *current) onExtraListElement41() (interface{}, error) { +func (c *current) onListElements273() (interface{}, error) { // `.` is 1, etc. return (len(c.text)), nil } -func (p *parser) callonExtraListElement41() (interface{}, error) { +func (p *parser) callonListElements273() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement41() + return p.cur.onListElements273() } -func (c *current) onExtraListElement44(depth interface{}) (bool, error) { +func (c *current) onListElements276(depth interface{}) (bool, error) { // use a predicate to make sure that only `.` to `.....` are allowed return depth.(int) <= 5, nil } -func (p *parser) callonExtraListElement44() (bool, error) { +func (p *parser) callonListElements276() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement44(stack["depth"]) + return p.cur.onListElements276(stack["depth"]) } -func (c *current) onExtraListElement38(depth interface{}) (interface{}, error) { +func (c *current) onListElements270(depth interface{}) (interface{}, error) { switch depth.(int) { case 1: return types.NewOrderedListElementPrefix(types.Arabic) @@ -83423,1447 +81131,1556 @@ func (c *current) onExtraListElement38(depth interface{}) (interface{}, error) { } -func (p *parser) callonExtraListElement38() (interface{}, error) { +func (p *parser) callonListElements270() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement38(stack["depth"]) + return p.cur.onListElements270(stack["depth"]) } -func (c *current) onExtraListElement45() (interface{}, error) { +func (c *current) onListElements277() (interface{}, error) { // numbering style: "1.", etc. return types.NewOrderedListElementPrefix(types.Arabic) } -func (p *parser) callonExtraListElement45() (interface{}, error) { +func (p *parser) callonListElements277() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement45() + return p.cur.onListElements277() } -func (c *current) onExtraListElement50() (interface{}, error) { +func (c *current) onListElements282() (interface{}, error) { // numbering style: "a.", etc. return types.NewOrderedListElementPrefix(types.LowerAlpha) } -func (p *parser) callonExtraListElement50() (interface{}, error) { +func (p *parser) callonListElements282() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement50() + return p.cur.onListElements282() } -func (c *current) onExtraListElement54() (interface{}, error) { +func (c *current) onListElements286() (interface{}, error) { // numbering style: "A.", etc. return types.NewOrderedListElementPrefix(types.UpperAlpha) } -func (p *parser) callonExtraListElement54() (interface{}, error) { +func (p *parser) callonListElements286() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement54() + return p.cur.onListElements286() } -func (c *current) onExtraListElement58() (interface{}, error) { +func (c *current) onListElements290() (interface{}, error) { // numbering style: "i)", etc. return types.NewOrderedListElementPrefix(types.LowerRoman) } -func (p *parser) callonExtraListElement58() (interface{}, error) { +func (p *parser) callonListElements290() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement58() + return p.cur.onListElements290() } -func (c *current) onExtraListElement63() (interface{}, error) { +func (c *current) onListElements295() (interface{}, error) { // numbering style: "I)", etc. return types.NewOrderedListElementPrefix(types.UpperRoman) } -func (p *parser) callonExtraListElement63() (interface{}, error) { +func (p *parser) callonListElements295() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement63() + return p.cur.onListElements295() } -func (c *current) onExtraListElement68(prefix interface{}) (interface{}, error) { +func (c *current) onListElements300(prefix interface{}) (interface{}, error) { // log.Debug("matched multiple spaces") return string(c.text), nil } -func (p *parser) callonExtraListElement68() (interface{}, error) { +func (p *parser) callonListElements300() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement68(stack["prefix"]) + return p.cur.onListElements300(stack["prefix"]) } -func (c *current) onExtraListElement31(prefix interface{}) (interface{}, error) { +func (c *current) onListElements263(prefix interface{}) (interface{}, error) { return prefix, nil } -func (p *parser) callonExtraListElement31() (interface{}, error) { +func (p *parser) callonListElements263() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement31(stack["prefix"]) + return p.cur.onListElements263(stack["prefix"]) } -func (c *current) onExtraListElement75() (interface{}, error) { - return types.NewRawLine(string(c.text)) +func (c *current) onListElements307() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonExtraListElement75() (interface{}, error) { +func (p *parser) callonListElements307() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement75() + return p.cur.onListElements307() } -func (c *current) onExtraListElement79() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onListElements314() (interface{}, error) { + + // `*` is 1, etc. + return (len(c.text)), nil + +} + +func (p *parser) callonListElements314() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElements314() +} + +func (c *current) onListElements317(depth interface{}) (bool, error) { + + // use a predicate to make sure that only `*` to `*****` are allowed + return depth.(int) <= 5, nil + +} + +func (p *parser) callonListElements317() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElements317(stack["depth"]) +} + +func (c *current) onListElements311(depth interface{}) (interface{}, error) { + switch depth.(int) { + case 1: + return types.NewUnorderedListElementPrefix(types.OneAsterisk) + case 2: + return types.NewUnorderedListElementPrefix(types.TwoAsterisks) + case 3: + return types.NewUnorderedListElementPrefix(types.ThreeAsterisks) + case 4: + return types.NewUnorderedListElementPrefix(types.FourAsterisks) + default: + return types.NewUnorderedListElementPrefix(types.FiveAsterisks) + } + +} + +func (p *parser) callonListElements311() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElements311(stack["depth"]) +} + +func (c *current) onListElements319() (interface{}, error) { + return types.NewUnorderedListElementPrefix(types.Dash) + +} + +func (p *parser) callonListElements319() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElements319() +} + +func (c *current) onListElements321(prefix interface{}) (interface{}, error) { + // log.Debug("matched multiple spaces") return string(c.text), nil + } -func (p *parser) callonExtraListElement79() (interface{}, error) { +func (p *parser) callonListElements321() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement79() + return p.cur.onListElements321(stack["prefix"]) } -func (c *current) onExtraListElement72(rawline interface{}) (interface{}, error) { - return types.NewParagraph(rawline) +func (c *current) onListElements304(prefix interface{}) (interface{}, error) { + return prefix, nil +} + +func (p *parser) callonListElements304() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElements304(stack["prefix"]) +} +func (c *current) onListElements329() (interface{}, error) { + return strconv.Atoi(string(c.text)) } -func (p *parser) callonExtraListElement72() (interface{}, error) { +func (p *parser) callonListElements329() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement72(stack["rawline"]) + return p.cur.onListElements329() } -func (c *current) onExtraListElement28(prefix, content interface{}) (interface{}, error) { - return types.NewOrderedListElement(prefix.(types.OrderedListElementPrefix), content) +func (c *current) onListElements333(ref interface{}) (interface{}, error) { + // log.Debug("matched multiple spaces") + return string(c.text), nil } -func (p *parser) callonExtraListElement28() (interface{}, error) { +func (p *parser) callonListElements333() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement28(stack["prefix"], stack["content"]) + return p.cur.onListElements333(stack["ref"]) } -func (c *current) onExtraListElement8(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onListElements325(ref interface{}) (interface{}, error) { + return ref, nil + +} + +func (p *parser) callonListElements325() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElements325(stack["ref"]) +} + +func (c *current) onListElements345() (interface{}, error) { + + return string(c.text), nil + +} + +func (p *parser) callonListElements345() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElements345() +} + +func (c *current) onListElements348(separator interface{}) (bool, error) { + + // use a predicate to make sure that separator is `::`, `:::` or `::::` + return len(separator.(string)) >= 2 && len(separator.(string)) <= 4, nil } -func (p *parser) callonExtraListElement8() (interface{}, error) { +func (p *parser) callonListElements348() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement8(stack["element"]) + return p.cur.onListElements348(stack["separator"]) } -func (c *current) onExtraListElement98() (interface{}, error) { - return string(c.text), nil +func (c *current) onListElements342(separator interface{}) (interface{}, error) { + return separator, nil } -func (p *parser) callonExtraListElement98() (interface{}, error) { +func (p *parser) callonListElements342() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement98() + return p.cur.onListElements342(stack["separator"]) } -func (c *current) onExtraListElement105() (interface{}, error) { - - // `.` is 1, etc. - return (len(c.text)), nil - +func (c *current) onListElements351() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonExtraListElement105() (interface{}, error) { +func (p *parser) callonListElements351() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement105() + return p.cur.onListElements351() } -func (c *current) onExtraListElement108(depth interface{}) (bool, error) { - - // use a predicate to make sure that only `.` to `.....` are allowed - return depth.(int) <= 5, nil +func (c *current) onListElements338() (interface{}, error) { + return types.NewRawLine(strings.TrimSpace(string(c.text))) } -func (p *parser) callonExtraListElement108() (bool, error) { +func (p *parser) callonListElements338() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement108(stack["depth"]) + return p.cur.onListElements338() } -func (c *current) onExtraListElement102(depth interface{}) (interface{}, error) { - switch depth.(int) { - case 1: - return types.NewOrderedListElementPrefix(types.Arabic) - case 2: - return types.NewOrderedListElementPrefix(types.LowerAlpha) - case 3: - return types.NewOrderedListElementPrefix(types.LowerRoman) - case 4: - return types.NewOrderedListElementPrefix(types.UpperAlpha) - default: - return types.NewOrderedListElementPrefix(types.UpperRoman) - } +func (c *current) onListElements362() (interface{}, error) { + + return string(c.text), nil } -func (p *parser) callonExtraListElement102() (interface{}, error) { +func (p *parser) callonListElements362() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement102(stack["depth"]) + return p.cur.onListElements362() } -func (c *current) onExtraListElement109() (interface{}, error) { - // numbering style: "1.", etc. - return types.NewOrderedListElementPrefix(types.Arabic) +func (c *current) onListElements365(separator interface{}) (bool, error) { + + // use a predicate to make sure that separator is `::`, `:::` or `::::` + return len(separator.(string)) >= 2 && len(separator.(string)) <= 4, nil } -func (p *parser) callonExtraListElement109() (interface{}, error) { +func (p *parser) callonListElements365() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement109() + return p.cur.onListElements365(stack["separator"]) } -func (c *current) onExtraListElement114() (interface{}, error) { - // numbering style: "a.", etc. - return types.NewOrderedListElementPrefix(types.LowerAlpha) +func (c *current) onListElements359(separator interface{}) (interface{}, error) { + return separator, nil } -func (p *parser) callonExtraListElement114() (interface{}, error) { +func (p *parser) callonListElements359() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement114() + return p.cur.onListElements359(stack["separator"]) } -func (c *current) onExtraListElement118() (interface{}, error) { - // numbering style: "A.", etc. - return types.NewOrderedListElementPrefix(types.UpperAlpha) +func (c *current) onListElements376() (interface{}, error) { + // sequence of 4 "/" chars or more + return string(c.text), nil } -func (p *parser) callonExtraListElement118() (interface{}, error) { +func (p *parser) callonListElements376() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement118() + return p.cur.onListElements376() } -func (c *current) onExtraListElement122() (interface{}, error) { - // numbering style: "i)", etc. - return types.NewOrderedListElementPrefix(types.LowerRoman) +func (c *current) onListElements382() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonExtraListElement122() (interface{}, error) { +func (p *parser) callonListElements382() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement122() + return p.cur.onListElements382() } -func (c *current) onExtraListElement127() (interface{}, error) { - // numbering style: "I)", etc. - return types.NewOrderedListElementPrefix(types.UpperRoman) - +func (c *current) onListElements385() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonExtraListElement127() (interface{}, error) { +func (p *parser) callonListElements385() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement127() + return p.cur.onListElements385() } -func (c *current) onExtraListElement132(prefix interface{}) (interface{}, error) { - // log.Debug("matched multiple spaces") - return string(c.text), nil +func (c *current) onListElements373(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Comment, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonExtraListElement132() (interface{}, error) { +func (p *parser) callonListElements373() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement132(stack["prefix"]) + return p.cur.onListElements373(stack["delimiter"]) } -func (c *current) onExtraListElement95(prefix interface{}) (interface{}, error) { - return prefix, nil +func (c *current) onListElements395() (interface{}, error) { + // sequence of 4 "=" chars or more + return string(c.text), nil + } -func (p *parser) callonExtraListElement95() (interface{}, error) { +func (p *parser) callonListElements395() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement95(stack["prefix"]) + return p.cur.onListElements395() } -func (c *current) onExtraListElement139() (interface{}, error) { - return types.NewRawLine(string(c.text)) +func (c *current) onListElements401() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonExtraListElement139() (interface{}, error) { +func (p *parser) callonListElements401() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement139() + return p.cur.onListElements401() } -func (c *current) onExtraListElement143() (interface{}, error) { +func (c *current) onListElements404() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonExtraListElement143() (interface{}, error) { +func (p *parser) callonListElements404() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement143() + return p.cur.onListElements404() } -func (c *current) onExtraListElement136(rawline interface{}) (interface{}, error) { - return types.NewParagraph(rawline) +func (c *current) onListElements392(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Example, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonExtraListElement136() (interface{}, error) { +func (p *parser) callonListElements392() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement136(stack["rawline"]) + return p.cur.onListElements392(stack["delimiter"]) } -func (c *current) onExtraListElement92(prefix, content interface{}) (interface{}, error) { - return types.NewOrderedListElement(prefix.(types.OrderedListElementPrefix), content) - +func (c *current) onListElements415() (interface{}, error) { + // exclude ` to avoid matching fenced blocks with more than 3 "`" delimter chars + return string(c.text), nil } -func (p *parser) callonExtraListElement92() (interface{}, error) { +func (p *parser) callonListElements415() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement92(stack["prefix"], stack["content"]) + return p.cur.onListElements415() } -func (c *current) onExtraListElement86(attributes, element interface{}) (interface{}, error) { - return append(attributes.([]interface{}), element), nil +func (c *current) onListElements419() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonExtraListElement86() (interface{}, error) { +func (p *parser) callonListElements419() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement86(stack["attributes"], stack["element"]) + return p.cur.onListElements419() } -func (c *current) onExtraListElement159() (interface{}, error) { +func (c *current) onListElements422() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonExtraListElement159() (interface{}, error) { +func (p *parser) callonListElements422() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement159() + return p.cur.onListElements422() } -func (c *current) onExtraListElement162() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onListElements411(language interface{}) (interface{}, error) { + return types.NewMarkdownCodeBlockDelimiter(language.(string), string(c.text)) } -func (p *parser) callonExtraListElement162() (interface{}, error) { +func (p *parser) callonListElements411() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement162() + return p.cur.onListElements411(stack["language"]) } -func (c *current) onExtraListElement153() (interface{}, error) { - return types.NewBlankLine() +func (c *current) onListElements432() (interface{}, error) { + // sequence of 3 "`" chars or more + return string(c.text), nil } -func (p *parser) callonExtraListElement153() (interface{}, error) { +func (p *parser) callonListElements432() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement153() + return p.cur.onListElements432() } -func (c *current) onExtraListElement176() (interface{}, error) { +func (c *current) onListElements438() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonExtraListElement176() (interface{}, error) { +func (p *parser) callonListElements438() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement176() + return p.cur.onListElements438() } -func (c *current) onExtraListElement183() (interface{}, error) { - - // `*` is 1, etc. - return (len(c.text)), nil - +func (c *current) onListElements441() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonExtraListElement183() (interface{}, error) { +func (p *parser) callonListElements441() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement183() + return p.cur.onListElements441() } -func (c *current) onExtraListElement186(depth interface{}) (bool, error) { +func (c *current) onListElements429(delimiter interface{}) (interface{}, error) { - // use a predicate to make sure that only `*` to `*****` are allowed - return depth.(int) <= 5, nil + return types.NewBlockDelimiter(types.Fenced, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonExtraListElement186() (bool, error) { +func (p *parser) callonListElements429() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement186(stack["depth"]) + return p.cur.onListElements429(stack["delimiter"]) } -func (c *current) onExtraListElement180(depth interface{}) (interface{}, error) { - switch depth.(int) { - case 1: - return types.NewUnorderedListElementPrefix(types.OneAsterisk) - case 2: - return types.NewUnorderedListElementPrefix(types.TwoAsterisks) - case 3: - return types.NewUnorderedListElementPrefix(types.ThreeAsterisks) - case 4: - return types.NewUnorderedListElementPrefix(types.FourAsterisks) - default: - return types.NewUnorderedListElementPrefix(types.FiveAsterisks) - } +func (c *current) onListElements451() (interface{}, error) { + // sequence of 4 "-" chars or more + return string(c.text), nil } -func (p *parser) callonExtraListElement180() (interface{}, error) { +func (p *parser) callonListElements451() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement180(stack["depth"]) + return p.cur.onListElements451() } -func (c *current) onExtraListElement188() (interface{}, error) { - return types.NewUnorderedListElementPrefix(types.Dash) +func (c *current) onListElements457() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonExtraListElement188() (interface{}, error) { +func (p *parser) callonListElements457() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement188() + return p.cur.onListElements457() } -func (c *current) onExtraListElement190(prefix interface{}) (interface{}, error) { - // log.Debug("matched multiple spaces") +func (c *current) onListElements460() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonExtraListElement190() (interface{}, error) { +func (p *parser) callonListElements460() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement190(stack["prefix"]) + return p.cur.onListElements460() } -func (c *current) onExtraListElement173(prefix interface{}) (interface{}, error) { - return prefix, nil +func (c *current) onListElements448(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Listing, len(delimiter.(string)), string(c.text)) + } -func (p *parser) callonExtraListElement173() (interface{}, error) { +func (p *parser) callonListElements448() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement173(stack["prefix"]) + return p.cur.onListElements448(stack["delimiter"]) } -func (c *current) onExtraListElement201() (interface{}, error) { - return types.Unchecked, nil +func (c *current) onListElements470() (interface{}, error) { + // sequence of 4 "." chars or more + return string(c.text), nil + } -func (p *parser) callonExtraListElement201() (interface{}, error) { +func (p *parser) callonListElements470() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement201() + return p.cur.onListElements470() } -func (c *current) onExtraListElement203() (interface{}, error) { - return types.Checked, nil +func (c *current) onListElements476() (interface{}, error) { + return string(c.text), nil + } -func (p *parser) callonExtraListElement203() (interface{}, error) { +func (p *parser) callonListElements476() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement203() + return p.cur.onListElements476() } -func (c *current) onExtraListElement205() (interface{}, error) { - return types.Checked, nil +func (c *current) onListElements479() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonExtraListElement205() (interface{}, error) { +func (p *parser) callonListElements479() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement205() + return p.cur.onListElements479() } -func (c *current) onExtraListElement207(style interface{}) (interface{}, error) { - // log.Debug("matched multiple spaces") - return string(c.text), nil +func (c *current) onListElements467(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Listing, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonExtraListElement207() (interface{}, error) { +func (p *parser) callonListElements467() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement207(stack["style"]) + return p.cur.onListElements467(stack["delimiter"]) } -func (c *current) onExtraListElement195(style interface{}) (interface{}, error) { - return style, nil +func (c *current) onListElements489() (interface{}, error) { + // sequence of 4 "+" chars or more + return string(c.text), nil } -func (p *parser) callonExtraListElement195() (interface{}, error) { +func (p *parser) callonListElements489() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement195(stack["style"]) + return p.cur.onListElements489() } -func (c *current) onExtraListElement214() (interface{}, error) { - return types.NewRawLine(string(c.text)) +func (c *current) onListElements495() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonExtraListElement214() (interface{}, error) { +func (p *parser) callonListElements495() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement214() + return p.cur.onListElements495() } -func (c *current) onExtraListElement218() (interface{}, error) { +func (c *current) onListElements498() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonExtraListElement218() (interface{}, error) { +func (p *parser) callonListElements498() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement218() + return p.cur.onListElements498() } -func (c *current) onExtraListElement211(rawline interface{}) (interface{}, error) { - return types.NewParagraph(rawline) +func (c *current) onListElements486(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Passthrough, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonExtraListElement211() (interface{}, error) { +func (p *parser) callonListElements486() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement211(stack["rawline"]) + return p.cur.onListElements486(stack["delimiter"]) } -func (c *current) onExtraListElement170(prefix, checkstyle, content interface{}) (interface{}, error) { - return types.NewUnorderedListElement(prefix.(types.UnorderedListElementPrefix), checkstyle, content) +func (c *current) onListElements508() (interface{}, error) { + // sequence of 4 "_" chars or more + return string(c.text), nil } -func (p *parser) callonExtraListElement170() (interface{}, error) { +func (p *parser) callonListElements508() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement170(stack["prefix"], stack["checkstyle"], stack["content"]) + return p.cur.onListElements508() } -func (c *current) onExtraListElement150(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onListElements514() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonExtraListElement150() (interface{}, error) { +func (p *parser) callonListElements514() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement150(stack["element"]) + return p.cur.onListElements514() } -func (c *current) onExtraListElement237() (interface{}, error) { +func (c *current) onListElements517() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonExtraListElement237() (interface{}, error) { +func (p *parser) callonListElements517() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement237() + return p.cur.onListElements517() } -func (c *current) onExtraListElement244() (interface{}, error) { +func (c *current) onListElements505(delimiter interface{}) (interface{}, error) { - // `*` is 1, etc. - return (len(c.text)), nil + return types.NewBlockDelimiter(types.Quote, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonExtraListElement244() (interface{}, error) { +func (p *parser) callonListElements505() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement244() + return p.cur.onListElements505(stack["delimiter"]) } -func (c *current) onExtraListElement247(depth interface{}) (bool, error) { - - // use a predicate to make sure that only `*` to `*****` are allowed - return depth.(int) <= 5, nil +func (c *current) onListElements527() (interface{}, error) { + // sequence of 4 "*" chars or more + return string(c.text), nil } -func (p *parser) callonExtraListElement247() (bool, error) { +func (p *parser) callonListElements527() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement247(stack["depth"]) + return p.cur.onListElements527() } -func (c *current) onExtraListElement241(depth interface{}) (interface{}, error) { - switch depth.(int) { - case 1: - return types.NewUnorderedListElementPrefix(types.OneAsterisk) - case 2: - return types.NewUnorderedListElementPrefix(types.TwoAsterisks) - case 3: - return types.NewUnorderedListElementPrefix(types.ThreeAsterisks) - case 4: - return types.NewUnorderedListElementPrefix(types.FourAsterisks) - default: - return types.NewUnorderedListElementPrefix(types.FiveAsterisks) - } +func (c *current) onListElements533() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonExtraListElement241() (interface{}, error) { +func (p *parser) callonListElements533() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement241(stack["depth"]) + return p.cur.onListElements533() } -func (c *current) onExtraListElement249() (interface{}, error) { - return types.NewUnorderedListElementPrefix(types.Dash) - +func (c *current) onListElements536() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonExtraListElement249() (interface{}, error) { +func (p *parser) callonListElements536() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement249() + return p.cur.onListElements536() } -func (c *current) onExtraListElement251(prefix interface{}) (interface{}, error) { - // log.Debug("matched multiple spaces") - return string(c.text), nil +func (c *current) onListElements524(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Sidebar, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonExtraListElement251() (interface{}, error) { +func (p *parser) callonListElements524() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement251(stack["prefix"]) + return p.cur.onListElements524(stack["delimiter"]) } -func (c *current) onExtraListElement234(prefix interface{}) (interface{}, error) { - return prefix, nil +func (c *current) onListElements367(delimiter interface{}) (interface{}, error) { + return delimiter, nil + } -func (p *parser) callonExtraListElement234() (interface{}, error) { +func (p *parser) callonListElements367() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement234(stack["prefix"]) + return p.cur.onListElements367(stack["delimiter"]) } -func (c *current) onExtraListElement262() (interface{}, error) { - return types.Unchecked, nil +func (c *current) onListElements544() (interface{}, error) { + return strings.TrimSpace(string(c.text)), nil + } -func (p *parser) callonExtraListElement262() (interface{}, error) { +func (p *parser) callonListElements544() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement262() + return p.cur.onListElements544() } -func (c *current) onExtraListElement264() (interface{}, error) { - return types.Checked, nil +func (c *current) onListElements548() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonExtraListElement264() (interface{}, error) { +func (p *parser) callonListElements548() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement264() + return p.cur.onListElements548() } -func (c *current) onExtraListElement266() (interface{}, error) { - return types.Checked, nil +func (c *current) onListElements232(content interface{}) (interface{}, error) { + // do not retain the EOL chars + return types.NewRawLine(content.(string)) + } -func (p *parser) callonExtraListElement266() (interface{}, error) { +func (p *parser) callonListElements232() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement266() + return p.cur.onListElements232(stack["content"]) } -func (c *current) onExtraListElement268(style interface{}) (interface{}, error) { - // log.Debug("matched multiple spaces") - return string(c.text), nil +func (c *current) onListElements181(content interface{}) (interface{}, error) { + if content == nil { + return nil, nil + } + return types.NewParagraph(content) } -func (p *parser) callonExtraListElement268() (interface{}, error) { +func (p *parser) callonListElements181() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement268(stack["style"]) + return p.cur.onListElements181(stack["content"]) } -func (c *current) onExtraListElement256(style interface{}) (interface{}, error) { - return style, nil +func (c *current) onListElements557() (interface{}, error) { + // log.Debug("matched multiple spaces") + return string(c.text), nil } -func (p *parser) callonExtraListElement256() (interface{}, error) { +func (p *parser) callonListElements557() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement256(stack["style"]) + return p.cur.onListElements557() } -func (c *current) onExtraListElement275() (interface{}, error) { +func (c *current) onListElements561() (interface{}, error) { return types.NewRawLine(string(c.text)) } -func (p *parser) callonExtraListElement275() (interface{}, error) { +func (p *parser) callonListElements561() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement275() + return p.cur.onListElements561() } -func (c *current) onExtraListElement279() (interface{}, error) { +func (c *current) onListElements565() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonExtraListElement279() (interface{}, error) { +func (p *parser) callonListElements565() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement279() + return p.cur.onListElements565() } -func (c *current) onExtraListElement272(rawline interface{}) (interface{}, error) { - return types.NewParagraph(rawline) +func (c *current) onListElements555(content interface{}) (interface{}, error) { + return types.NewParagraph(content) } -func (p *parser) callonExtraListElement272() (interface{}, error) { +func (p *parser) callonListElements555() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement272(stack["rawline"]) + return p.cur.onListElements555(stack["content"]) } -func (c *current) onExtraListElement231(prefix, checkstyle, content interface{}) (interface{}, error) { - return types.NewUnorderedListElement(prefix.(types.UnorderedListElementPrefix), checkstyle, content) +func (c *current) onListElements147(term, separator, description interface{}) (interface{}, error) { + return types.NewLabeledListElement(len(separator.(string))-1, term, description) + +} + +func (p *parser) callonListElements147() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElements147(stack["term"], stack["separator"], stack["description"]) +} + +func (c *current) onListElements1(firstElement, extraElements interface{}) (interface{}, error) { + return types.NewListElements(append([]interface{}{firstElement}, extraElements.([]interface{})...)) } -func (p *parser) callonExtraListElement231() (interface{}, error) { +func (p *parser) callonListElements1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement231(stack["prefix"], stack["checkstyle"], stack["content"]) + return p.cur.onListElements1(stack["firstElement"], stack["extraElements"]) } -func (c *current) onExtraListElement225(attributes, element interface{}) (interface{}, error) { - return append(attributes.([]interface{}), element), nil - +func (c *current) onExtraListElements1(elements interface{}) (interface{}, error) { + return types.Flatten(elements.([]interface{})), nil } -func (p *parser) callonExtraListElement225() (interface{}, error) { +func (p *parser) callonExtraListElements1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement225(stack["attributes"], stack["element"]) + return p.cur.onExtraListElements1(stack["elements"]) } -func (c *current) onExtraListElement295() (interface{}, error) { +func (c *current) onExtraListElement17() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonExtraListElement295() (interface{}, error) { +func (p *parser) callonExtraListElement17() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement295() + return p.cur.onExtraListElement17() } -func (c *current) onExtraListElement298() (interface{}, error) { +func (c *current) onExtraListElement20() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonExtraListElement298() (interface{}, error) { +func (p *parser) callonExtraListElement20() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement298() + return p.cur.onExtraListElement20() } -func (c *current) onExtraListElement289() (interface{}, error) { +func (c *current) onExtraListElement11() (interface{}, error) { return types.NewBlankLine() } -func (p *parser) callonExtraListElement289() (interface{}, error) { +func (p *parser) callonExtraListElement11() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement289() + return p.cur.onExtraListElement11() } -func (c *current) onExtraListElement313() (interface{}, error) { - return strconv.Atoi(string(c.text)) +func (c *current) onExtraListElement34() (interface{}, error) { + return string(c.text), nil + } -func (p *parser) callonExtraListElement313() (interface{}, error) { +func (p *parser) callonExtraListElement34() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement313() + return p.cur.onExtraListElement34() } -func (c *current) onExtraListElement317(ref interface{}) (interface{}, error) { - // log.Debug("matched multiple spaces") - return string(c.text), nil +func (c *current) onExtraListElement41() (interface{}, error) { + + // `.` is 1, etc. + return (len(c.text)), nil } -func (p *parser) callonExtraListElement317() (interface{}, error) { +func (p *parser) callonExtraListElement41() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement317(stack["ref"]) + return p.cur.onExtraListElement41() } -func (c *current) onExtraListElement309(ref interface{}) (interface{}, error) { - return ref, nil +func (c *current) onExtraListElement44(depth interface{}) (bool, error) { + + // use a predicate to make sure that only `.` to `.....` are allowed + return depth.(int) <= 5, nil } -func (p *parser) callonExtraListElement309() (interface{}, error) { +func (p *parser) callonExtraListElement44() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement309(stack["ref"]) + return p.cur.onExtraListElement44(stack["depth"]) } -func (c *current) onExtraListElement324() (interface{}, error) { - return string(c.text), nil +func (c *current) onExtraListElement38(depth interface{}) (interface{}, error) { + switch depth.(int) { + case 1: + return types.NewOrderedListElementPrefix(types.Arabic) + case 2: + return types.NewOrderedListElementPrefix(types.LowerAlpha) + case 3: + return types.NewOrderedListElementPrefix(types.LowerRoman) + case 4: + return types.NewOrderedListElementPrefix(types.UpperAlpha) + default: + return types.NewOrderedListElementPrefix(types.UpperRoman) + } } -func (p *parser) callonExtraListElement324() (interface{}, error) { +func (p *parser) callonExtraListElement38() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement324() + return p.cur.onExtraListElement38(stack["depth"]) } -func (c *current) onExtraListElement328() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onExtraListElement45() (interface{}, error) { + // numbering style: "1.", etc. + return types.NewOrderedListElementPrefix(types.Arabic) + } -func (p *parser) callonExtraListElement328() (interface{}, error) { +func (p *parser) callonExtraListElement45() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement328() + return p.cur.onExtraListElement45() } -func (c *current) onExtraListElement321(rawline interface{}) (interface{}, error) { - return types.NewRawLine(rawline.(string)) +func (c *current) onExtraListElement50() (interface{}, error) { + // numbering style: "a.", etc. + return types.NewOrderedListElementPrefix(types.LowerAlpha) } -func (p *parser) callonExtraListElement321() (interface{}, error) { +func (p *parser) callonExtraListElement50() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement321(stack["rawline"]) + return p.cur.onExtraListElement50() } -func (c *current) onExtraListElement306(ref, description interface{}) (interface{}, error) { - return types.NewCalloutListElement(ref.(int), description.(types.RawLine)) +func (c *current) onExtraListElement54() (interface{}, error) { + // numbering style: "A.", etc. + return types.NewOrderedListElementPrefix(types.UpperAlpha) } -func (p *parser) callonExtraListElement306() (interface{}, error) { +func (p *parser) callonExtraListElement54() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement306(stack["ref"], stack["description"]) + return p.cur.onExtraListElement54() } -func (c *current) onExtraListElement286(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onExtraListElement58() (interface{}, error) { + // numbering style: "i)", etc. + return types.NewOrderedListElementPrefix(types.LowerRoman) } -func (p *parser) callonExtraListElement286() (interface{}, error) { +func (p *parser) callonExtraListElement58() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement286(stack["element"]) + return p.cur.onExtraListElement58() } -func (c *current) onExtraListElement348() (interface{}, error) { - return strconv.Atoi(string(c.text)) +func (c *current) onExtraListElement63() (interface{}, error) { + // numbering style: "I)", etc. + return types.NewOrderedListElementPrefix(types.UpperRoman) + } -func (p *parser) callonExtraListElement348() (interface{}, error) { +func (p *parser) callonExtraListElement63() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement348() + return p.cur.onExtraListElement63() } -func (c *current) onExtraListElement352(ref interface{}) (interface{}, error) { +func (c *current) onExtraListElement68(prefix interface{}) (interface{}, error) { // log.Debug("matched multiple spaces") return string(c.text), nil } -func (p *parser) callonExtraListElement352() (interface{}, error) { +func (p *parser) callonExtraListElement68() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement352(stack["ref"]) + return p.cur.onExtraListElement68(stack["prefix"]) } -func (c *current) onExtraListElement344(ref interface{}) (interface{}, error) { - return ref, nil - +func (c *current) onExtraListElement31(prefix interface{}) (interface{}, error) { + return prefix, nil } -func (p *parser) callonExtraListElement344() (interface{}, error) { +func (p *parser) callonExtraListElement31() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement344(stack["ref"]) + return p.cur.onExtraListElement31(stack["prefix"]) } -func (c *current) onExtraListElement359() (interface{}, error) { - return string(c.text), nil +func (c *current) onExtraListElement75() (interface{}, error) { + return types.NewRawLine(string(c.text)) } -func (p *parser) callonExtraListElement359() (interface{}, error) { +func (p *parser) callonExtraListElement75() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement359() + return p.cur.onExtraListElement75() } -func (c *current) onExtraListElement363() (interface{}, error) { +func (c *current) onExtraListElement79() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonExtraListElement363() (interface{}, error) { +func (p *parser) callonExtraListElement79() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement363() + return p.cur.onExtraListElement79() } -func (c *current) onExtraListElement356(rawline interface{}) (interface{}, error) { - return types.NewRawLine(rawline.(string)) +func (c *current) onExtraListElement72(rawline interface{}) (interface{}, error) { + return types.NewParagraph(rawline) } -func (p *parser) callonExtraListElement356() (interface{}, error) { +func (p *parser) callonExtraListElement72() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement356(stack["rawline"]) + return p.cur.onExtraListElement72(stack["rawline"]) } -func (c *current) onExtraListElement341(ref, description interface{}) (interface{}, error) { - return types.NewCalloutListElement(ref.(int), description.(types.RawLine)) +func (c *current) onExtraListElement28(prefix, content interface{}) (interface{}, error) { + return types.NewOrderedListElement(prefix.(types.OrderedListElementPrefix), content) } -func (p *parser) callonExtraListElement341() (interface{}, error) { +func (p *parser) callonExtraListElement28() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement341(stack["ref"], stack["description"]) + return p.cur.onExtraListElement28(stack["prefix"], stack["content"]) } -func (c *current) onExtraListElement335(attributes, element interface{}) (interface{}, error) { - return append(attributes.([]interface{}), element), nil +func (c *current) onExtraListElement8(element interface{}) (interface{}, error) { + return element, nil } -func (p *parser) callonExtraListElement335() (interface{}, error) { +func (p *parser) callonExtraListElement8() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement335(stack["attributes"], stack["element"]) + return p.cur.onExtraListElement8(stack["element"]) } -func (c *current) onExtraListElement380() (interface{}, error) { +func (c *current) onExtraListElement98() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonExtraListElement380() (interface{}, error) { +func (p *parser) callonExtraListElement98() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement380() + return p.cur.onExtraListElement98() } -func (c *current) onExtraListElement383() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onExtraListElement105() (interface{}, error) { + + // `.` is 1, etc. + return (len(c.text)), nil + } -func (p *parser) callonExtraListElement383() (interface{}, error) { +func (p *parser) callonExtraListElement105() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement383() + return p.cur.onExtraListElement105() } -func (c *current) onExtraListElement374() (interface{}, error) { - return types.NewBlankLine() +func (c *current) onExtraListElement108(depth interface{}) (bool, error) { + + // use a predicate to make sure that only `.` to `.....` are allowed + return depth.(int) <= 5, nil } -func (p *parser) callonExtraListElement374() (interface{}, error) { +func (p *parser) callonExtraListElement108() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement374() + return p.cur.onExtraListElement108(stack["depth"]) } -func (c *current) onExtraListElement401() (interface{}, error) { - - return string(c.text), nil +func (c *current) onExtraListElement102(depth interface{}) (interface{}, error) { + switch depth.(int) { + case 1: + return types.NewOrderedListElementPrefix(types.Arabic) + case 2: + return types.NewOrderedListElementPrefix(types.LowerAlpha) + case 3: + return types.NewOrderedListElementPrefix(types.LowerRoman) + case 4: + return types.NewOrderedListElementPrefix(types.UpperAlpha) + default: + return types.NewOrderedListElementPrefix(types.UpperRoman) + } } -func (p *parser) callonExtraListElement401() (interface{}, error) { +func (p *parser) callonExtraListElement102() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement401() + return p.cur.onExtraListElement102(stack["depth"]) } -func (c *current) onExtraListElement404(separator interface{}) (bool, error) { - - // use a predicate to make sure that separator is `::`, `:::` or `::::` - return len(separator.(string)) >= 2 && len(separator.(string)) <= 4, nil +func (c *current) onExtraListElement109() (interface{}, error) { + // numbering style: "1.", etc. + return types.NewOrderedListElementPrefix(types.Arabic) } -func (p *parser) callonExtraListElement404() (bool, error) { +func (p *parser) callonExtraListElement109() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement404(stack["separator"]) + return p.cur.onExtraListElement109() } -func (c *current) onExtraListElement398(separator interface{}) (interface{}, error) { - return separator, nil +func (c *current) onExtraListElement114() (interface{}, error) { + // numbering style: "a.", etc. + return types.NewOrderedListElementPrefix(types.LowerAlpha) } -func (p *parser) callonExtraListElement398() (interface{}, error) { +func (p *parser) callonExtraListElement114() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement398(stack["separator"]) + return p.cur.onExtraListElement114() } -func (c *current) onExtraListElement407() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onExtraListElement118() (interface{}, error) { + // numbering style: "A.", etc. + return types.NewOrderedListElementPrefix(types.UpperAlpha) + } -func (p *parser) callonExtraListElement407() (interface{}, error) { +func (p *parser) callonExtraListElement118() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement407() + return p.cur.onExtraListElement118() } -func (c *current) onExtraListElement394() (interface{}, error) { - return types.NewRawLine(strings.TrimSpace(string(c.text))) +func (c *current) onExtraListElement122() (interface{}, error) { + // numbering style: "i)", etc. + return types.NewOrderedListElementPrefix(types.LowerRoman) } -func (p *parser) callonExtraListElement394() (interface{}, error) { +func (p *parser) callonExtraListElement122() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement394() + return p.cur.onExtraListElement122() } -func (c *current) onExtraListElement419() (interface{}, error) { - - return string(c.text), nil +func (c *current) onExtraListElement127() (interface{}, error) { + // numbering style: "I)", etc. + return types.NewOrderedListElementPrefix(types.UpperRoman) } -func (p *parser) callonExtraListElement419() (interface{}, error) { +func (p *parser) callonExtraListElement127() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement419() + return p.cur.onExtraListElement127() } -func (c *current) onExtraListElement422(separator interface{}) (bool, error) { - - // use a predicate to make sure that separator is `::`, `:::` or `::::` - return len(separator.(string)) >= 2 && len(separator.(string)) <= 4, nil +func (c *current) onExtraListElement132(prefix interface{}) (interface{}, error) { + // log.Debug("matched multiple spaces") + return string(c.text), nil } -func (p *parser) callonExtraListElement422() (bool, error) { +func (p *parser) callonExtraListElement132() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement422(stack["separator"]) + return p.cur.onExtraListElement132(stack["prefix"]) } -func (c *current) onExtraListElement416(separator interface{}) (interface{}, error) { - return separator, nil - +func (c *current) onExtraListElement95(prefix interface{}) (interface{}, error) { + return prefix, nil } -func (p *parser) callonExtraListElement416() (interface{}, error) { +func (p *parser) callonExtraListElement95() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement416(stack["separator"]) + return p.cur.onExtraListElement95(stack["prefix"]) } -func (c *current) onExtraListElement428() (interface{}, error) { - return string(c.text), nil +func (c *current) onExtraListElement139() (interface{}, error) { + return types.NewRawLine(string(c.text)) } -func (p *parser) callonExtraListElement428() (interface{}, error) { +func (p *parser) callonExtraListElement139() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement428() + return p.cur.onExtraListElement139() } -func (c *current) onExtraListElement431() (interface{}, error) { +func (c *current) onExtraListElement143() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonExtraListElement431() (interface{}, error) { +func (p *parser) callonExtraListElement143() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement431() + return p.cur.onExtraListElement143() } -func (c *current) onExtraListElement445() (interface{}, error) { - return string(c.text), nil +func (c *current) onExtraListElement136(rawline interface{}) (interface{}, error) { + return types.NewParagraph(rawline) } -func (p *parser) callonExtraListElement445() (interface{}, error) { +func (p *parser) callonExtraListElement136() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement445() + return p.cur.onExtraListElement136(stack["rawline"]) } -func (c *current) onExtraListElement448() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onExtraListElement92(prefix, content interface{}) (interface{}, error) { + return types.NewOrderedListElement(prefix.(types.OrderedListElementPrefix), content) + } -func (p *parser) callonExtraListElement448() (interface{}, error) { +func (p *parser) callonExtraListElement92() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement448() + return p.cur.onExtraListElement92(stack["prefix"], stack["content"]) } -func (c *current) onExtraListElement439() (interface{}, error) { - return types.NewBlankLine() +func (c *current) onExtraListElement86(attributes, element interface{}) (interface{}, error) { + return append(attributes.([]interface{}), element), nil } -func (p *parser) callonExtraListElement439() (interface{}, error) { +func (p *parser) callonExtraListElement86() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement439() + return p.cur.onExtraListElement86(stack["attributes"], stack["element"]) } -func (c *current) onExtraListElement465() (interface{}, error) { +func (c *current) onExtraListElement159() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonExtraListElement465() (interface{}, error) { +func (p *parser) callonExtraListElement159() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement465() + return p.cur.onExtraListElement159() } -func (c *current) onExtraListElement469() (interface{}, error) { +func (c *current) onExtraListElement162() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonExtraListElement469() (interface{}, error) { +func (p *parser) callonExtraListElement162() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement469() + return p.cur.onExtraListElement162() } -func (c *current) onExtraListElement459(content interface{}) (interface{}, error) { - return types.NewSingleLineComment(content.(string)) +func (c *current) onExtraListElement153() (interface{}, error) { + return types.NewBlankLine() } -func (p *parser) callonExtraListElement459() (interface{}, error) { +func (p *parser) callonExtraListElement153() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement459(stack["content"]) + return p.cur.onExtraListElement153() } -func (c *current) onExtraListElement458(content interface{}) (interface{}, error) { - return nil, nil // taking a shortcut to ignore commented out content and avoid having empty paragraphs +func (c *current) onExtraListElement176() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonExtraListElement458() (interface{}, error) { +func (p *parser) callonExtraListElement176() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement458(stack["content"]) + return p.cur.onExtraListElement176() } -func (c *current) onExtraListElement485() (interface{}, error) { - return string(c.text), nil +func (c *current) onExtraListElement183() (interface{}, error) { + + // `*` is 1, etc. + return (len(c.text)), nil } -func (p *parser) callonExtraListElement485() (interface{}, error) { +func (p *parser) callonExtraListElement183() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement485() + return p.cur.onExtraListElement183() } -func (c *current) onExtraListElement488() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onExtraListElement186(depth interface{}) (bool, error) { + + // use a predicate to make sure that only `*` to `*****` are allowed + return depth.(int) <= 5, nil + } -func (p *parser) callonExtraListElement488() (interface{}, error) { +func (p *parser) callonExtraListElement186() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement488() + return p.cur.onExtraListElement186(stack["depth"]) } -func (c *current) onExtraListElement479() (interface{}, error) { - return types.NewBlankLine() +func (c *current) onExtraListElement180(depth interface{}) (interface{}, error) { + switch depth.(int) { + case 1: + return types.NewUnorderedListElementPrefix(types.OneAsterisk) + case 2: + return types.NewUnorderedListElementPrefix(types.TwoAsterisks) + case 3: + return types.NewUnorderedListElementPrefix(types.ThreeAsterisks) + case 4: + return types.NewUnorderedListElementPrefix(types.FourAsterisks) + default: + return types.NewUnorderedListElementPrefix(types.FiveAsterisks) + } } -func (p *parser) callonExtraListElement479() (interface{}, error) { +func (p *parser) callonExtraListElement180() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement479() + return p.cur.onExtraListElement180(stack["depth"]) } -func (c *current) onExtraListElement499() (interface{}, error) { - return string(c.text), nil +func (c *current) onExtraListElement188() (interface{}, error) { + return types.NewUnorderedListElementPrefix(types.Dash) } -func (p *parser) callonExtraListElement499() (interface{}, error) { +func (p *parser) callonExtraListElement188() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement499() + return p.cur.onExtraListElement188() } -func (c *current) onExtraListElement501() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onExtraListElement190(prefix interface{}) (interface{}, error) { + // log.Debug("matched multiple spaces") return string(c.text), nil + } -func (p *parser) callonExtraListElement501() (interface{}, error) { +func (p *parser) callonExtraListElement190() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement501() + return p.cur.onExtraListElement190(stack["prefix"]) } -func (c *current) onExtraListElement510() (interface{}, error) { - return string(c.text), nil - +func (c *current) onExtraListElement173(prefix interface{}) (interface{}, error) { + return prefix, nil } -func (p *parser) callonExtraListElement510() (interface{}, error) { +func (p *parser) callonExtraListElement173() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement510() + return p.cur.onExtraListElement173(stack["prefix"]) } -func (c *current) onExtraListElement517() (interface{}, error) { - - // `.` is 1, etc. - return (len(c.text)), nil - +func (c *current) onExtraListElement201() (interface{}, error) { + return types.Unchecked, nil } -func (p *parser) callonExtraListElement517() (interface{}, error) { +func (p *parser) callonExtraListElement201() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement517() + return p.cur.onExtraListElement201() } -func (c *current) onExtraListElement520(depth interface{}) (bool, error) { - - // use a predicate to make sure that only `.` to `.....` are allowed - return depth.(int) <= 5, nil - +func (c *current) onExtraListElement203() (interface{}, error) { + return types.Checked, nil } -func (p *parser) callonExtraListElement520() (bool, error) { +func (p *parser) callonExtraListElement203() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement520(stack["depth"]) + return p.cur.onExtraListElement203() } -func (c *current) onExtraListElement514(depth interface{}) (interface{}, error) { - switch depth.(int) { - case 1: - return types.NewOrderedListElementPrefix(types.Arabic) - case 2: - return types.NewOrderedListElementPrefix(types.LowerAlpha) - case 3: - return types.NewOrderedListElementPrefix(types.LowerRoman) - case 4: - return types.NewOrderedListElementPrefix(types.UpperAlpha) - default: - return types.NewOrderedListElementPrefix(types.UpperRoman) - } - +func (c *current) onExtraListElement205() (interface{}, error) { + return types.Checked, nil } -func (p *parser) callonExtraListElement514() (interface{}, error) { +func (p *parser) callonExtraListElement205() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement514(stack["depth"]) + return p.cur.onExtraListElement205() } -func (c *current) onExtraListElement521() (interface{}, error) { - // numbering style: "1.", etc. - return types.NewOrderedListElementPrefix(types.Arabic) +func (c *current) onExtraListElement207(style interface{}) (interface{}, error) { + // log.Debug("matched multiple spaces") + return string(c.text), nil } -func (p *parser) callonExtraListElement521() (interface{}, error) { +func (p *parser) callonExtraListElement207() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement521() + return p.cur.onExtraListElement207(stack["style"]) } -func (c *current) onExtraListElement526() (interface{}, error) { - // numbering style: "a.", etc. - return types.NewOrderedListElementPrefix(types.LowerAlpha) +func (c *current) onExtraListElement195(style interface{}) (interface{}, error) { + return style, nil } -func (p *parser) callonExtraListElement526() (interface{}, error) { +func (p *parser) callonExtraListElement195() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement526() + return p.cur.onExtraListElement195(stack["style"]) } -func (c *current) onExtraListElement530() (interface{}, error) { - // numbering style: "A.", etc. - return types.NewOrderedListElementPrefix(types.UpperAlpha) +func (c *current) onExtraListElement214() (interface{}, error) { + return types.NewRawLine(string(c.text)) } -func (p *parser) callonExtraListElement530() (interface{}, error) { +func (p *parser) callonExtraListElement214() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement530() + return p.cur.onExtraListElement214() } -func (c *current) onExtraListElement534() (interface{}, error) { - // numbering style: "i)", etc. - return types.NewOrderedListElementPrefix(types.LowerRoman) - +func (c *current) onExtraListElement218() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonExtraListElement534() (interface{}, error) { +func (p *parser) callonExtraListElement218() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement534() + return p.cur.onExtraListElement218() } -func (c *current) onExtraListElement539() (interface{}, error) { - // numbering style: "I)", etc. - return types.NewOrderedListElementPrefix(types.UpperRoman) +func (c *current) onExtraListElement211(rawline interface{}) (interface{}, error) { + return types.NewParagraph(rawline) } -func (p *parser) callonExtraListElement539() (interface{}, error) { +func (p *parser) callonExtraListElement211() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement539() + return p.cur.onExtraListElement211(stack["rawline"]) } -func (c *current) onExtraListElement544(prefix interface{}) (interface{}, error) { - // log.Debug("matched multiple spaces") - return string(c.text), nil +func (c *current) onExtraListElement170(prefix, checkstyle, content interface{}) (interface{}, error) { + return types.NewUnorderedListElement(prefix.(types.UnorderedListElementPrefix), checkstyle, content) } -func (p *parser) callonExtraListElement544() (interface{}, error) { +func (p *parser) callonExtraListElement170() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement544(stack["prefix"]) + return p.cur.onExtraListElement170(stack["prefix"], stack["checkstyle"], stack["content"]) } -func (c *current) onExtraListElement507(prefix interface{}) (interface{}, error) { - return prefix, nil +func (c *current) onExtraListElement150(element interface{}) (interface{}, error) { + return element, nil + } -func (p *parser) callonExtraListElement507() (interface{}, error) { +func (p *parser) callonExtraListElement150() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement507(stack["prefix"]) + return p.cur.onExtraListElement150(stack["element"]) } -func (c *current) onExtraListElement551() (interface{}, error) { +func (c *current) onExtraListElement237() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonExtraListElement551() (interface{}, error) { +func (p *parser) callonExtraListElement237() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement551() + return p.cur.onExtraListElement237() } -func (c *current) onExtraListElement558() (interface{}, error) { +func (c *current) onExtraListElement244() (interface{}, error) { // `*` is 1, etc. return (len(c.text)), nil } -func (p *parser) callonExtraListElement558() (interface{}, error) { +func (p *parser) callonExtraListElement244() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement558() + return p.cur.onExtraListElement244() } -func (c *current) onExtraListElement561(depth interface{}) (bool, error) { +func (c *current) onExtraListElement247(depth interface{}) (bool, error) { // use a predicate to make sure that only `*` to `*****` are allowed return depth.(int) <= 5, nil } -func (p *parser) callonExtraListElement561() (bool, error) { +func (p *parser) callonExtraListElement247() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement561(stack["depth"]) + return p.cur.onExtraListElement247(stack["depth"]) } -func (c *current) onExtraListElement555(depth interface{}) (interface{}, error) { +func (c *current) onExtraListElement241(depth interface{}) (interface{}, error) { switch depth.(int) { case 1: return types.NewUnorderedListElementPrefix(types.OneAsterisk) @@ -84879,3814 +82696,3946 @@ func (c *current) onExtraListElement555(depth interface{}) (interface{}, error) } -func (p *parser) callonExtraListElement555() (interface{}, error) { +func (p *parser) callonExtraListElement241() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement555(stack["depth"]) + return p.cur.onExtraListElement241(stack["depth"]) } -func (c *current) onExtraListElement563() (interface{}, error) { +func (c *current) onExtraListElement249() (interface{}, error) { return types.NewUnorderedListElementPrefix(types.Dash) } -func (p *parser) callonExtraListElement563() (interface{}, error) { +func (p *parser) callonExtraListElement249() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement563() + return p.cur.onExtraListElement249() } -func (c *current) onExtraListElement565(prefix interface{}) (interface{}, error) { +func (c *current) onExtraListElement251(prefix interface{}) (interface{}, error) { // log.Debug("matched multiple spaces") return string(c.text), nil } -func (p *parser) callonExtraListElement565() (interface{}, error) { +func (p *parser) callonExtraListElement251() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement565(stack["prefix"]) + return p.cur.onExtraListElement251(stack["prefix"]) } -func (c *current) onExtraListElement548(prefix interface{}) (interface{}, error) { +func (c *current) onExtraListElement234(prefix interface{}) (interface{}, error) { return prefix, nil } -func (p *parser) callonExtraListElement548() (interface{}, error) { +func (p *parser) callonExtraListElement234() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement548(stack["prefix"]) + return p.cur.onExtraListElement234(stack["prefix"]) } -func (c *current) onExtraListElement573() (interface{}, error) { - return strconv.Atoi(string(c.text)) +func (c *current) onExtraListElement262() (interface{}, error) { + return types.Unchecked, nil } -func (p *parser) callonExtraListElement573() (interface{}, error) { +func (p *parser) callonExtraListElement262() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement573() + return p.cur.onExtraListElement262() } -func (c *current) onExtraListElement577(ref interface{}) (interface{}, error) { - // log.Debug("matched multiple spaces") - return string(c.text), nil - +func (c *current) onExtraListElement264() (interface{}, error) { + return types.Checked, nil } -func (p *parser) callonExtraListElement577() (interface{}, error) { +func (p *parser) callonExtraListElement264() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement577(stack["ref"]) + return p.cur.onExtraListElement264() } -func (c *current) onExtraListElement569(ref interface{}) (interface{}, error) { - return ref, nil - +func (c *current) onExtraListElement266() (interface{}, error) { + return types.Checked, nil } -func (p *parser) callonExtraListElement569() (interface{}, error) { +func (p *parser) callonExtraListElement266() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement569(stack["ref"]) + return p.cur.onExtraListElement266() } -func (c *current) onExtraListElement589() (interface{}, error) { - +func (c *current) onExtraListElement268(style interface{}) (interface{}, error) { + // log.Debug("matched multiple spaces") return string(c.text), nil } -func (p *parser) callonExtraListElement589() (interface{}, error) { +func (p *parser) callonExtraListElement268() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement589() + return p.cur.onExtraListElement268(stack["style"]) } -func (c *current) onExtraListElement592(separator interface{}) (bool, error) { - - // use a predicate to make sure that separator is `::`, `:::` or `::::` - return len(separator.(string)) >= 2 && len(separator.(string)) <= 4, nil +func (c *current) onExtraListElement256(style interface{}) (interface{}, error) { + return style, nil } -func (p *parser) callonExtraListElement592() (bool, error) { +func (p *parser) callonExtraListElement256() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement592(stack["separator"]) + return p.cur.onExtraListElement256(stack["style"]) } -func (c *current) onExtraListElement586(separator interface{}) (interface{}, error) { - return separator, nil +func (c *current) onExtraListElement275() (interface{}, error) { + return types.NewRawLine(string(c.text)) } -func (p *parser) callonExtraListElement586() (interface{}, error) { +func (p *parser) callonExtraListElement275() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement586(stack["separator"]) + return p.cur.onExtraListElement275() } -func (c *current) onExtraListElement595() (interface{}, error) { +func (c *current) onExtraListElement279() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonExtraListElement595() (interface{}, error) { +func (p *parser) callonExtraListElement279() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement595() + return p.cur.onExtraListElement279() } -func (c *current) onExtraListElement582() (interface{}, error) { - return types.NewRawLine(strings.TrimSpace(string(c.text))) +func (c *current) onExtraListElement272(rawline interface{}) (interface{}, error) { + return types.NewParagraph(rawline) } -func (p *parser) callonExtraListElement582() (interface{}, error) { +func (p *parser) callonExtraListElement272() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement582() + return p.cur.onExtraListElement272(stack["rawline"]) } -func (c *current) onExtraListElement606() (interface{}, error) { - - return string(c.text), nil +func (c *current) onExtraListElement231(prefix, checkstyle, content interface{}) (interface{}, error) { + return types.NewUnorderedListElement(prefix.(types.UnorderedListElementPrefix), checkstyle, content) } -func (p *parser) callonExtraListElement606() (interface{}, error) { +func (p *parser) callonExtraListElement231() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement606() + return p.cur.onExtraListElement231(stack["prefix"], stack["checkstyle"], stack["content"]) } -func (c *current) onExtraListElement609(separator interface{}) (bool, error) { - - // use a predicate to make sure that separator is `::`, `:::` or `::::` - return len(separator.(string)) >= 2 && len(separator.(string)) <= 4, nil +func (c *current) onExtraListElement225(attributes, element interface{}) (interface{}, error) { + return append(attributes.([]interface{}), element), nil } -func (p *parser) callonExtraListElement609() (bool, error) { +func (p *parser) callonExtraListElement225() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement609(stack["separator"]) + return p.cur.onExtraListElement225(stack["attributes"], stack["element"]) } -func (c *current) onExtraListElement603(separator interface{}) (interface{}, error) { - return separator, nil +func (c *current) onExtraListElement295() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonExtraListElement603() (interface{}, error) { +func (p *parser) callonExtraListElement295() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement603(stack["separator"]) + return p.cur.onExtraListElement295() } -func (c *current) onExtraListElement620() (interface{}, error) { - // sequence of 4 "/" chars or more +func (c *current) onExtraListElement298() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonExtraListElement620() (interface{}, error) { +func (p *parser) callonExtraListElement298() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement620() + return p.cur.onExtraListElement298() } -func (c *current) onExtraListElement626() (interface{}, error) { - return string(c.text), nil +func (c *current) onExtraListElement289() (interface{}, error) { + return types.NewBlankLine() } -func (p *parser) callonExtraListElement626() (interface{}, error) { +func (p *parser) callonExtraListElement289() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement626() + return p.cur.onExtraListElement289() } -func (c *current) onExtraListElement629() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onExtraListElement313() (interface{}, error) { + return strconv.Atoi(string(c.text)) } -func (p *parser) callonExtraListElement629() (interface{}, error) { +func (p *parser) callonExtraListElement313() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement629() + return p.cur.onExtraListElement313() } -func (c *current) onExtraListElement617(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Comment, len(delimiter.(string)), string(c.text)) +func (c *current) onExtraListElement317(ref interface{}) (interface{}, error) { + // log.Debug("matched multiple spaces") + return string(c.text), nil } -func (p *parser) callonExtraListElement617() (interface{}, error) { +func (p *parser) callonExtraListElement317() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement617(stack["delimiter"]) + return p.cur.onExtraListElement317(stack["ref"]) } -func (c *current) onExtraListElement639() (interface{}, error) { - // sequence of 4 "=" chars or more - return string(c.text), nil +func (c *current) onExtraListElement309(ref interface{}) (interface{}, error) { + return ref, nil } -func (p *parser) callonExtraListElement639() (interface{}, error) { +func (p *parser) callonExtraListElement309() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement639() + return p.cur.onExtraListElement309(stack["ref"]) } -func (c *current) onExtraListElement645() (interface{}, error) { +func (c *current) onExtraListElement324() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonExtraListElement645() (interface{}, error) { +func (p *parser) callonExtraListElement324() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement645() + return p.cur.onExtraListElement324() } -func (c *current) onExtraListElement648() (interface{}, error) { +func (c *current) onExtraListElement328() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonExtraListElement648() (interface{}, error) { +func (p *parser) callonExtraListElement328() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement648() + return p.cur.onExtraListElement328() } -func (c *current) onExtraListElement636(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Example, len(delimiter.(string)), string(c.text)) +func (c *current) onExtraListElement321(rawline interface{}) (interface{}, error) { + return types.NewRawLine(rawline.(string)) } -func (p *parser) callonExtraListElement636() (interface{}, error) { +func (p *parser) callonExtraListElement321() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement636(stack["delimiter"]) + return p.cur.onExtraListElement321(stack["rawline"]) } -func (c *current) onExtraListElement659() (interface{}, error) { - // exclude ` to avoid matching fenced blocks with more than 3 "`" delimter chars - return string(c.text), nil +func (c *current) onExtraListElement306(ref, description interface{}) (interface{}, error) { + return types.NewCalloutListElement(ref.(int), description.(types.RawLine)) + } -func (p *parser) callonExtraListElement659() (interface{}, error) { +func (p *parser) callonExtraListElement306() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement659() + return p.cur.onExtraListElement306(stack["ref"], stack["description"]) } -func (c *current) onExtraListElement663() (interface{}, error) { - return string(c.text), nil +func (c *current) onExtraListElement286(element interface{}) (interface{}, error) { + return element, nil } -func (p *parser) callonExtraListElement663() (interface{}, error) { +func (p *parser) callonExtraListElement286() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement663() + return p.cur.onExtraListElement286(stack["element"]) } -func (c *current) onExtraListElement666() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onExtraListElement348() (interface{}, error) { + return strconv.Atoi(string(c.text)) } -func (p *parser) callonExtraListElement666() (interface{}, error) { +func (p *parser) callonExtraListElement348() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement666() + return p.cur.onExtraListElement348() } -func (c *current) onExtraListElement655(language interface{}) (interface{}, error) { - return types.NewMarkdownCodeBlockDelimiter(language.(string), string(c.text)) +func (c *current) onExtraListElement352(ref interface{}) (interface{}, error) { + // log.Debug("matched multiple spaces") + return string(c.text), nil + } -func (p *parser) callonExtraListElement655() (interface{}, error) { +func (p *parser) callonExtraListElement352() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement655(stack["language"]) + return p.cur.onExtraListElement352(stack["ref"]) } -func (c *current) onExtraListElement676() (interface{}, error) { - // sequence of 3 "`" chars or more - return string(c.text), nil +func (c *current) onExtraListElement344(ref interface{}) (interface{}, error) { + return ref, nil } -func (p *parser) callonExtraListElement676() (interface{}, error) { +func (p *parser) callonExtraListElement344() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement676() + return p.cur.onExtraListElement344(stack["ref"]) } -func (c *current) onExtraListElement682() (interface{}, error) { +func (c *current) onExtraListElement359() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonExtraListElement682() (interface{}, error) { +func (p *parser) callonExtraListElement359() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement682() + return p.cur.onExtraListElement359() } -func (c *current) onExtraListElement685() (interface{}, error) { +func (c *current) onExtraListElement363() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonExtraListElement685() (interface{}, error) { +func (p *parser) callonExtraListElement363() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement685() + return p.cur.onExtraListElement363() } -func (c *current) onExtraListElement673(delimiter interface{}) (interface{}, error) { +func (c *current) onExtraListElement356(rawline interface{}) (interface{}, error) { + return types.NewRawLine(rawline.(string)) - return types.NewBlockDelimiter(types.Fenced, len(delimiter.(string)), string(c.text)) +} +func (p *parser) callonExtraListElement356() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement356(stack["rawline"]) } -func (p *parser) callonExtraListElement673() (interface{}, error) { +func (c *current) onExtraListElement341(ref, description interface{}) (interface{}, error) { + return types.NewCalloutListElement(ref.(int), description.(types.RawLine)) + +} + +func (p *parser) callonExtraListElement341() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement673(stack["delimiter"]) + return p.cur.onExtraListElement341(stack["ref"], stack["description"]) } -func (c *current) onExtraListElement695() (interface{}, error) { - // sequence of 4 "-" chars or more - return string(c.text), nil +func (c *current) onExtraListElement335(attributes, element interface{}) (interface{}, error) { + return append(attributes.([]interface{}), element), nil } -func (p *parser) callonExtraListElement695() (interface{}, error) { +func (p *parser) callonExtraListElement335() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement695() + return p.cur.onExtraListElement335(stack["attributes"], stack["element"]) } -func (c *current) onExtraListElement701() (interface{}, error) { +func (c *current) onExtraListElement380() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonExtraListElement701() (interface{}, error) { +func (p *parser) callonExtraListElement380() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement701() + return p.cur.onExtraListElement380() } -func (c *current) onExtraListElement704() (interface{}, error) { +func (c *current) onExtraListElement383() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonExtraListElement704() (interface{}, error) { +func (p *parser) callonExtraListElement383() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement704() + return p.cur.onExtraListElement383() } -func (c *current) onExtraListElement692(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Listing, len(delimiter.(string)), string(c.text)) +func (c *current) onExtraListElement374() (interface{}, error) { + return types.NewBlankLine() } -func (p *parser) callonExtraListElement692() (interface{}, error) { +func (p *parser) callonExtraListElement374() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement692(stack["delimiter"]) + return p.cur.onExtraListElement374() } -func (c *current) onExtraListElement714() (interface{}, error) { - // sequence of 4 "." chars or more +func (c *current) onExtraListElement401() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonExtraListElement714() (interface{}, error) { +func (p *parser) callonExtraListElement401() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement714() + return p.cur.onExtraListElement401() } -func (c *current) onExtraListElement720() (interface{}, error) { - return string(c.text), nil +func (c *current) onExtraListElement404(separator interface{}) (bool, error) { + + // use a predicate to make sure that separator is `::`, `:::` or `::::` + return len(separator.(string)) >= 2 && len(separator.(string)) <= 4, nil } -func (p *parser) callonExtraListElement720() (interface{}, error) { +func (p *parser) callonExtraListElement404() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement720() + return p.cur.onExtraListElement404(stack["separator"]) } -func (c *current) onExtraListElement723() (interface{}, error) { +func (c *current) onExtraListElement398(separator interface{}) (interface{}, error) { + return separator, nil + +} + +func (p *parser) callonExtraListElement398() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement398(stack["separator"]) +} + +func (c *current) onExtraListElement407() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonExtraListElement723() (interface{}, error) { +func (p *parser) callonExtraListElement407() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement723() + return p.cur.onExtraListElement407() } -func (c *current) onExtraListElement711(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Listing, len(delimiter.(string)), string(c.text)) +func (c *current) onExtraListElement394() (interface{}, error) { + return types.NewRawLine(strings.TrimSpace(string(c.text))) } -func (p *parser) callonExtraListElement711() (interface{}, error) { +func (p *parser) callonExtraListElement394() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement711(stack["delimiter"]) + return p.cur.onExtraListElement394() } -func (c *current) onExtraListElement733() (interface{}, error) { - // sequence of 4 "+" chars or more +func (c *current) onExtraListElement419() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonExtraListElement733() (interface{}, error) { +func (p *parser) callonExtraListElement419() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement733() + return p.cur.onExtraListElement419() } -func (c *current) onExtraListElement739() (interface{}, error) { - return string(c.text), nil +func (c *current) onExtraListElement422(separator interface{}) (bool, error) { + + // use a predicate to make sure that separator is `::`, `:::` or `::::` + return len(separator.(string)) >= 2 && len(separator.(string)) <= 4, nil } -func (p *parser) callonExtraListElement739() (interface{}, error) { +func (p *parser) callonExtraListElement422() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement739() + return p.cur.onExtraListElement422(stack["separator"]) } -func (c *current) onExtraListElement742() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onExtraListElement416(separator interface{}) (interface{}, error) { + return separator, nil + } -func (p *parser) callonExtraListElement742() (interface{}, error) { +func (p *parser) callonExtraListElement416() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement742() + return p.cur.onExtraListElement416(stack["separator"]) } -func (c *current) onExtraListElement730(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Passthrough, len(delimiter.(string)), string(c.text)) +func (c *current) onExtraListElement428() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonExtraListElement730() (interface{}, error) { +func (p *parser) callonExtraListElement428() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement730(stack["delimiter"]) + return p.cur.onExtraListElement428() } -func (c *current) onExtraListElement752() (interface{}, error) { - // sequence of 4 "_" chars or more +func (c *current) onExtraListElement431() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonExtraListElement752() (interface{}, error) { +func (p *parser) callonExtraListElement431() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement752() + return p.cur.onExtraListElement431() } -func (c *current) onExtraListElement758() (interface{}, error) { +func (c *current) onExtraListElement445() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonExtraListElement758() (interface{}, error) { +func (p *parser) callonExtraListElement445() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement758() + return p.cur.onExtraListElement445() } -func (c *current) onExtraListElement761() (interface{}, error) { +func (c *current) onExtraListElement448() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonExtraListElement761() (interface{}, error) { +func (p *parser) callonExtraListElement448() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement761() + return p.cur.onExtraListElement448() } -func (c *current) onExtraListElement749(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Quote, len(delimiter.(string)), string(c.text)) +func (c *current) onExtraListElement439() (interface{}, error) { + return types.NewBlankLine() } -func (p *parser) callonExtraListElement749() (interface{}, error) { +func (p *parser) callonExtraListElement439() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement749(stack["delimiter"]) + return p.cur.onExtraListElement439() } -func (c *current) onExtraListElement771() (interface{}, error) { - // sequence of 4 "*" chars or more +func (c *current) onExtraListElement465() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonExtraListElement771() (interface{}, error) { +func (p *parser) callonExtraListElement465() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement771() + return p.cur.onExtraListElement465() } -func (c *current) onExtraListElement777() (interface{}, error) { +func (c *current) onExtraListElement469() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil +} + +func (p *parser) callonExtraListElement469() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement469() +} + +func (c *current) onExtraListElement459(content interface{}) (interface{}, error) { + return types.NewSingleLineComment(content.(string)) } -func (p *parser) callonExtraListElement777() (interface{}, error) { +func (p *parser) callonExtraListElement459() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement777() + return p.cur.onExtraListElement459(stack["content"]) } -func (c *current) onExtraListElement780() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onExtraListElement458(content interface{}) (interface{}, error) { + return nil, nil // taking a shortcut to ignore commented out content and avoid having empty paragraphs + } -func (p *parser) callonExtraListElement780() (interface{}, error) { +func (p *parser) callonExtraListElement458() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement780() + return p.cur.onExtraListElement458(stack["content"]) } -func (c *current) onExtraListElement768(delimiter interface{}) (interface{}, error) { +func (c *current) onExtraListElement485() (interface{}, error) { + return string(c.text), nil - return types.NewBlockDelimiter(types.Sidebar, len(delimiter.(string)), string(c.text)) +} +func (p *parser) callonExtraListElement485() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement485() } -func (p *parser) callonExtraListElement768() (interface{}, error) { +func (c *current) onExtraListElement488() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonExtraListElement488() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement768(stack["delimiter"]) + return p.cur.onExtraListElement488() } -func (c *current) onExtraListElement611(delimiter interface{}) (interface{}, error) { - return delimiter, nil +func (c *current) onExtraListElement479() (interface{}, error) { + return types.NewBlankLine() } -func (p *parser) callonExtraListElement611() (interface{}, error) { +func (p *parser) callonExtraListElement479() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement611(stack["delimiter"]) + return p.cur.onExtraListElement479() } -func (c *current) onExtraListElement788() (interface{}, error) { - return strings.TrimSpace(string(c.text)), nil - +func (c *current) onExtraListElement499() (interface{}, error) { + return string(c.text), nil + } -func (p *parser) callonExtraListElement788() (interface{}, error) { +func (p *parser) callonExtraListElement499() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement788() + return p.cur.onExtraListElement499() } -func (c *current) onExtraListElement792() (interface{}, error) { +func (c *current) onExtraListElement501() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonExtraListElement792() (interface{}, error) { +func (p *parser) callonExtraListElement501() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement792() + return p.cur.onExtraListElement501() } -func (c *current) onExtraListElement476(content interface{}) (interface{}, error) { - // do not retain the EOL chars - return types.NewRawLine(content.(string)) +func (c *current) onExtraListElement510() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonExtraListElement476() (interface{}, error) { +func (p *parser) callonExtraListElement510() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement476(stack["content"]) + return p.cur.onExtraListElement510() } -func (c *current) onExtraListElement425(content interface{}) (interface{}, error) { - if content == nil { - return nil, nil - } - return types.NewParagraph(content) +func (c *current) onExtraListElement517() (interface{}, error) { + + // `.` is 1, etc. + return (len(c.text)), nil } -func (p *parser) callonExtraListElement425() (interface{}, error) { +func (p *parser) callonExtraListElement517() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement425(stack["content"]) + return p.cur.onExtraListElement517() } -func (c *current) onExtraListElement801() (interface{}, error) { - // log.Debug("matched multiple spaces") - return string(c.text), nil +func (c *current) onExtraListElement520(depth interface{}) (bool, error) { + + // use a predicate to make sure that only `.` to `.....` are allowed + return depth.(int) <= 5, nil } -func (p *parser) callonExtraListElement801() (interface{}, error) { +func (p *parser) callonExtraListElement520() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement801() + return p.cur.onExtraListElement520(stack["depth"]) } -func (c *current) onExtraListElement805() (interface{}, error) { - return types.NewRawLine(string(c.text)) +func (c *current) onExtraListElement514(depth interface{}) (interface{}, error) { + switch depth.(int) { + case 1: + return types.NewOrderedListElementPrefix(types.Arabic) + case 2: + return types.NewOrderedListElementPrefix(types.LowerAlpha) + case 3: + return types.NewOrderedListElementPrefix(types.LowerRoman) + case 4: + return types.NewOrderedListElementPrefix(types.UpperAlpha) + default: + return types.NewOrderedListElementPrefix(types.UpperRoman) + } } -func (p *parser) callonExtraListElement805() (interface{}, error) { +func (p *parser) callonExtraListElement514() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement805() + return p.cur.onExtraListElement514(stack["depth"]) } -func (c *current) onExtraListElement809() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onExtraListElement521() (interface{}, error) { + // numbering style: "1.", etc. + return types.NewOrderedListElementPrefix(types.Arabic) + } -func (p *parser) callonExtraListElement809() (interface{}, error) { +func (p *parser) callonExtraListElement521() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement809() + return p.cur.onExtraListElement521() } -func (c *current) onExtraListElement799(content interface{}) (interface{}, error) { - return types.NewParagraph(content) +func (c *current) onExtraListElement526() (interface{}, error) { + // numbering style: "a.", etc. + return types.NewOrderedListElementPrefix(types.LowerAlpha) } -func (p *parser) callonExtraListElement799() (interface{}, error) { +func (p *parser) callonExtraListElement526() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement799(stack["content"]) + return p.cur.onExtraListElement526() } -func (c *current) onExtraListElement391(term, separator, description interface{}) (interface{}, error) { - return types.NewLabeledListElement(len(separator.(string))-1, term, description) +func (c *current) onExtraListElement530() (interface{}, error) { + // numbering style: "A.", etc. + return types.NewOrderedListElementPrefix(types.UpperAlpha) } -func (p *parser) callonExtraListElement391() (interface{}, error) { +func (p *parser) callonExtraListElement530() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement391(stack["term"], stack["separator"], stack["description"]) + return p.cur.onExtraListElement530() } -func (c *current) onExtraListElement371(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onExtraListElement534() (interface{}, error) { + // numbering style: "i)", etc. + return types.NewOrderedListElementPrefix(types.LowerRoman) } -func (p *parser) callonExtraListElement371() (interface{}, error) { +func (p *parser) callonExtraListElement534() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement371(stack["element"]) + return p.cur.onExtraListElement534() } -func (c *current) onExtraListElement832() (interface{}, error) { - - return string(c.text), nil +func (c *current) onExtraListElement539() (interface{}, error) { + // numbering style: "I)", etc. + return types.NewOrderedListElementPrefix(types.UpperRoman) } -func (p *parser) callonExtraListElement832() (interface{}, error) { +func (p *parser) callonExtraListElement539() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement832() + return p.cur.onExtraListElement539() } -func (c *current) onExtraListElement835(separator interface{}) (bool, error) { - - // use a predicate to make sure that separator is `::`, `:::` or `::::` - return len(separator.(string)) >= 2 && len(separator.(string)) <= 4, nil +func (c *current) onExtraListElement544(prefix interface{}) (interface{}, error) { + // log.Debug("matched multiple spaces") + return string(c.text), nil } -func (p *parser) callonExtraListElement835() (bool, error) { +func (p *parser) callonExtraListElement544() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement835(stack["separator"]) + return p.cur.onExtraListElement544(stack["prefix"]) } -func (c *current) onExtraListElement829(separator interface{}) (interface{}, error) { - return separator, nil - +func (c *current) onExtraListElement507(prefix interface{}) (interface{}, error) { + return prefix, nil } -func (p *parser) callonExtraListElement829() (interface{}, error) { +func (p *parser) callonExtraListElement507() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement829(stack["separator"]) + return p.cur.onExtraListElement507(stack["prefix"]) } -func (c *current) onExtraListElement838() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onExtraListElement551() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonExtraListElement838() (interface{}, error) { +func (p *parser) callonExtraListElement551() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement838() + return p.cur.onExtraListElement551() } -func (c *current) onExtraListElement825() (interface{}, error) { - return types.NewRawLine(strings.TrimSpace(string(c.text))) +func (c *current) onExtraListElement558() (interface{}, error) { + + // `*` is 1, etc. + return (len(c.text)), nil } -func (p *parser) callonExtraListElement825() (interface{}, error) { +func (p *parser) callonExtraListElement558() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement825() + return p.cur.onExtraListElement558() } -func (c *current) onExtraListElement850() (interface{}, error) { +func (c *current) onExtraListElement561(depth interface{}) (bool, error) { - return string(c.text), nil + // use a predicate to make sure that only `*` to `*****` are allowed + return depth.(int) <= 5, nil } -func (p *parser) callonExtraListElement850() (interface{}, error) { +func (p *parser) callonExtraListElement561() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement850() + return p.cur.onExtraListElement561(stack["depth"]) } -func (c *current) onExtraListElement853(separator interface{}) (bool, error) { - - // use a predicate to make sure that separator is `::`, `:::` or `::::` - return len(separator.(string)) >= 2 && len(separator.(string)) <= 4, nil +func (c *current) onExtraListElement555(depth interface{}) (interface{}, error) { + switch depth.(int) { + case 1: + return types.NewUnorderedListElementPrefix(types.OneAsterisk) + case 2: + return types.NewUnorderedListElementPrefix(types.TwoAsterisks) + case 3: + return types.NewUnorderedListElementPrefix(types.ThreeAsterisks) + case 4: + return types.NewUnorderedListElementPrefix(types.FourAsterisks) + default: + return types.NewUnorderedListElementPrefix(types.FiveAsterisks) + } } -func (p *parser) callonExtraListElement853() (bool, error) { +func (p *parser) callonExtraListElement555() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement853(stack["separator"]) + return p.cur.onExtraListElement555(stack["depth"]) } -func (c *current) onExtraListElement847(separator interface{}) (interface{}, error) { - return separator, nil +func (c *current) onExtraListElement563() (interface{}, error) { + return types.NewUnorderedListElementPrefix(types.Dash) } -func (p *parser) callonExtraListElement847() (interface{}, error) { +func (p *parser) callonExtraListElement563() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement847(stack["separator"]) + return p.cur.onExtraListElement563() } -func (c *current) onExtraListElement859() (interface{}, error) { +func (c *current) onExtraListElement565(prefix interface{}) (interface{}, error) { + // log.Debug("matched multiple spaces") return string(c.text), nil } -func (p *parser) callonExtraListElement859() (interface{}, error) { +func (p *parser) callonExtraListElement565() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement859() + return p.cur.onExtraListElement565(stack["prefix"]) } -func (c *current) onExtraListElement862() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onExtraListElement548(prefix interface{}) (interface{}, error) { + return prefix, nil } -func (p *parser) callonExtraListElement862() (interface{}, error) { +func (p *parser) callonExtraListElement548() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement862() + return p.cur.onExtraListElement548(stack["prefix"]) } -func (c *current) onExtraListElement876() (interface{}, error) { - return string(c.text), nil - +func (c *current) onExtraListElement573() (interface{}, error) { + return strconv.Atoi(string(c.text)) } -func (p *parser) callonExtraListElement876() (interface{}, error) { +func (p *parser) callonExtraListElement573() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement876() + return p.cur.onExtraListElement573() } -func (c *current) onExtraListElement879() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onExtraListElement577(ref interface{}) (interface{}, error) { + // log.Debug("matched multiple spaces") return string(c.text), nil + } -func (p *parser) callonExtraListElement879() (interface{}, error) { +func (p *parser) callonExtraListElement577() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement879() + return p.cur.onExtraListElement577(stack["ref"]) } -func (c *current) onExtraListElement870() (interface{}, error) { - return types.NewBlankLine() +func (c *current) onExtraListElement569(ref interface{}) (interface{}, error) { + return ref, nil } -func (p *parser) callonExtraListElement870() (interface{}, error) { +func (p *parser) callonExtraListElement569() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement870() + return p.cur.onExtraListElement569(stack["ref"]) } -func (c *current) onExtraListElement896() (interface{}, error) { +func (c *current) onExtraListElement589() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonExtraListElement896() (interface{}, error) { +func (p *parser) callonExtraListElement589() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement896() + return p.cur.onExtraListElement589() } -func (c *current) onExtraListElement900() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onExtraListElement592(separator interface{}) (bool, error) { + + // use a predicate to make sure that separator is `::`, `:::` or `::::` + return len(separator.(string)) >= 2 && len(separator.(string)) <= 4, nil + } -func (p *parser) callonExtraListElement900() (interface{}, error) { +func (p *parser) callonExtraListElement592() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement900() + return p.cur.onExtraListElement592(stack["separator"]) } -func (c *current) onExtraListElement890(content interface{}) (interface{}, error) { - return types.NewSingleLineComment(content.(string)) +func (c *current) onExtraListElement586(separator interface{}) (interface{}, error) { + return separator, nil } -func (p *parser) callonExtraListElement890() (interface{}, error) { +func (p *parser) callonExtraListElement586() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement890(stack["content"]) + return p.cur.onExtraListElement586(stack["separator"]) } -func (c *current) onExtraListElement889(content interface{}) (interface{}, error) { - return nil, nil // taking a shortcut to ignore commented out content and avoid having empty paragraphs - +func (c *current) onExtraListElement595() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonExtraListElement889() (interface{}, error) { +func (p *parser) callonExtraListElement595() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement889(stack["content"]) + return p.cur.onExtraListElement595() } -func (c *current) onExtraListElement916() (interface{}, error) { - return string(c.text), nil +func (c *current) onExtraListElement582() (interface{}, error) { + return types.NewRawLine(strings.TrimSpace(string(c.text))) } -func (p *parser) callonExtraListElement916() (interface{}, error) { +func (p *parser) callonExtraListElement582() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement916() + return p.cur.onExtraListElement582() } -func (c *current) onExtraListElement919() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onExtraListElement606() (interface{}, error) { + return string(c.text), nil + } -func (p *parser) callonExtraListElement919() (interface{}, error) { +func (p *parser) callonExtraListElement606() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement919() + return p.cur.onExtraListElement606() } -func (c *current) onExtraListElement910() (interface{}, error) { - return types.NewBlankLine() +func (c *current) onExtraListElement609(separator interface{}) (bool, error) { + + // use a predicate to make sure that separator is `::`, `:::` or `::::` + return len(separator.(string)) >= 2 && len(separator.(string)) <= 4, nil } -func (p *parser) callonExtraListElement910() (interface{}, error) { +func (p *parser) callonExtraListElement609() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement910() + return p.cur.onExtraListElement609(stack["separator"]) } -func (c *current) onExtraListElement930() (interface{}, error) { - return string(c.text), nil +func (c *current) onExtraListElement603(separator interface{}) (interface{}, error) { + return separator, nil } -func (p *parser) callonExtraListElement930() (interface{}, error) { +func (p *parser) callonExtraListElement603() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement930() + return p.cur.onExtraListElement603(stack["separator"]) } -func (c *current) onExtraListElement932() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onExtraListElement620() (interface{}, error) { + // sequence of 4 "/" chars or more return string(c.text), nil + } -func (p *parser) callonExtraListElement932() (interface{}, error) { +func (p *parser) callonExtraListElement620() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement932() + return p.cur.onExtraListElement620() } -func (c *current) onExtraListElement941() (interface{}, error) { +func (c *current) onExtraListElement626() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonExtraListElement941() (interface{}, error) { +func (p *parser) callonExtraListElement626() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement941() + return p.cur.onExtraListElement626() } -func (c *current) onExtraListElement948() (interface{}, error) { - - // `.` is 1, etc. - return (len(c.text)), nil - +func (c *current) onExtraListElement629() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonExtraListElement948() (interface{}, error) { +func (p *parser) callonExtraListElement629() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement948() + return p.cur.onExtraListElement629() } -func (c *current) onExtraListElement951(depth interface{}) (bool, error) { +func (c *current) onExtraListElement617(delimiter interface{}) (interface{}, error) { - // use a predicate to make sure that only `.` to `.....` are allowed - return depth.(int) <= 5, nil + return types.NewBlockDelimiter(types.Comment, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonExtraListElement951() (bool, error) { +func (p *parser) callonExtraListElement617() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement951(stack["depth"]) + return p.cur.onExtraListElement617(stack["delimiter"]) } -func (c *current) onExtraListElement945(depth interface{}) (interface{}, error) { - switch depth.(int) { - case 1: - return types.NewOrderedListElementPrefix(types.Arabic) - case 2: - return types.NewOrderedListElementPrefix(types.LowerAlpha) - case 3: - return types.NewOrderedListElementPrefix(types.LowerRoman) - case 4: - return types.NewOrderedListElementPrefix(types.UpperAlpha) - default: - return types.NewOrderedListElementPrefix(types.UpperRoman) - } +func (c *current) onExtraListElement639() (interface{}, error) { + // sequence of 4 "=" chars or more + return string(c.text), nil } -func (p *parser) callonExtraListElement945() (interface{}, error) { +func (p *parser) callonExtraListElement639() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement945(stack["depth"]) + return p.cur.onExtraListElement639() } -func (c *current) onExtraListElement952() (interface{}, error) { - // numbering style: "1.", etc. - return types.NewOrderedListElementPrefix(types.Arabic) +func (c *current) onExtraListElement645() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonExtraListElement952() (interface{}, error) { +func (p *parser) callonExtraListElement645() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement952() + return p.cur.onExtraListElement645() } -func (c *current) onExtraListElement957() (interface{}, error) { - // numbering style: "a.", etc. - return types.NewOrderedListElementPrefix(types.LowerAlpha) - +func (c *current) onExtraListElement648() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonExtraListElement957() (interface{}, error) { +func (p *parser) callonExtraListElement648() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement957() + return p.cur.onExtraListElement648() } -func (c *current) onExtraListElement961() (interface{}, error) { - // numbering style: "A.", etc. - return types.NewOrderedListElementPrefix(types.UpperAlpha) +func (c *current) onExtraListElement636(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Example, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonExtraListElement961() (interface{}, error) { +func (p *parser) callonExtraListElement636() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement961() + return p.cur.onExtraListElement636(stack["delimiter"]) } -func (c *current) onExtraListElement965() (interface{}, error) { - // numbering style: "i)", etc. - return types.NewOrderedListElementPrefix(types.LowerRoman) - +func (c *current) onExtraListElement659() (interface{}, error) { + // exclude ` to avoid matching fenced blocks with more than 3 "`" delimter chars + return string(c.text), nil } -func (p *parser) callonExtraListElement965() (interface{}, error) { +func (p *parser) callonExtraListElement659() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement965() + return p.cur.onExtraListElement659() } -func (c *current) onExtraListElement970() (interface{}, error) { - // numbering style: "I)", etc. - return types.NewOrderedListElementPrefix(types.UpperRoman) +func (c *current) onExtraListElement663() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonExtraListElement970() (interface{}, error) { +func (p *parser) callonExtraListElement663() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement970() + return p.cur.onExtraListElement663() } -func (c *current) onExtraListElement975(prefix interface{}) (interface{}, error) { - // log.Debug("matched multiple spaces") +func (c *current) onExtraListElement666() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonExtraListElement975() (interface{}, error) { +func (p *parser) callonExtraListElement666() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement975(stack["prefix"]) + return p.cur.onExtraListElement666() } -func (c *current) onExtraListElement938(prefix interface{}) (interface{}, error) { - return prefix, nil +func (c *current) onExtraListElement655(language interface{}) (interface{}, error) { + return types.NewMarkdownCodeBlockDelimiter(language.(string), string(c.text)) } -func (p *parser) callonExtraListElement938() (interface{}, error) { +func (p *parser) callonExtraListElement655() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement938(stack["prefix"]) + return p.cur.onExtraListElement655(stack["language"]) } -func (c *current) onExtraListElement982() (interface{}, error) { +func (c *current) onExtraListElement676() (interface{}, error) { + // sequence of 3 "`" chars or more return string(c.text), nil } -func (p *parser) callonExtraListElement982() (interface{}, error) { +func (p *parser) callonExtraListElement676() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement982() + return p.cur.onExtraListElement676() } -func (c *current) onExtraListElement989() (interface{}, error) { +func (c *current) onExtraListElement682() (interface{}, error) { + return string(c.text), nil - // `*` is 1, etc. - return (len(c.text)), nil +} +func (p *parser) callonExtraListElement682() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement682() } -func (p *parser) callonExtraListElement989() (interface{}, error) { +func (c *current) onExtraListElement685() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonExtraListElement685() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement989() + return p.cur.onExtraListElement685() } -func (c *current) onExtraListElement992(depth interface{}) (bool, error) { +func (c *current) onExtraListElement673(delimiter interface{}) (interface{}, error) { - // use a predicate to make sure that only `*` to `*****` are allowed - return depth.(int) <= 5, nil + return types.NewBlockDelimiter(types.Fenced, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonExtraListElement992() (bool, error) { +func (p *parser) callonExtraListElement673() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement992(stack["depth"]) + return p.cur.onExtraListElement673(stack["delimiter"]) } -func (c *current) onExtraListElement986(depth interface{}) (interface{}, error) { - switch depth.(int) { - case 1: - return types.NewUnorderedListElementPrefix(types.OneAsterisk) - case 2: - return types.NewUnorderedListElementPrefix(types.TwoAsterisks) - case 3: - return types.NewUnorderedListElementPrefix(types.ThreeAsterisks) - case 4: - return types.NewUnorderedListElementPrefix(types.FourAsterisks) - default: - return types.NewUnorderedListElementPrefix(types.FiveAsterisks) - } +func (c *current) onExtraListElement695() (interface{}, error) { + // sequence of 4 "-" chars or more + return string(c.text), nil } -func (p *parser) callonExtraListElement986() (interface{}, error) { +func (p *parser) callonExtraListElement695() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement986(stack["depth"]) + return p.cur.onExtraListElement695() } -func (c *current) onExtraListElement994() (interface{}, error) { - return types.NewUnorderedListElementPrefix(types.Dash) +func (c *current) onExtraListElement701() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonExtraListElement994() (interface{}, error) { +func (p *parser) callonExtraListElement701() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement994() + return p.cur.onExtraListElement701() } -func (c *current) onExtraListElement996(prefix interface{}) (interface{}, error) { - // log.Debug("matched multiple spaces") +func (c *current) onExtraListElement704() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonExtraListElement996() (interface{}, error) { +func (p *parser) callonExtraListElement704() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement996(stack["prefix"]) + return p.cur.onExtraListElement704() } -func (c *current) onExtraListElement979(prefix interface{}) (interface{}, error) { - return prefix, nil +func (c *current) onExtraListElement692(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Listing, len(delimiter.(string)), string(c.text)) + } -func (p *parser) callonExtraListElement979() (interface{}, error) { +func (p *parser) callonExtraListElement692() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement979(stack["prefix"]) + return p.cur.onExtraListElement692(stack["delimiter"]) } -func (c *current) onExtraListElement1004() (interface{}, error) { - return strconv.Atoi(string(c.text)) +func (c *current) onExtraListElement714() (interface{}, error) { + // sequence of 4 "." chars or more + return string(c.text), nil + } -func (p *parser) callonExtraListElement1004() (interface{}, error) { +func (p *parser) callonExtraListElement714() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1004() + return p.cur.onExtraListElement714() } -func (c *current) onExtraListElement1008(ref interface{}) (interface{}, error) { - // log.Debug("matched multiple spaces") +func (c *current) onExtraListElement720() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonExtraListElement1008() (interface{}, error) { +func (p *parser) callonExtraListElement720() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1008(stack["ref"]) + return p.cur.onExtraListElement720() } -func (c *current) onExtraListElement1000(ref interface{}) (interface{}, error) { - return ref, nil - +func (c *current) onExtraListElement723() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonExtraListElement1000() (interface{}, error) { +func (p *parser) callonExtraListElement723() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1000(stack["ref"]) + return p.cur.onExtraListElement723() } -func (c *current) onExtraListElement1020() (interface{}, error) { +func (c *current) onExtraListElement711(delimiter interface{}) (interface{}, error) { - return string(c.text), nil + return types.NewBlockDelimiter(types.Listing, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonExtraListElement1020() (interface{}, error) { +func (p *parser) callonExtraListElement711() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1020() + return p.cur.onExtraListElement711(stack["delimiter"]) } -func (c *current) onExtraListElement1023(separator interface{}) (bool, error) { - - // use a predicate to make sure that separator is `::`, `:::` or `::::` - return len(separator.(string)) >= 2 && len(separator.(string)) <= 4, nil +func (c *current) onExtraListElement733() (interface{}, error) { + // sequence of 4 "+" chars or more + return string(c.text), nil } -func (p *parser) callonExtraListElement1023() (bool, error) { +func (p *parser) callonExtraListElement733() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1023(stack["separator"]) + return p.cur.onExtraListElement733() } -func (c *current) onExtraListElement1017(separator interface{}) (interface{}, error) { - return separator, nil +func (c *current) onExtraListElement739() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonExtraListElement1017() (interface{}, error) { +func (p *parser) callonExtraListElement739() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1017(stack["separator"]) + return p.cur.onExtraListElement739() } -func (c *current) onExtraListElement1026() (interface{}, error) { +func (c *current) onExtraListElement742() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonExtraListElement1026() (interface{}, error) { +func (p *parser) callonExtraListElement742() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1026() + return p.cur.onExtraListElement742() } -func (c *current) onExtraListElement1013() (interface{}, error) { - return types.NewRawLine(strings.TrimSpace(string(c.text))) +func (c *current) onExtraListElement730(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Passthrough, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonExtraListElement1013() (interface{}, error) { +func (p *parser) callonExtraListElement730() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1013() + return p.cur.onExtraListElement730(stack["delimiter"]) } -func (c *current) onExtraListElement1037() (interface{}, error) { - +func (c *current) onExtraListElement752() (interface{}, error) { + // sequence of 4 "_" chars or more return string(c.text), nil } -func (p *parser) callonExtraListElement1037() (interface{}, error) { +func (p *parser) callonExtraListElement752() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1037() + return p.cur.onExtraListElement752() } -func (c *current) onExtraListElement1040(separator interface{}) (bool, error) { +func (c *current) onExtraListElement758() (interface{}, error) { + return string(c.text), nil - // use a predicate to make sure that separator is `::`, `:::` or `::::` - return len(separator.(string)) >= 2 && len(separator.(string)) <= 4, nil +} + +func (p *parser) callonExtraListElement758() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement758() +} +func (c *current) onExtraListElement761() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonExtraListElement1040() (bool, error) { +func (p *parser) callonExtraListElement761() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1040(stack["separator"]) + return p.cur.onExtraListElement761() } -func (c *current) onExtraListElement1034(separator interface{}) (interface{}, error) { - return separator, nil +func (c *current) onExtraListElement749(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Quote, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonExtraListElement1034() (interface{}, error) { +func (p *parser) callonExtraListElement749() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1034(stack["separator"]) + return p.cur.onExtraListElement749(stack["delimiter"]) } -func (c *current) onExtraListElement1051() (interface{}, error) { - // sequence of 4 "/" chars or more +func (c *current) onExtraListElement771() (interface{}, error) { + // sequence of 4 "*" chars or more return string(c.text), nil } -func (p *parser) callonExtraListElement1051() (interface{}, error) { +func (p *parser) callonExtraListElement771() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1051() + return p.cur.onExtraListElement771() } -func (c *current) onExtraListElement1057() (interface{}, error) { +func (c *current) onExtraListElement777() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonExtraListElement1057() (interface{}, error) { +func (p *parser) callonExtraListElement777() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1057() + return p.cur.onExtraListElement777() } -func (c *current) onExtraListElement1060() (interface{}, error) { +func (c *current) onExtraListElement780() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonExtraListElement1060() (interface{}, error) { +func (p *parser) callonExtraListElement780() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1060() + return p.cur.onExtraListElement780() } -func (c *current) onExtraListElement1048(delimiter interface{}) (interface{}, error) { +func (c *current) onExtraListElement768(delimiter interface{}) (interface{}, error) { - return types.NewBlockDelimiter(types.Comment, len(delimiter.(string)), string(c.text)) + return types.NewBlockDelimiter(types.Sidebar, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonExtraListElement1048() (interface{}, error) { +func (p *parser) callonExtraListElement768() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1048(stack["delimiter"]) + return p.cur.onExtraListElement768(stack["delimiter"]) } -func (c *current) onExtraListElement1070() (interface{}, error) { - // sequence of 4 "=" chars or more - return string(c.text), nil +func (c *current) onExtraListElement611(delimiter interface{}) (interface{}, error) { + return delimiter, nil } -func (p *parser) callonExtraListElement1070() (interface{}, error) { +func (p *parser) callonExtraListElement611() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1070() + return p.cur.onExtraListElement611(stack["delimiter"]) } -func (c *current) onExtraListElement1076() (interface{}, error) { - return string(c.text), nil +func (c *current) onExtraListElement788() (interface{}, error) { + return strings.TrimSpace(string(c.text)), nil } -func (p *parser) callonExtraListElement1076() (interface{}, error) { +func (p *parser) callonExtraListElement788() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1076() + return p.cur.onExtraListElement788() } -func (c *current) onExtraListElement1079() (interface{}, error) { +func (c *current) onExtraListElement792() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonExtraListElement1079() (interface{}, error) { +func (p *parser) callonExtraListElement792() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1079() + return p.cur.onExtraListElement792() } -func (c *current) onExtraListElement1067(delimiter interface{}) (interface{}, error) { +func (c *current) onExtraListElement476(content interface{}) (interface{}, error) { + // do not retain the EOL chars + return types.NewRawLine(content.(string)) - return types.NewBlockDelimiter(types.Example, len(delimiter.(string)), string(c.text)) +} + +func (p *parser) callonExtraListElement476() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement476(stack["content"]) +} + +func (c *current) onExtraListElement425(content interface{}) (interface{}, error) { + if content == nil { + return nil, nil + } + return types.NewParagraph(content) } -func (p *parser) callonExtraListElement1067() (interface{}, error) { +func (p *parser) callonExtraListElement425() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1067(stack["delimiter"]) + return p.cur.onExtraListElement425(stack["content"]) } -func (c *current) onExtraListElement1090() (interface{}, error) { - // exclude ` to avoid matching fenced blocks with more than 3 "`" delimter chars +func (c *current) onExtraListElement801() (interface{}, error) { + // log.Debug("matched multiple spaces") return string(c.text), nil + } -func (p *parser) callonExtraListElement1090() (interface{}, error) { +func (p *parser) callonExtraListElement801() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1090() + return p.cur.onExtraListElement801() } -func (c *current) onExtraListElement1094() (interface{}, error) { - return string(c.text), nil +func (c *current) onExtraListElement805() (interface{}, error) { + return types.NewRawLine(string(c.text)) } -func (p *parser) callonExtraListElement1094() (interface{}, error) { +func (p *parser) callonExtraListElement805() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1094() + return p.cur.onExtraListElement805() } -func (c *current) onExtraListElement1097() (interface{}, error) { +func (c *current) onExtraListElement809() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonExtraListElement1097() (interface{}, error) { +func (p *parser) callonExtraListElement809() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1097() + return p.cur.onExtraListElement809() } -func (c *current) onExtraListElement1086(language interface{}) (interface{}, error) { - return types.NewMarkdownCodeBlockDelimiter(language.(string), string(c.text)) +func (c *current) onExtraListElement799(content interface{}) (interface{}, error) { + return types.NewParagraph(content) + } -func (p *parser) callonExtraListElement1086() (interface{}, error) { +func (p *parser) callonExtraListElement799() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1086(stack["language"]) + return p.cur.onExtraListElement799(stack["content"]) } -func (c *current) onExtraListElement1107() (interface{}, error) { - // sequence of 3 "`" chars or more - return string(c.text), nil +func (c *current) onExtraListElement391(term, separator, description interface{}) (interface{}, error) { + return types.NewLabeledListElement(len(separator.(string))-1, term, description) } -func (p *parser) callonExtraListElement1107() (interface{}, error) { +func (p *parser) callonExtraListElement391() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1107() + return p.cur.onExtraListElement391(stack["term"], stack["separator"], stack["description"]) } -func (c *current) onExtraListElement1113() (interface{}, error) { - return string(c.text), nil +func (c *current) onExtraListElement371(element interface{}) (interface{}, error) { + return element, nil } -func (p *parser) callonExtraListElement1113() (interface{}, error) { +func (p *parser) callonExtraListElement371() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1113() + return p.cur.onExtraListElement371(stack["element"]) } -func (c *current) onExtraListElement1116() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onExtraListElement832() (interface{}, error) { + return string(c.text), nil + } -func (p *parser) callonExtraListElement1116() (interface{}, error) { +func (p *parser) callonExtraListElement832() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1116() + return p.cur.onExtraListElement832() } -func (c *current) onExtraListElement1104(delimiter interface{}) (interface{}, error) { +func (c *current) onExtraListElement835(separator interface{}) (bool, error) { - return types.NewBlockDelimiter(types.Fenced, len(delimiter.(string)), string(c.text)) + // use a predicate to make sure that separator is `::`, `:::` or `::::` + return len(separator.(string)) >= 2 && len(separator.(string)) <= 4, nil } -func (p *parser) callonExtraListElement1104() (interface{}, error) { +func (p *parser) callonExtraListElement835() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1104(stack["delimiter"]) + return p.cur.onExtraListElement835(stack["separator"]) } -func (c *current) onExtraListElement1126() (interface{}, error) { - // sequence of 4 "-" chars or more - return string(c.text), nil +func (c *current) onExtraListElement829(separator interface{}) (interface{}, error) { + return separator, nil } -func (p *parser) callonExtraListElement1126() (interface{}, error) { +func (p *parser) callonExtraListElement829() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1126() + return p.cur.onExtraListElement829(stack["separator"]) } -func (c *current) onExtraListElement1132() (interface{}, error) { +func (c *current) onExtraListElement838() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil +} + +func (p *parser) callonExtraListElement838() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement838() +} + +func (c *current) onExtraListElement825() (interface{}, error) { + return types.NewRawLine(strings.TrimSpace(string(c.text))) } -func (p *parser) callonExtraListElement1132() (interface{}, error) { +func (p *parser) callonExtraListElement825() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1132() + return p.cur.onExtraListElement825() } -func (c *current) onExtraListElement1135() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onExtraListElement850() (interface{}, error) { + return string(c.text), nil + } -func (p *parser) callonExtraListElement1135() (interface{}, error) { +func (p *parser) callonExtraListElement850() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1135() + return p.cur.onExtraListElement850() } -func (c *current) onExtraListElement1123(delimiter interface{}) (interface{}, error) { +func (c *current) onExtraListElement853(separator interface{}) (bool, error) { - return types.NewBlockDelimiter(types.Listing, len(delimiter.(string)), string(c.text)) + // use a predicate to make sure that separator is `::`, `:::` or `::::` + return len(separator.(string)) >= 2 && len(separator.(string)) <= 4, nil } -func (p *parser) callonExtraListElement1123() (interface{}, error) { +func (p *parser) callonExtraListElement853() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1123(stack["delimiter"]) + return p.cur.onExtraListElement853(stack["separator"]) } -func (c *current) onExtraListElement1145() (interface{}, error) { - // sequence of 4 "." chars or more - return string(c.text), nil +func (c *current) onExtraListElement847(separator interface{}) (interface{}, error) { + return separator, nil } -func (p *parser) callonExtraListElement1145() (interface{}, error) { +func (p *parser) callonExtraListElement847() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1145() + return p.cur.onExtraListElement847(stack["separator"]) } -func (c *current) onExtraListElement1151() (interface{}, error) { +func (c *current) onExtraListElement859() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonExtraListElement1151() (interface{}, error) { +func (p *parser) callonExtraListElement859() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1151() + return p.cur.onExtraListElement859() } -func (c *current) onExtraListElement1154() (interface{}, error) { +func (c *current) onExtraListElement862() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonExtraListElement1154() (interface{}, error) { +func (p *parser) callonExtraListElement862() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1154() + return p.cur.onExtraListElement862() } -func (c *current) onExtraListElement1142(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Listing, len(delimiter.(string)), string(c.text)) +func (c *current) onExtraListElement876() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonExtraListElement1142() (interface{}, error) { +func (p *parser) callonExtraListElement876() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1142(stack["delimiter"]) + return p.cur.onExtraListElement876() } -func (c *current) onExtraListElement1164() (interface{}, error) { - // sequence of 4 "+" chars or more +func (c *current) onExtraListElement879() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil +} +func (p *parser) callonExtraListElement879() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement879() } -func (p *parser) callonExtraListElement1164() (interface{}, error) { +func (c *current) onExtraListElement870() (interface{}, error) { + return types.NewBlankLine() + +} + +func (p *parser) callonExtraListElement870() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1164() + return p.cur.onExtraListElement870() } -func (c *current) onExtraListElement1170() (interface{}, error) { +func (c *current) onExtraListElement896() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonExtraListElement1170() (interface{}, error) { +func (p *parser) callonExtraListElement896() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1170() + return p.cur.onExtraListElement896() } -func (c *current) onExtraListElement1173() (interface{}, error) { +func (c *current) onExtraListElement900() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonExtraListElement1173() (interface{}, error) { +func (p *parser) callonExtraListElement900() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1173() + return p.cur.onExtraListElement900() } -func (c *current) onExtraListElement1161(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Passthrough, len(delimiter.(string)), string(c.text)) +func (c *current) onExtraListElement890(content interface{}) (interface{}, error) { + return types.NewSingleLineComment(content.(string)) } -func (p *parser) callonExtraListElement1161() (interface{}, error) { +func (p *parser) callonExtraListElement890() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1161(stack["delimiter"]) + return p.cur.onExtraListElement890(stack["content"]) } -func (c *current) onExtraListElement1183() (interface{}, error) { - // sequence of 4 "_" chars or more - return string(c.text), nil +func (c *current) onExtraListElement889(content interface{}) (interface{}, error) { + return nil, nil // taking a shortcut to ignore commented out content and avoid having empty paragraphs } -func (p *parser) callonExtraListElement1183() (interface{}, error) { +func (p *parser) callonExtraListElement889() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1183() + return p.cur.onExtraListElement889(stack["content"]) } -func (c *current) onExtraListElement1189() (interface{}, error) { +func (c *current) onExtraListElement916() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonExtraListElement1189() (interface{}, error) { +func (p *parser) callonExtraListElement916() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1189() + return p.cur.onExtraListElement916() } -func (c *current) onExtraListElement1192() (interface{}, error) { +func (c *current) onExtraListElement919() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonExtraListElement1192() (interface{}, error) { +func (p *parser) callonExtraListElement919() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1192() + return p.cur.onExtraListElement919() } -func (c *current) onExtraListElement1180(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Quote, len(delimiter.(string)), string(c.text)) +func (c *current) onExtraListElement910() (interface{}, error) { + return types.NewBlankLine() } -func (p *parser) callonExtraListElement1180() (interface{}, error) { +func (p *parser) callonExtraListElement910() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1180(stack["delimiter"]) + return p.cur.onExtraListElement910() } -func (c *current) onExtraListElement1202() (interface{}, error) { - // sequence of 4 "*" chars or more +func (c *current) onExtraListElement930() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonExtraListElement1202() (interface{}, error) { +func (p *parser) callonExtraListElement930() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1202() + return p.cur.onExtraListElement930() } -func (c *current) onExtraListElement1208() (interface{}, error) { +func (c *current) onExtraListElement932() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonExtraListElement1208() (interface{}, error) { +func (p *parser) callonExtraListElement932() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1208() + return p.cur.onExtraListElement932() } -func (c *current) onExtraListElement1211() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onExtraListElement941() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonExtraListElement1211() (interface{}, error) { +func (p *parser) callonExtraListElement941() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1211() + return p.cur.onExtraListElement941() } -func (c *current) onExtraListElement1199(delimiter interface{}) (interface{}, error) { +func (c *current) onExtraListElement948() (interface{}, error) { - return types.NewBlockDelimiter(types.Sidebar, len(delimiter.(string)), string(c.text)) + // `.` is 1, etc. + return (len(c.text)), nil } -func (p *parser) callonExtraListElement1199() (interface{}, error) { +func (p *parser) callonExtraListElement948() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1199(stack["delimiter"]) + return p.cur.onExtraListElement948() } -func (c *current) onExtraListElement1042(delimiter interface{}) (interface{}, error) { - return delimiter, nil +func (c *current) onExtraListElement951(depth interface{}) (bool, error) { + + // use a predicate to make sure that only `.` to `.....` are allowed + return depth.(int) <= 5, nil } -func (p *parser) callonExtraListElement1042() (interface{}, error) { +func (p *parser) callonExtraListElement951() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1042(stack["delimiter"]) + return p.cur.onExtraListElement951(stack["depth"]) } -func (c *current) onExtraListElement1219() (interface{}, error) { - return strings.TrimSpace(string(c.text)), nil +func (c *current) onExtraListElement945(depth interface{}) (interface{}, error) { + switch depth.(int) { + case 1: + return types.NewOrderedListElementPrefix(types.Arabic) + case 2: + return types.NewOrderedListElementPrefix(types.LowerAlpha) + case 3: + return types.NewOrderedListElementPrefix(types.LowerRoman) + case 4: + return types.NewOrderedListElementPrefix(types.UpperAlpha) + default: + return types.NewOrderedListElementPrefix(types.UpperRoman) + } } -func (p *parser) callonExtraListElement1219() (interface{}, error) { +func (p *parser) callonExtraListElement945() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1219() + return p.cur.onExtraListElement945(stack["depth"]) } -func (c *current) onExtraListElement1223() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onExtraListElement952() (interface{}, error) { + // numbering style: "1.", etc. + return types.NewOrderedListElementPrefix(types.Arabic) + } -func (p *parser) callonExtraListElement1223() (interface{}, error) { +func (p *parser) callonExtraListElement952() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1223() + return p.cur.onExtraListElement952() } -func (c *current) onExtraListElement907(content interface{}) (interface{}, error) { - // do not retain the EOL chars - return types.NewRawLine(content.(string)) +func (c *current) onExtraListElement957() (interface{}, error) { + // numbering style: "a.", etc. + return types.NewOrderedListElementPrefix(types.LowerAlpha) } -func (p *parser) callonExtraListElement907() (interface{}, error) { +func (p *parser) callonExtraListElement957() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement907(stack["content"]) + return p.cur.onExtraListElement957() } -func (c *current) onExtraListElement856(content interface{}) (interface{}, error) { - if content == nil { - return nil, nil - } - return types.NewParagraph(content) +func (c *current) onExtraListElement961() (interface{}, error) { + // numbering style: "A.", etc. + return types.NewOrderedListElementPrefix(types.UpperAlpha) } -func (p *parser) callonExtraListElement856() (interface{}, error) { +func (p *parser) callonExtraListElement961() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement856(stack["content"]) + return p.cur.onExtraListElement961() } -func (c *current) onExtraListElement1232() (interface{}, error) { - // log.Debug("matched multiple spaces") - return string(c.text), nil +func (c *current) onExtraListElement965() (interface{}, error) { + // numbering style: "i)", etc. + return types.NewOrderedListElementPrefix(types.LowerRoman) } -func (p *parser) callonExtraListElement1232() (interface{}, error) { +func (p *parser) callonExtraListElement965() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1232() + return p.cur.onExtraListElement965() } -func (c *current) onExtraListElement1236() (interface{}, error) { - return types.NewRawLine(string(c.text)) +func (c *current) onExtraListElement970() (interface{}, error) { + // numbering style: "I)", etc. + return types.NewOrderedListElementPrefix(types.UpperRoman) + +} + +func (p *parser) callonExtraListElement970() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement970() +} + +func (c *current) onExtraListElement975(prefix interface{}) (interface{}, error) { + // log.Debug("matched multiple spaces") + return string(c.text), nil + +} + +func (p *parser) callonExtraListElement975() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement975(stack["prefix"]) +} +func (c *current) onExtraListElement938(prefix interface{}) (interface{}, error) { + return prefix, nil } -func (p *parser) callonExtraListElement1236() (interface{}, error) { +func (p *parser) callonExtraListElement938() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1236() + return p.cur.onExtraListElement938(stack["prefix"]) } -func (c *current) onExtraListElement1240() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onExtraListElement982() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonExtraListElement1240() (interface{}, error) { +func (p *parser) callonExtraListElement982() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1240() + return p.cur.onExtraListElement982() } -func (c *current) onExtraListElement1230(content interface{}) (interface{}, error) { - return types.NewParagraph(content) +func (c *current) onExtraListElement989() (interface{}, error) { + + // `*` is 1, etc. + return (len(c.text)), nil } -func (p *parser) callonExtraListElement1230() (interface{}, error) { +func (p *parser) callonExtraListElement989() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1230(stack["content"]) + return p.cur.onExtraListElement989() } -func (c *current) onExtraListElement822(term, separator, description interface{}) (interface{}, error) { - return types.NewLabeledListElement(len(separator.(string))-1, term, description) +func (c *current) onExtraListElement992(depth interface{}) (bool, error) { + + // use a predicate to make sure that only `*` to `*****` are allowed + return depth.(int) <= 5, nil } -func (p *parser) callonExtraListElement822() (interface{}, error) { +func (p *parser) callonExtraListElement992() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement822(stack["term"], stack["separator"], stack["description"]) + return p.cur.onExtraListElement992(stack["depth"]) } -func (c *current) onExtraListElement816(attributes, element interface{}) (interface{}, error) { - return append(attributes.([]interface{}), element), nil +func (c *current) onExtraListElement986(depth interface{}) (interface{}, error) { + switch depth.(int) { + case 1: + return types.NewUnorderedListElementPrefix(types.OneAsterisk) + case 2: + return types.NewUnorderedListElementPrefix(types.TwoAsterisks) + case 3: + return types.NewUnorderedListElementPrefix(types.ThreeAsterisks) + case 4: + return types.NewUnorderedListElementPrefix(types.FourAsterisks) + default: + return types.NewUnorderedListElementPrefix(types.FiveAsterisks) + } } -func (p *parser) callonExtraListElement816() (interface{}, error) { +func (p *parser) callonExtraListElement986() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement816(stack["attributes"], stack["element"]) + return p.cur.onExtraListElement986(stack["depth"]) } -func (c *current) onExtraListElement1253() (interface{}, error) { - return string(c.text), nil +func (c *current) onExtraListElement994() (interface{}, error) { + return types.NewUnorderedListElementPrefix(types.Dash) } -func (p *parser) callonExtraListElement1253() (interface{}, error) { +func (p *parser) callonExtraListElement994() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1253() + return p.cur.onExtraListElement994() } -func (c *current) onExtraListElement1257() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onExtraListElement996(prefix interface{}) (interface{}, error) { + // log.Debug("matched multiple spaces") return string(c.text), nil + } -func (p *parser) callonExtraListElement1257() (interface{}, error) { +func (p *parser) callonExtraListElement996() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1257() + return p.cur.onExtraListElement996(stack["prefix"]) } -func (c *current) onExtraListElement1247(content interface{}) (interface{}, error) { - return types.NewSingleLineComment(content.(string)) - +func (c *current) onExtraListElement979(prefix interface{}) (interface{}, error) { + return prefix, nil } -func (p *parser) callonExtraListElement1247() (interface{}, error) { +func (p *parser) callonExtraListElement979() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1247(stack["content"]) + return p.cur.onExtraListElement979(stack["prefix"]) } -func (c *current) onExtraListElement1273() (interface{}, error) { - return string(c.text), nil - +func (c *current) onExtraListElement1004() (interface{}, error) { + return strconv.Atoi(string(c.text)) } -func (p *parser) callonExtraListElement1273() (interface{}, error) { +func (p *parser) callonExtraListElement1004() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1273() + return p.cur.onExtraListElement1004() } -func (c *current) onExtraListElement1276() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onExtraListElement1008(ref interface{}) (interface{}, error) { + // log.Debug("matched multiple spaces") return string(c.text), nil + } -func (p *parser) callonExtraListElement1276() (interface{}, error) { +func (p *parser) callonExtraListElement1008() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1276() + return p.cur.onExtraListElement1008(stack["ref"]) } -func (c *current) onExtraListElement1267() (interface{}, error) { - return types.NewBlankLine() +func (c *current) onExtraListElement1000(ref interface{}) (interface{}, error) { + return ref, nil } -func (p *parser) callonExtraListElement1267() (interface{}, error) { +func (p *parser) callonExtraListElement1000() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1267() + return p.cur.onExtraListElement1000(stack["ref"]) } -func (c *current) onExtraListElement1295() (interface{}, error) { - // log.Debug("matched multiple spaces") +func (c *current) onExtraListElement1020() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonExtraListElement1295() (interface{}, error) { +func (p *parser) callonExtraListElement1020() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1295() + return p.cur.onExtraListElement1020() } -func (c *current) onExtraListElement1293() (interface{}, error) { - return string(c.text), nil +func (c *current) onExtraListElement1023(separator interface{}) (bool, error) { + + // use a predicate to make sure that separator is `::`, `:::` or `::::` + return len(separator.(string)) >= 2 && len(separator.(string)) <= 4, nil } -func (p *parser) callonExtraListElement1293() (interface{}, error) { +func (p *parser) callonExtraListElement1023() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1293() + return p.cur.onExtraListElement1023(stack["separator"]) } -func (c *current) onExtraListElement1300(content interface{}) (bool, error) { - return len(strings.TrimSpace(string(c.text))) > 0, nil +func (c *current) onExtraListElement1017(separator interface{}) (interface{}, error) { + return separator, nil } -func (p *parser) callonExtraListElement1300() (bool, error) { +func (p *parser) callonExtraListElement1017() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1300(stack["content"]) + return p.cur.onExtraListElement1017(stack["separator"]) } -func (c *current) onExtraListElement1302() (interface{}, error) { +func (c *current) onExtraListElement1026() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonExtraListElement1302() (interface{}, error) { +func (p *parser) callonExtraListElement1026() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1302() + return p.cur.onExtraListElement1026() } -func (c *current) onExtraListElement1290(content interface{}) (interface{}, error) { - return types.NewRawLine(content.(string)) +func (c *current) onExtraListElement1013() (interface{}, error) { + return types.NewRawLine(strings.TrimSpace(string(c.text))) } -func (p *parser) callonExtraListElement1290() (interface{}, error) { +func (p *parser) callonExtraListElement1013() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1290(stack["content"]) + return p.cur.onExtraListElement1013() } -func (c *current) onExtraListElement1318() (interface{}, error) { +func (c *current) onExtraListElement1037() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonExtraListElement1318() (interface{}, error) { +func (p *parser) callonExtraListElement1037() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1318() -} - -func (c *current) onExtraListElement1322() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil + return p.cur.onExtraListElement1037() } -func (p *parser) callonExtraListElement1322() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onExtraListElement1322() -} +func (c *current) onExtraListElement1040(separator interface{}) (bool, error) { -func (c *current) onExtraListElement1312(content interface{}) (interface{}, error) { - return types.NewSingleLineComment(content.(string)) + // use a predicate to make sure that separator is `::`, `:::` or `::::` + return len(separator.(string)) >= 2 && len(separator.(string)) <= 4, nil } -func (p *parser) callonExtraListElement1312() (interface{}, error) { +func (p *parser) callonExtraListElement1040() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1312(stack["content"]) + return p.cur.onExtraListElement1040(stack["separator"]) } -func (c *current) onExtraListElement1332() (interface{}, error) { - return strings.TrimRight(string(c.text), " \t"), nil // trim spaces and tabs +func (c *current) onExtraListElement1034(separator interface{}) (interface{}, error) { + return separator, nil } -func (p *parser) callonExtraListElement1332() (interface{}, error) { +func (p *parser) callonExtraListElement1034() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1332() + return p.cur.onExtraListElement1034(stack["separator"]) } -func (c *current) onExtraListElement1335(content interface{}) (bool, error) { - return len(strings.TrimSpace(content.(string))) > 0, nil +func (c *current) onExtraListElement1051() (interface{}, error) { + // sequence of 4 "/" chars or more + return string(c.text), nil } -func (p *parser) callonExtraListElement1335() (bool, error) { +func (p *parser) callonExtraListElement1051() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1335(stack["content"]) + return p.cur.onExtraListElement1051() } -func (c *current) onExtraListElement1337() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onExtraListElement1057() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonExtraListElement1337() (interface{}, error) { +func (p *parser) callonExtraListElement1057() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1337() + return p.cur.onExtraListElement1057() } -func (c *current) onExtraListElement1329(content interface{}) (interface{}, error) { - return types.NewRawLine(content.(string)) - +func (c *current) onExtraListElement1060() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonExtraListElement1329() (interface{}, error) { +func (p *parser) callonExtraListElement1060() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1329(stack["content"]) + return p.cur.onExtraListElement1060() } -func (c *current) onExtraListElement1287(firstLine, otherLines interface{}) (interface{}, error) { +func (c *current) onExtraListElement1048(delimiter interface{}) (interface{}, error) { - return types.NewLiteralParagraph(types.LiteralBlockWithSpacesOnFirstLine, append([]interface{}{firstLine}, otherLines.([]interface{})...)) + return types.NewBlockDelimiter(types.Comment, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonExtraListElement1287() (interface{}, error) { +func (p *parser) callonExtraListElement1048() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1287(stack["firstLine"], stack["otherLines"]) + return p.cur.onExtraListElement1048(stack["delimiter"]) } -func (c *current) onExtraListElement1264(attributes, element interface{}) (interface{}, error) { - if e, ok := element.(types.WithAttributes); ok { - for _, a := range attributes.([]interface{}) { - if a, ok := a.(types.Attributes); ok { - e.AddAttributes(a) - } - } - } - // implicit attachment to list element - // by wrapping into a ListElementContinuation - return types.NewListElementContinuation(0, element) +func (c *current) onExtraListElement1070() (interface{}, error) { + // sequence of 4 "=" chars or more + return string(c.text), nil } -func (p *parser) callonExtraListElement1264() (interface{}, error) { +func (p *parser) callonExtraListElement1070() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1264(stack["attributes"], stack["element"]) + return p.cur.onExtraListElement1070() } -func (c *current) onExtraListElement1354() (interface{}, error) { +func (c *current) onExtraListElement1076() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonExtraListElement1354() (interface{}, error) { +func (p *parser) callonExtraListElement1076() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1354() + return p.cur.onExtraListElement1076() } -func (c *current) onExtraListElement1358() (interface{}, error) { +func (c *current) onExtraListElement1079() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonExtraListElement1358() (interface{}, error) { +func (p *parser) callonExtraListElement1079() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1358() + return p.cur.onExtraListElement1079() } -func (c *current) onExtraListElement1348(content interface{}) (interface{}, error) { - return types.NewSingleLineComment(content.(string)) +func (c *current) onExtraListElement1067(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Example, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonExtraListElement1348() (interface{}, error) { +func (p *parser) callonExtraListElement1067() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1348(stack["content"]) + return p.cur.onExtraListElement1067(stack["delimiter"]) } -func (c *current) onExtraListElement1347(content interface{}) (interface{}, error) { - return nil, nil // taking a shortcut to ignore commented out content and avoid having empty paragraphs - +func (c *current) onExtraListElement1090() (interface{}, error) { + // exclude ` to avoid matching fenced blocks with more than 3 "`" delimter chars + return string(c.text), nil } -func (p *parser) callonExtraListElement1347() (interface{}, error) { +func (p *parser) callonExtraListElement1090() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1347(stack["content"]) + return p.cur.onExtraListElement1090() } -func (c *current) onExtraListElement1374() (interface{}, error) { +func (c *current) onExtraListElement1094() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonExtraListElement1374() (interface{}, error) { +func (p *parser) callonExtraListElement1094() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1374() + return p.cur.onExtraListElement1094() } -func (c *current) onExtraListElement1377() (interface{}, error) { +func (c *current) onExtraListElement1097() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonExtraListElement1377() (interface{}, error) { +func (p *parser) callonExtraListElement1097() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1377() + return p.cur.onExtraListElement1097() } -func (c *current) onExtraListElement1368() (interface{}, error) { - return types.NewBlankLine() - +func (c *current) onExtraListElement1086(language interface{}) (interface{}, error) { + return types.NewMarkdownCodeBlockDelimiter(language.(string), string(c.text)) } -func (p *parser) callonExtraListElement1368() (interface{}, error) { +func (p *parser) callonExtraListElement1086() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1368() + return p.cur.onExtraListElement1086(stack["language"]) } -func (c *current) onExtraListElement1388() (interface{}, error) { +func (c *current) onExtraListElement1107() (interface{}, error) { + // sequence of 3 "`" chars or more return string(c.text), nil } -func (p *parser) callonExtraListElement1388() (interface{}, error) { +func (p *parser) callonExtraListElement1107() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1388() + return p.cur.onExtraListElement1107() } -func (c *current) onExtraListElement1390() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onExtraListElement1113() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonExtraListElement1390() (interface{}, error) { +func (p *parser) callonExtraListElement1113() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1390() + return p.cur.onExtraListElement1113() } -func (c *current) onExtraListElement1399() (interface{}, error) { +func (c *current) onExtraListElement1116() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonExtraListElement1399() (interface{}, error) { +func (p *parser) callonExtraListElement1116() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1399() + return p.cur.onExtraListElement1116() } -func (c *current) onExtraListElement1406() (interface{}, error) { +func (c *current) onExtraListElement1104(delimiter interface{}) (interface{}, error) { - // `.` is 1, etc. - return (len(c.text)), nil + return types.NewBlockDelimiter(types.Fenced, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonExtraListElement1406() (interface{}, error) { +func (p *parser) callonExtraListElement1104() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1406() + return p.cur.onExtraListElement1104(stack["delimiter"]) } -func (c *current) onExtraListElement1409(depth interface{}) (bool, error) { - - // use a predicate to make sure that only `.` to `.....` are allowed - return depth.(int) <= 5, nil +func (c *current) onExtraListElement1126() (interface{}, error) { + // sequence of 4 "-" chars or more + return string(c.text), nil } -func (p *parser) callonExtraListElement1409() (bool, error) { +func (p *parser) callonExtraListElement1126() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1409(stack["depth"]) + return p.cur.onExtraListElement1126() } -func (c *current) onExtraListElement1403(depth interface{}) (interface{}, error) { - switch depth.(int) { - case 1: - return types.NewOrderedListElementPrefix(types.Arabic) - case 2: - return types.NewOrderedListElementPrefix(types.LowerAlpha) - case 3: - return types.NewOrderedListElementPrefix(types.LowerRoman) - case 4: - return types.NewOrderedListElementPrefix(types.UpperAlpha) - default: - return types.NewOrderedListElementPrefix(types.UpperRoman) - } +func (c *current) onExtraListElement1132() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonExtraListElement1403() (interface{}, error) { +func (p *parser) callonExtraListElement1132() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1403(stack["depth"]) + return p.cur.onExtraListElement1132() } -func (c *current) onExtraListElement1410() (interface{}, error) { - // numbering style: "1.", etc. - return types.NewOrderedListElementPrefix(types.Arabic) - +func (c *current) onExtraListElement1135() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonExtraListElement1410() (interface{}, error) { +func (p *parser) callonExtraListElement1135() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1410() -} - -func (c *current) onExtraListElement1415() (interface{}, error) { - // numbering style: "a.", etc. - return types.NewOrderedListElementPrefix(types.LowerAlpha) - + return p.cur.onExtraListElement1135() } -func (p *parser) callonExtraListElement1415() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onExtraListElement1415() -} +func (c *current) onExtraListElement1123(delimiter interface{}) (interface{}, error) { -func (c *current) onExtraListElement1419() (interface{}, error) { - // numbering style: "A.", etc. - return types.NewOrderedListElementPrefix(types.UpperAlpha) + return types.NewBlockDelimiter(types.Listing, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonExtraListElement1419() (interface{}, error) { +func (p *parser) callonExtraListElement1123() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1419() + return p.cur.onExtraListElement1123(stack["delimiter"]) } -func (c *current) onExtraListElement1423() (interface{}, error) { - // numbering style: "i)", etc. - return types.NewOrderedListElementPrefix(types.LowerRoman) +func (c *current) onExtraListElement1145() (interface{}, error) { + // sequence of 4 "." chars or more + return string(c.text), nil } -func (p *parser) callonExtraListElement1423() (interface{}, error) { +func (p *parser) callonExtraListElement1145() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1423() + return p.cur.onExtraListElement1145() } -func (c *current) onExtraListElement1428() (interface{}, error) { - // numbering style: "I)", etc. - return types.NewOrderedListElementPrefix(types.UpperRoman) +func (c *current) onExtraListElement1151() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonExtraListElement1428() (interface{}, error) { +func (p *parser) callonExtraListElement1151() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1428() + return p.cur.onExtraListElement1151() } -func (c *current) onExtraListElement1433(prefix interface{}) (interface{}, error) { - // log.Debug("matched multiple spaces") +func (c *current) onExtraListElement1154() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonExtraListElement1433() (interface{}, error) { +func (p *parser) callonExtraListElement1154() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1433(stack["prefix"]) + return p.cur.onExtraListElement1154() } -func (c *current) onExtraListElement1396(prefix interface{}) (interface{}, error) { - return prefix, nil +func (c *current) onExtraListElement1142(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Listing, len(delimiter.(string)), string(c.text)) + } -func (p *parser) callonExtraListElement1396() (interface{}, error) { +func (p *parser) callonExtraListElement1142() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1396(stack["prefix"]) + return p.cur.onExtraListElement1142(stack["delimiter"]) } -func (c *current) onExtraListElement1440() (interface{}, error) { +func (c *current) onExtraListElement1164() (interface{}, error) { + // sequence of 4 "+" chars or more return string(c.text), nil } -func (p *parser) callonExtraListElement1440() (interface{}, error) { +func (p *parser) callonExtraListElement1164() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1440() + return p.cur.onExtraListElement1164() } -func (c *current) onExtraListElement1447() (interface{}, error) { - - // `*` is 1, etc. - return (len(c.text)), nil +func (c *current) onExtraListElement1170() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonExtraListElement1447() (interface{}, error) { +func (p *parser) callonExtraListElement1170() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1447() + return p.cur.onExtraListElement1170() } -func (c *current) onExtraListElement1450(depth interface{}) (bool, error) { - - // use a predicate to make sure that only `*` to `*****` are allowed - return depth.(int) <= 5, nil - +func (c *current) onExtraListElement1173() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonExtraListElement1450() (bool, error) { +func (p *parser) callonExtraListElement1173() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1450(stack["depth"]) + return p.cur.onExtraListElement1173() } -func (c *current) onExtraListElement1444(depth interface{}) (interface{}, error) { - switch depth.(int) { - case 1: - return types.NewUnorderedListElementPrefix(types.OneAsterisk) - case 2: - return types.NewUnorderedListElementPrefix(types.TwoAsterisks) - case 3: - return types.NewUnorderedListElementPrefix(types.ThreeAsterisks) - case 4: - return types.NewUnorderedListElementPrefix(types.FourAsterisks) - default: - return types.NewUnorderedListElementPrefix(types.FiveAsterisks) - } +func (c *current) onExtraListElement1161(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Passthrough, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonExtraListElement1444() (interface{}, error) { +func (p *parser) callonExtraListElement1161() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1444(stack["depth"]) + return p.cur.onExtraListElement1161(stack["delimiter"]) } -func (c *current) onExtraListElement1452() (interface{}, error) { - return types.NewUnorderedListElementPrefix(types.Dash) +func (c *current) onExtraListElement1183() (interface{}, error) { + // sequence of 4 "_" chars or more + return string(c.text), nil } -func (p *parser) callonExtraListElement1452() (interface{}, error) { +func (p *parser) callonExtraListElement1183() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1452() + return p.cur.onExtraListElement1183() } -func (c *current) onExtraListElement1454(prefix interface{}) (interface{}, error) { - // log.Debug("matched multiple spaces") +func (c *current) onExtraListElement1189() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonExtraListElement1454() (interface{}, error) { +func (p *parser) callonExtraListElement1189() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1454(stack["prefix"]) + return p.cur.onExtraListElement1189() } -func (c *current) onExtraListElement1437(prefix interface{}) (interface{}, error) { - return prefix, nil +func (c *current) onExtraListElement1192() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonExtraListElement1437() (interface{}, error) { +func (p *parser) callonExtraListElement1192() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1437(stack["prefix"]) -} - -func (c *current) onExtraListElement1462() (interface{}, error) { - return strconv.Atoi(string(c.text)) + return p.cur.onExtraListElement1192() } -func (p *parser) callonExtraListElement1462() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onExtraListElement1462() -} +func (c *current) onExtraListElement1180(delimiter interface{}) (interface{}, error) { -func (c *current) onExtraListElement1466(ref interface{}) (interface{}, error) { - // log.Debug("matched multiple spaces") - return string(c.text), nil + return types.NewBlockDelimiter(types.Quote, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonExtraListElement1466() (interface{}, error) { +func (p *parser) callonExtraListElement1180() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1466(stack["ref"]) + return p.cur.onExtraListElement1180(stack["delimiter"]) } -func (c *current) onExtraListElement1458(ref interface{}) (interface{}, error) { - return ref, nil +func (c *current) onExtraListElement1202() (interface{}, error) { + // sequence of 4 "*" chars or more + return string(c.text), nil } -func (p *parser) callonExtraListElement1458() (interface{}, error) { +func (p *parser) callonExtraListElement1202() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1458(stack["ref"]) + return p.cur.onExtraListElement1202() } -func (c *current) onExtraListElement1478() (interface{}, error) { - +func (c *current) onExtraListElement1208() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonExtraListElement1478() (interface{}, error) { +func (p *parser) callonExtraListElement1208() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1478() + return p.cur.onExtraListElement1208() } -func (c *current) onExtraListElement1481(separator interface{}) (bool, error) { - - // use a predicate to make sure that separator is `::`, `:::` or `::::` - return len(separator.(string)) >= 2 && len(separator.(string)) <= 4, nil - +func (c *current) onExtraListElement1211() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonExtraListElement1481() (bool, error) { +func (p *parser) callonExtraListElement1211() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1481(stack["separator"]) + return p.cur.onExtraListElement1211() } -func (c *current) onExtraListElement1475(separator interface{}) (interface{}, error) { - return separator, nil +func (c *current) onExtraListElement1199(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Sidebar, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonExtraListElement1475() (interface{}, error) { +func (p *parser) callonExtraListElement1199() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1475(stack["separator"]) + return p.cur.onExtraListElement1199(stack["delimiter"]) } -func (c *current) onExtraListElement1484() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onExtraListElement1042(delimiter interface{}) (interface{}, error) { + return delimiter, nil + } -func (p *parser) callonExtraListElement1484() (interface{}, error) { +func (p *parser) callonExtraListElement1042() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1484() + return p.cur.onExtraListElement1042(stack["delimiter"]) } -func (c *current) onExtraListElement1471() (interface{}, error) { - return types.NewRawLine(strings.TrimSpace(string(c.text))) +func (c *current) onExtraListElement1219() (interface{}, error) { + return strings.TrimSpace(string(c.text)), nil } -func (p *parser) callonExtraListElement1471() (interface{}, error) { +func (p *parser) callonExtraListElement1219() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1471() + return p.cur.onExtraListElement1219() } -func (c *current) onExtraListElement1495() (interface{}, error) { - +func (c *current) onExtraListElement1223() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonExtraListElement1495() (interface{}, error) { +func (p *parser) callonExtraListElement1223() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1495() + return p.cur.onExtraListElement1223() } -func (c *current) onExtraListElement1498(separator interface{}) (bool, error) { - - // use a predicate to make sure that separator is `::`, `:::` or `::::` - return len(separator.(string)) >= 2 && len(separator.(string)) <= 4, nil +func (c *current) onExtraListElement907(content interface{}) (interface{}, error) { + // do not retain the EOL chars + return types.NewRawLine(content.(string)) } -func (p *parser) callonExtraListElement1498() (bool, error) { +func (p *parser) callonExtraListElement907() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1498(stack["separator"]) + return p.cur.onExtraListElement907(stack["content"]) } -func (c *current) onExtraListElement1492(separator interface{}) (interface{}, error) { - return separator, nil +func (c *current) onExtraListElement856(content interface{}) (interface{}, error) { + if content == nil { + return nil, nil + } + return types.NewParagraph(content) } -func (p *parser) callonExtraListElement1492() (interface{}, error) { +func (p *parser) callonExtraListElement856() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1492(stack["separator"]) + return p.cur.onExtraListElement856(stack["content"]) } -func (c *current) onExtraListElement1509() (interface{}, error) { - // sequence of 4 "/" chars or more +func (c *current) onExtraListElement1232() (interface{}, error) { + // log.Debug("matched multiple spaces") return string(c.text), nil } -func (p *parser) callonExtraListElement1509() (interface{}, error) { +func (p *parser) callonExtraListElement1232() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1509() + return p.cur.onExtraListElement1232() } -func (c *current) onExtraListElement1515() (interface{}, error) { - return string(c.text), nil +func (c *current) onExtraListElement1236() (interface{}, error) { + return types.NewRawLine(string(c.text)) } -func (p *parser) callonExtraListElement1515() (interface{}, error) { +func (p *parser) callonExtraListElement1236() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1515() + return p.cur.onExtraListElement1236() } -func (c *current) onExtraListElement1518() (interface{}, error) { +func (c *current) onExtraListElement1240() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonExtraListElement1518() (interface{}, error) { +func (p *parser) callonExtraListElement1240() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1518() + return p.cur.onExtraListElement1240() } -func (c *current) onExtraListElement1506(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Comment, len(delimiter.(string)), string(c.text)) +func (c *current) onExtraListElement1230(content interface{}) (interface{}, error) { + return types.NewParagraph(content) } -func (p *parser) callonExtraListElement1506() (interface{}, error) { +func (p *parser) callonExtraListElement1230() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1506(stack["delimiter"]) + return p.cur.onExtraListElement1230(stack["content"]) } -func (c *current) onExtraListElement1528() (interface{}, error) { - // sequence of 4 "=" chars or more - return string(c.text), nil +func (c *current) onExtraListElement822(term, separator, description interface{}) (interface{}, error) { + return types.NewLabeledListElement(len(separator.(string))-1, term, description) } -func (p *parser) callonExtraListElement1528() (interface{}, error) { +func (p *parser) callonExtraListElement822() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1528() + return p.cur.onExtraListElement822(stack["term"], stack["separator"], stack["description"]) } -func (c *current) onExtraListElement1534() (interface{}, error) { - return string(c.text), nil +func (c *current) onExtraListElement816(attributes, element interface{}) (interface{}, error) { + return append(attributes.([]interface{}), element), nil } -func (p *parser) callonExtraListElement1534() (interface{}, error) { +func (p *parser) callonExtraListElement816() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1534() + return p.cur.onExtraListElement816(stack["attributes"], stack["element"]) } -func (c *current) onExtraListElement1537() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onExtraListElement1253() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonExtraListElement1537() (interface{}, error) { +func (p *parser) callonExtraListElement1253() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1537() + return p.cur.onExtraListElement1253() } -func (c *current) onExtraListElement1525(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Example, len(delimiter.(string)), string(c.text)) - +func (c *current) onExtraListElement1257() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonExtraListElement1525() (interface{}, error) { +func (p *parser) callonExtraListElement1257() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1525(stack["delimiter"]) + return p.cur.onExtraListElement1257() } -func (c *current) onExtraListElement1548() (interface{}, error) { - // exclude ` to avoid matching fenced blocks with more than 3 "`" delimter chars - return string(c.text), nil +func (c *current) onExtraListElement1247(content interface{}) (interface{}, error) { + return types.NewSingleLineComment(content.(string)) + } -func (p *parser) callonExtraListElement1548() (interface{}, error) { +func (p *parser) callonExtraListElement1247() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1548() + return p.cur.onExtraListElement1247(stack["content"]) } -func (c *current) onExtraListElement1552() (interface{}, error) { +func (c *current) onExtraListElement1273() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonExtraListElement1552() (interface{}, error) { +func (p *parser) callonExtraListElement1273() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1552() + return p.cur.onExtraListElement1273() } -func (c *current) onExtraListElement1555() (interface{}, error) { +func (c *current) onExtraListElement1276() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonExtraListElement1555() (interface{}, error) { +func (p *parser) callonExtraListElement1276() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1555() + return p.cur.onExtraListElement1276() } -func (c *current) onExtraListElement1544(language interface{}) (interface{}, error) { - return types.NewMarkdownCodeBlockDelimiter(language.(string), string(c.text)) +func (c *current) onExtraListElement1267() (interface{}, error) { + return types.NewBlankLine() + } -func (p *parser) callonExtraListElement1544() (interface{}, error) { +func (p *parser) callonExtraListElement1267() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1544(stack["language"]) + return p.cur.onExtraListElement1267() } -func (c *current) onExtraListElement1565() (interface{}, error) { - // sequence of 3 "`" chars or more +func (c *current) onExtraListElement1295() (interface{}, error) { + // log.Debug("matched multiple spaces") return string(c.text), nil } -func (p *parser) callonExtraListElement1565() (interface{}, error) { +func (p *parser) callonExtraListElement1295() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1565() + return p.cur.onExtraListElement1295() } -func (c *current) onExtraListElement1571() (interface{}, error) { +func (c *current) onExtraListElement1293() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonExtraListElement1571() (interface{}, error) { +func (p *parser) callonExtraListElement1293() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1571() + return p.cur.onExtraListElement1293() } -func (c *current) onExtraListElement1574() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onExtraListElement1300(content interface{}) (bool, error) { + return len(strings.TrimSpace(string(c.text))) > 0, nil + } -func (p *parser) callonExtraListElement1574() (interface{}, error) { +func (p *parser) callonExtraListElement1300() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1574() + return p.cur.onExtraListElement1300(stack["content"]) } -func (c *current) onExtraListElement1562(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Fenced, len(delimiter.(string)), string(c.text)) - +func (c *current) onExtraListElement1302() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonExtraListElement1562() (interface{}, error) { +func (p *parser) callonExtraListElement1302() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1562(stack["delimiter"]) + return p.cur.onExtraListElement1302() } -func (c *current) onExtraListElement1584() (interface{}, error) { - // sequence of 4 "-" chars or more - return string(c.text), nil +func (c *current) onExtraListElement1290(content interface{}) (interface{}, error) { + return types.NewRawLine(content.(string)) } -func (p *parser) callonExtraListElement1584() (interface{}, error) { +func (p *parser) callonExtraListElement1290() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1584() + return p.cur.onExtraListElement1290(stack["content"]) } -func (c *current) onExtraListElement1590() (interface{}, error) { +func (c *current) onExtraListElement1318() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonExtraListElement1590() (interface{}, error) { +func (p *parser) callonExtraListElement1318() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1590() + return p.cur.onExtraListElement1318() } -func (c *current) onExtraListElement1593() (interface{}, error) { +func (c *current) onExtraListElement1322() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonExtraListElement1593() (interface{}, error) { +func (p *parser) callonExtraListElement1322() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1593() + return p.cur.onExtraListElement1322() } -func (c *current) onExtraListElement1581(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Listing, len(delimiter.(string)), string(c.text)) +func (c *current) onExtraListElement1312(content interface{}) (interface{}, error) { + return types.NewSingleLineComment(content.(string)) } -func (p *parser) callonExtraListElement1581() (interface{}, error) { +func (p *parser) callonExtraListElement1312() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1581(stack["delimiter"]) + return p.cur.onExtraListElement1312(stack["content"]) } -func (c *current) onExtraListElement1603() (interface{}, error) { - // sequence of 4 "." chars or more - return string(c.text), nil +func (c *current) onExtraListElement1332() (interface{}, error) { + return strings.TrimRight(string(c.text), " \t"), nil // trim spaces and tabs } -func (p *parser) callonExtraListElement1603() (interface{}, error) { +func (p *parser) callonExtraListElement1332() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1603() + return p.cur.onExtraListElement1332() } -func (c *current) onExtraListElement1609() (interface{}, error) { - return string(c.text), nil +func (c *current) onExtraListElement1335(content interface{}) (bool, error) { + return len(strings.TrimSpace(content.(string))) > 0, nil } -func (p *parser) callonExtraListElement1609() (interface{}, error) { +func (p *parser) callonExtraListElement1335() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1609() + return p.cur.onExtraListElement1335(stack["content"]) } -func (c *current) onExtraListElement1612() (interface{}, error) { +func (c *current) onExtraListElement1337() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonExtraListElement1612() (interface{}, error) { +func (p *parser) callonExtraListElement1337() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1612() + return p.cur.onExtraListElement1337() } -func (c *current) onExtraListElement1600(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Listing, len(delimiter.(string)), string(c.text)) +func (c *current) onExtraListElement1329(content interface{}) (interface{}, error) { + return types.NewRawLine(content.(string)) } -func (p *parser) callonExtraListElement1600() (interface{}, error) { +func (p *parser) callonExtraListElement1329() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1600(stack["delimiter"]) + return p.cur.onExtraListElement1329(stack["content"]) } -func (c *current) onExtraListElement1622() (interface{}, error) { - // sequence of 4 "+" chars or more - return string(c.text), nil +func (c *current) onExtraListElement1287(firstLine, otherLines interface{}) (interface{}, error) { + + return types.NewLiteralParagraph(types.LiteralBlockWithSpacesOnFirstLine, append([]interface{}{firstLine}, otherLines.([]interface{})...)) } -func (p *parser) callonExtraListElement1622() (interface{}, error) { +func (p *parser) callonExtraListElement1287() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1622() + return p.cur.onExtraListElement1287(stack["firstLine"], stack["otherLines"]) } -func (c *current) onExtraListElement1628() (interface{}, error) { - return string(c.text), nil +func (c *current) onExtraListElement1264(attributes, element interface{}) (interface{}, error) { + if e, ok := element.(types.WithAttributes); ok { + for _, a := range attributes.([]interface{}) { + if a, ok := a.(types.Attributes); ok { + e.AddAttributes(a) + } + } + } + // implicit attachment to list element + // by wrapping into a ListElementContinuation + return types.NewListElementContinuation(0, element) } -func (p *parser) callonExtraListElement1628() (interface{}, error) { +func (p *parser) callonExtraListElement1264() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1628() + return p.cur.onExtraListElement1264(stack["attributes"], stack["element"]) } -func (c *current) onExtraListElement1631() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onExtraListElement1354() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonExtraListElement1631() (interface{}, error) { +func (p *parser) callonExtraListElement1354() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1631() + return p.cur.onExtraListElement1354() } -func (c *current) onExtraListElement1619(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Passthrough, len(delimiter.(string)), string(c.text)) - +func (c *current) onExtraListElement1358() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonExtraListElement1619() (interface{}, error) { +func (p *parser) callonExtraListElement1358() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1619(stack["delimiter"]) + return p.cur.onExtraListElement1358() } -func (c *current) onExtraListElement1641() (interface{}, error) { - // sequence of 4 "_" chars or more - return string(c.text), nil +func (c *current) onExtraListElement1348(content interface{}) (interface{}, error) { + return types.NewSingleLineComment(content.(string)) } -func (p *parser) callonExtraListElement1641() (interface{}, error) { +func (p *parser) callonExtraListElement1348() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1641() + return p.cur.onExtraListElement1348(stack["content"]) } -func (c *current) onExtraListElement1647() (interface{}, error) { - return string(c.text), nil +func (c *current) onExtraListElement1347(content interface{}) (interface{}, error) { + return nil, nil // taking a shortcut to ignore commented out content and avoid having empty paragraphs } -func (p *parser) callonExtraListElement1647() (interface{}, error) { +func (p *parser) callonExtraListElement1347() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1647() + return p.cur.onExtraListElement1347(stack["content"]) } -func (c *current) onExtraListElement1650() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onExtraListElement1374() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonExtraListElement1650() (interface{}, error) { +func (p *parser) callonExtraListElement1374() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1650() + return p.cur.onExtraListElement1374() } -func (c *current) onExtraListElement1638(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Quote, len(delimiter.(string)), string(c.text)) - +func (c *current) onExtraListElement1377() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonExtraListElement1638() (interface{}, error) { +func (p *parser) callonExtraListElement1377() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1638(stack["delimiter"]) + return p.cur.onExtraListElement1377() } -func (c *current) onExtraListElement1660() (interface{}, error) { - // sequence of 4 "*" chars or more - return string(c.text), nil +func (c *current) onExtraListElement1368() (interface{}, error) { + return types.NewBlankLine() } -func (p *parser) callonExtraListElement1660() (interface{}, error) { +func (p *parser) callonExtraListElement1368() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1660() + return p.cur.onExtraListElement1368() } -func (c *current) onExtraListElement1666() (interface{}, error) { +func (c *current) onExtraListElement1388() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonExtraListElement1666() (interface{}, error) { +func (p *parser) callonExtraListElement1388() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1666() + return p.cur.onExtraListElement1388() } -func (c *current) onExtraListElement1669() (interface{}, error) { +func (c *current) onExtraListElement1390() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonExtraListElement1669() (interface{}, error) { +func (p *parser) callonExtraListElement1390() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1669() + return p.cur.onExtraListElement1390() } -func (c *current) onExtraListElement1657(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Sidebar, len(delimiter.(string)), string(c.text)) +func (c *current) onExtraListElement1399() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonExtraListElement1657() (interface{}, error) { +func (p *parser) callonExtraListElement1399() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1657(stack["delimiter"]) + return p.cur.onExtraListElement1399() } -func (c *current) onExtraListElement1500(delimiter interface{}) (interface{}, error) { - return delimiter, nil +func (c *current) onExtraListElement1406() (interface{}, error) { + + // `.` is 1, etc. + return (len(c.text)), nil } -func (p *parser) callonExtraListElement1500() (interface{}, error) { +func (p *parser) callonExtraListElement1406() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1500(stack["delimiter"]) + return p.cur.onExtraListElement1406() } -func (c *current) onExtraListElement1677() (interface{}, error) { - return strings.TrimSpace(string(c.text)), nil - -} +func (c *current) onExtraListElement1409(depth interface{}) (bool, error) { -func (p *parser) callonExtraListElement1677() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onExtraListElement1677() -} + // use a predicate to make sure that only `.` to `.....` are allowed + return depth.(int) <= 5, nil -func (c *current) onExtraListElement1681() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil } -func (p *parser) callonExtraListElement1681() (interface{}, error) { +func (p *parser) callonExtraListElement1409() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1681() + return p.cur.onExtraListElement1409(stack["depth"]) } -func (c *current) onExtraListElement1365(content interface{}) (interface{}, error) { - // do not retain the EOL chars - return types.NewRawLine(content.(string)) +func (c *current) onExtraListElement1403(depth interface{}) (interface{}, error) { + switch depth.(int) { + case 1: + return types.NewOrderedListElementPrefix(types.Arabic) + case 2: + return types.NewOrderedListElementPrefix(types.LowerAlpha) + case 3: + return types.NewOrderedListElementPrefix(types.LowerRoman) + case 4: + return types.NewOrderedListElementPrefix(types.UpperAlpha) + default: + return types.NewOrderedListElementPrefix(types.UpperRoman) + } } -func (p *parser) callonExtraListElement1365() (interface{}, error) { +func (p *parser) callonExtraListElement1403() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1365(stack["content"]) + return p.cur.onExtraListElement1403(stack["depth"]) } -func (c *current) onExtraListElement1344(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onExtraListElement1410() (interface{}, error) { + // numbering style: "1.", etc. + return types.NewOrderedListElementPrefix(types.Arabic) } -func (p *parser) callonExtraListElement1344() (interface{}, error) { +func (p *parser) callonExtraListElement1410() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1344(stack["element"]) + return p.cur.onExtraListElement1410() } -func (c *current) onExtraListElement1(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onExtraListElement1415() (interface{}, error) { + // numbering style: "a.", etc. + return types.NewOrderedListElementPrefix(types.LowerAlpha) } -func (p *parser) callonExtraListElement1() (interface{}, error) { +func (p *parser) callonExtraListElement1415() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1(stack["element"]) + return p.cur.onExtraListElement1415() } -func (c *current) onListElementContinuation7() (interface{}, error) { - return string(c.text), nil +func (c *current) onExtraListElement1419() (interface{}, error) { + // numbering style: "A.", etc. + return types.NewOrderedListElementPrefix(types.UpperAlpha) } -func (p *parser) callonListElementContinuation7() (interface{}, error) { +func (p *parser) callonExtraListElement1419() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuation7() + return p.cur.onExtraListElement1419() } -func (c *current) onListElementContinuation9() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onExtraListElement1423() (interface{}, error) { + // numbering style: "i)", etc. + return types.NewOrderedListElementPrefix(types.LowerRoman) + } -func (p *parser) callonListElementContinuation9() (interface{}, error) { +func (p *parser) callonExtraListElement1423() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuation9() + return p.cur.onExtraListElement1423() } -func (c *current) onListElementContinuation16() (interface{}, error) { - return string(c.text), nil +func (c *current) onExtraListElement1428() (interface{}, error) { + // numbering style: "I)", etc. + return types.NewOrderedListElementPrefix(types.UpperRoman) } -func (p *parser) callonListElementContinuation16() (interface{}, error) { +func (p *parser) callonExtraListElement1428() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuation16() + return p.cur.onExtraListElement1428() } -func (c *current) onListElementContinuation18(offset interface{}) (interface{}, error) { - // TODO: just use "\n" +func (c *current) onExtraListElement1433(prefix interface{}) (interface{}, error) { + // log.Debug("matched multiple spaces") return string(c.text), nil + } -func (p *parser) callonListElementContinuation18() (interface{}, error) { +func (p *parser) callonExtraListElement1433() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuation18(stack["offset"]) + return p.cur.onExtraListElement1433(stack["prefix"]) } -func (c *current) onListElementContinuation1(offset, element interface{}) (interface{}, error) { - return types.NewListElementContinuation(len(offset.([]interface{})), element) - +func (c *current) onExtraListElement1396(prefix interface{}) (interface{}, error) { + return prefix, nil } -func (p *parser) callonListElementContinuation1() (interface{}, error) { +func (p *parser) callonExtraListElement1396() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuation1(stack["offset"], stack["element"]) + return p.cur.onExtraListElement1396(stack["prefix"]) } -func (c *current) onListElementContinuationElement14() (interface{}, error) { +func (c *current) onExtraListElement1440() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonListElementContinuationElement14() (interface{}, error) { +func (p *parser) callonExtraListElement1440() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement14() + return p.cur.onExtraListElement1440() } -func (c *current) onListElementContinuationElement21() (interface{}, error) { +func (c *current) onExtraListElement1447() (interface{}, error) { - // `.` is 1, etc. + // `*` is 1, etc. return (len(c.text)), nil } -func (p *parser) callonListElementContinuationElement21() (interface{}, error) { +func (p *parser) callonExtraListElement1447() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement21() + return p.cur.onExtraListElement1447() } -func (c *current) onListElementContinuationElement24(depth interface{}) (bool, error) { +func (c *current) onExtraListElement1450(depth interface{}) (bool, error) { - // use a predicate to make sure that only `.` to `.....` are allowed + // use a predicate to make sure that only `*` to `*****` are allowed return depth.(int) <= 5, nil } -func (p *parser) callonListElementContinuationElement24() (bool, error) { +func (p *parser) callonExtraListElement1450() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement24(stack["depth"]) + return p.cur.onExtraListElement1450(stack["depth"]) } -func (c *current) onListElementContinuationElement18(depth interface{}) (interface{}, error) { +func (c *current) onExtraListElement1444(depth interface{}) (interface{}, error) { switch depth.(int) { case 1: - return types.NewOrderedListElementPrefix(types.Arabic) + return types.NewUnorderedListElementPrefix(types.OneAsterisk) case 2: - return types.NewOrderedListElementPrefix(types.LowerAlpha) + return types.NewUnorderedListElementPrefix(types.TwoAsterisks) case 3: - return types.NewOrderedListElementPrefix(types.LowerRoman) + return types.NewUnorderedListElementPrefix(types.ThreeAsterisks) case 4: - return types.NewOrderedListElementPrefix(types.UpperAlpha) + return types.NewUnorderedListElementPrefix(types.FourAsterisks) default: - return types.NewOrderedListElementPrefix(types.UpperRoman) + return types.NewUnorderedListElementPrefix(types.FiveAsterisks) } } -func (p *parser) callonListElementContinuationElement18() (interface{}, error) { +func (p *parser) callonExtraListElement1444() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement18(stack["depth"]) + return p.cur.onExtraListElement1444(stack["depth"]) } -func (c *current) onListElementContinuationElement25() (interface{}, error) { - // numbering style: "1.", etc. - return types.NewOrderedListElementPrefix(types.Arabic) +func (c *current) onExtraListElement1452() (interface{}, error) { + return types.NewUnorderedListElementPrefix(types.Dash) } -func (p *parser) callonListElementContinuationElement25() (interface{}, error) { +func (p *parser) callonExtraListElement1452() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement25() + return p.cur.onExtraListElement1452() } -func (c *current) onListElementContinuationElement30() (interface{}, error) { - // numbering style: "a.", etc. - return types.NewOrderedListElementPrefix(types.LowerAlpha) +func (c *current) onExtraListElement1454(prefix interface{}) (interface{}, error) { + // log.Debug("matched multiple spaces") + return string(c.text), nil } -func (p *parser) callonListElementContinuationElement30() (interface{}, error) { +func (p *parser) callonExtraListElement1454() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement30() + return p.cur.onExtraListElement1454(stack["prefix"]) } -func (c *current) onListElementContinuationElement34() (interface{}, error) { - // numbering style: "A.", etc. - return types.NewOrderedListElementPrefix(types.UpperAlpha) +func (c *current) onExtraListElement1437(prefix interface{}) (interface{}, error) { + return prefix, nil +} + +func (p *parser) callonExtraListElement1437() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement1437(stack["prefix"]) +} +func (c *current) onExtraListElement1462() (interface{}, error) { + return strconv.Atoi(string(c.text)) } -func (p *parser) callonListElementContinuationElement34() (interface{}, error) { +func (p *parser) callonExtraListElement1462() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement34() + return p.cur.onExtraListElement1462() } -func (c *current) onListElementContinuationElement38() (interface{}, error) { - // numbering style: "i)", etc. - return types.NewOrderedListElementPrefix(types.LowerRoman) +func (c *current) onExtraListElement1466(ref interface{}) (interface{}, error) { + // log.Debug("matched multiple spaces") + return string(c.text), nil } -func (p *parser) callonListElementContinuationElement38() (interface{}, error) { +func (p *parser) callonExtraListElement1466() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement38() + return p.cur.onExtraListElement1466(stack["ref"]) } -func (c *current) onListElementContinuationElement43() (interface{}, error) { - // numbering style: "I)", etc. - return types.NewOrderedListElementPrefix(types.UpperRoman) +func (c *current) onExtraListElement1458(ref interface{}) (interface{}, error) { + return ref, nil } -func (p *parser) callonListElementContinuationElement43() (interface{}, error) { +func (p *parser) callonExtraListElement1458() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement43() + return p.cur.onExtraListElement1458(stack["ref"]) } -func (c *current) onListElementContinuationElement48(prefix interface{}) (interface{}, error) { - // log.Debug("matched multiple spaces") +func (c *current) onExtraListElement1478() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonListElementContinuationElement48() (interface{}, error) { +func (p *parser) callonExtraListElement1478() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement48(stack["prefix"]) + return p.cur.onExtraListElement1478() } -func (c *current) onListElementContinuationElement11(prefix interface{}) (interface{}, error) { - return prefix, nil +func (c *current) onExtraListElement1481(separator interface{}) (bool, error) { + + // use a predicate to make sure that separator is `::`, `:::` or `::::` + return len(separator.(string)) >= 2 && len(separator.(string)) <= 4, nil + } -func (p *parser) callonListElementContinuationElement11() (interface{}, error) { +func (p *parser) callonExtraListElement1481() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement11(stack["prefix"]) + return p.cur.onExtraListElement1481(stack["separator"]) } -func (c *current) onListElementContinuationElement55() (interface{}, error) { - return types.NewRawLine(string(c.text)) +func (c *current) onExtraListElement1475(separator interface{}) (interface{}, error) { + return separator, nil } -func (p *parser) callonListElementContinuationElement55() (interface{}, error) { +func (p *parser) callonExtraListElement1475() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement55() + return p.cur.onExtraListElement1475(stack["separator"]) } -func (c *current) onListElementContinuationElement59() (interface{}, error) { +func (c *current) onExtraListElement1484() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonListElementContinuationElement59() (interface{}, error) { +func (p *parser) callonExtraListElement1484() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement59() + return p.cur.onExtraListElement1484() } -func (c *current) onListElementContinuationElement52(rawline interface{}) (interface{}, error) { - return types.NewParagraph(rawline) +func (c *current) onExtraListElement1471() (interface{}, error) { + return types.NewRawLine(strings.TrimSpace(string(c.text))) } -func (p *parser) callonListElementContinuationElement52() (interface{}, error) { +func (p *parser) callonExtraListElement1471() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement52(stack["rawline"]) + return p.cur.onExtraListElement1471() } -func (c *current) onListElementContinuationElement8(prefix, content interface{}) (interface{}, error) { - return types.NewOrderedListElement(prefix.(types.OrderedListElementPrefix), content) +func (c *current) onExtraListElement1495() (interface{}, error) { + + return string(c.text), nil } -func (p *parser) callonListElementContinuationElement8() (interface{}, error) { +func (p *parser) callonExtraListElement1495() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement8(stack["prefix"], stack["content"]) + return p.cur.onExtraListElement1495() } -func (c *current) onListElementContinuationElement72() (interface{}, error) { - return string(c.text), nil +func (c *current) onExtraListElement1498(separator interface{}) (bool, error) { + + // use a predicate to make sure that separator is `::`, `:::` or `::::` + return len(separator.(string)) >= 2 && len(separator.(string)) <= 4, nil } -func (p *parser) callonListElementContinuationElement72() (interface{}, error) { +func (p *parser) callonExtraListElement1498() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement72() + return p.cur.onExtraListElement1498(stack["separator"]) } -func (c *current) onListElementContinuationElement79() (interface{}, error) { +func (c *current) onExtraListElement1492(separator interface{}) (interface{}, error) { + return separator, nil - // `*` is 1, etc. - return (len(c.text)), nil +} +func (p *parser) callonExtraListElement1492() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement1492(stack["separator"]) } -func (p *parser) callonListElementContinuationElement79() (interface{}, error) { +func (c *current) onExtraListElement1509() (interface{}, error) { + // sequence of 4 "/" chars or more + return string(c.text), nil + +} + +func (p *parser) callonExtraListElement1509() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement79() + return p.cur.onExtraListElement1509() } -func (c *current) onListElementContinuationElement82(depth interface{}) (bool, error) { +func (c *current) onExtraListElement1515() (interface{}, error) { + return string(c.text), nil - // use a predicate to make sure that only `*` to `*****` are allowed - return depth.(int) <= 5, nil +} +func (p *parser) callonExtraListElement1515() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement1515() } -func (p *parser) callonListElementContinuationElement82() (bool, error) { +func (c *current) onExtraListElement1518() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonExtraListElement1518() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement82(stack["depth"]) + return p.cur.onExtraListElement1518() } -func (c *current) onListElementContinuationElement76(depth interface{}) (interface{}, error) { - switch depth.(int) { - case 1: - return types.NewUnorderedListElementPrefix(types.OneAsterisk) - case 2: - return types.NewUnorderedListElementPrefix(types.TwoAsterisks) - case 3: - return types.NewUnorderedListElementPrefix(types.ThreeAsterisks) - case 4: - return types.NewUnorderedListElementPrefix(types.FourAsterisks) - default: - return types.NewUnorderedListElementPrefix(types.FiveAsterisks) - } +func (c *current) onExtraListElement1506(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Comment, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonListElementContinuationElement76() (interface{}, error) { +func (p *parser) callonExtraListElement1506() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement76(stack["depth"]) + return p.cur.onExtraListElement1506(stack["delimiter"]) } -func (c *current) onListElementContinuationElement84() (interface{}, error) { - return types.NewUnorderedListElementPrefix(types.Dash) +func (c *current) onExtraListElement1528() (interface{}, error) { + // sequence of 4 "=" chars or more + return string(c.text), nil } -func (p *parser) callonListElementContinuationElement84() (interface{}, error) { +func (p *parser) callonExtraListElement1528() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement84() + return p.cur.onExtraListElement1528() } -func (c *current) onListElementContinuationElement86(prefix interface{}) (interface{}, error) { - // log.Debug("matched multiple spaces") +func (c *current) onExtraListElement1534() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonListElementContinuationElement86() (interface{}, error) { +func (p *parser) callonExtraListElement1534() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement86(stack["prefix"]) + return p.cur.onExtraListElement1534() } -func (c *current) onListElementContinuationElement69(prefix interface{}) (interface{}, error) { - return prefix, nil +func (c *current) onExtraListElement1537() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonListElementContinuationElement69() (interface{}, error) { +func (p *parser) callonExtraListElement1537() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement69(stack["prefix"]) + return p.cur.onExtraListElement1537() } -func (c *current) onListElementContinuationElement97() (interface{}, error) { - return types.Unchecked, nil +func (c *current) onExtraListElement1525(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Example, len(delimiter.(string)), string(c.text)) + } -func (p *parser) callonListElementContinuationElement97() (interface{}, error) { +func (p *parser) callonExtraListElement1525() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement97() + return p.cur.onExtraListElement1525(stack["delimiter"]) } -func (c *current) onListElementContinuationElement99() (interface{}, error) { - return types.Checked, nil +func (c *current) onExtraListElement1548() (interface{}, error) { + // exclude ` to avoid matching fenced blocks with more than 3 "`" delimter chars + return string(c.text), nil } -func (p *parser) callonListElementContinuationElement99() (interface{}, error) { +func (p *parser) callonExtraListElement1548() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement99() + return p.cur.onExtraListElement1548() } -func (c *current) onListElementContinuationElement101() (interface{}, error) { - return types.Checked, nil +func (c *current) onExtraListElement1552() (interface{}, error) { + return string(c.text), nil + } -func (p *parser) callonListElementContinuationElement101() (interface{}, error) { +func (p *parser) callonExtraListElement1552() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement101() + return p.cur.onExtraListElement1552() } -func (c *current) onListElementContinuationElement103(style interface{}) (interface{}, error) { - // log.Debug("matched multiple spaces") +func (c *current) onExtraListElement1555() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil +} + +func (p *parser) callonExtraListElement1555() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement1555() +} +func (c *current) onExtraListElement1544(language interface{}) (interface{}, error) { + return types.NewMarkdownCodeBlockDelimiter(language.(string), string(c.text)) } -func (p *parser) callonListElementContinuationElement103() (interface{}, error) { +func (p *parser) callonExtraListElement1544() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement103(stack["style"]) + return p.cur.onExtraListElement1544(stack["language"]) } -func (c *current) onListElementContinuationElement91(style interface{}) (interface{}, error) { - return style, nil +func (c *current) onExtraListElement1565() (interface{}, error) { + // sequence of 3 "`" chars or more + return string(c.text), nil } -func (p *parser) callonListElementContinuationElement91() (interface{}, error) { +func (p *parser) callonExtraListElement1565() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement91(stack["style"]) + return p.cur.onExtraListElement1565() } -func (c *current) onListElementContinuationElement110() (interface{}, error) { - return types.NewRawLine(string(c.text)) +func (c *current) onExtraListElement1571() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonListElementContinuationElement110() (interface{}, error) { +func (p *parser) callonExtraListElement1571() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement110() + return p.cur.onExtraListElement1571() } -func (c *current) onListElementContinuationElement114() (interface{}, error) { +func (c *current) onExtraListElement1574() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonListElementContinuationElement114() (interface{}, error) { +func (p *parser) callonExtraListElement1574() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement114() + return p.cur.onExtraListElement1574() } -func (c *current) onListElementContinuationElement107(rawline interface{}) (interface{}, error) { - return types.NewParagraph(rawline) +func (c *current) onExtraListElement1562(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Fenced, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonListElementContinuationElement107() (interface{}, error) { +func (p *parser) callonExtraListElement1562() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement107(stack["rawline"]) + return p.cur.onExtraListElement1562(stack["delimiter"]) } -func (c *current) onListElementContinuationElement66(prefix, checkstyle, content interface{}) (interface{}, error) { - return types.NewUnorderedListElement(prefix.(types.UnorderedListElementPrefix), checkstyle, content) +func (c *current) onExtraListElement1584() (interface{}, error) { + // sequence of 4 "-" chars or more + return string(c.text), nil } -func (p *parser) callonListElementContinuationElement66() (interface{}, error) { +func (p *parser) callonExtraListElement1584() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement66(stack["prefix"], stack["checkstyle"], stack["content"]) + return p.cur.onExtraListElement1584() } -func (c *current) onListElementContinuationElement128() (interface{}, error) { - return strconv.Atoi(string(c.text)) +func (c *current) onExtraListElement1590() (interface{}, error) { + return string(c.text), nil + } -func (p *parser) callonListElementContinuationElement128() (interface{}, error) { +func (p *parser) callonExtraListElement1590() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement128() + return p.cur.onExtraListElement1590() } -func (c *current) onListElementContinuationElement132(ref interface{}) (interface{}, error) { - // log.Debug("matched multiple spaces") +func (c *current) onExtraListElement1593() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil +} +func (p *parser) callonExtraListElement1593() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement1593() } -func (p *parser) callonListElementContinuationElement132() (interface{}, error) { +func (c *current) onExtraListElement1581(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Listing, len(delimiter.(string)), string(c.text)) + +} + +func (p *parser) callonExtraListElement1581() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement132(stack["ref"]) + return p.cur.onExtraListElement1581(stack["delimiter"]) } -func (c *current) onListElementContinuationElement124(ref interface{}) (interface{}, error) { - return ref, nil +func (c *current) onExtraListElement1603() (interface{}, error) { + // sequence of 4 "." chars or more + return string(c.text), nil } -func (p *parser) callonListElementContinuationElement124() (interface{}, error) { +func (p *parser) callonExtraListElement1603() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement124(stack["ref"]) + return p.cur.onExtraListElement1603() } -func (c *current) onListElementContinuationElement139() (interface{}, error) { +func (c *current) onExtraListElement1609() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonListElementContinuationElement139() (interface{}, error) { +func (p *parser) callonExtraListElement1609() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement139() + return p.cur.onExtraListElement1609() } -func (c *current) onListElementContinuationElement143() (interface{}, error) { +func (c *current) onExtraListElement1612() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonListElementContinuationElement143() (interface{}, error) { +func (p *parser) callonExtraListElement1612() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement143() + return p.cur.onExtraListElement1612() } -func (c *current) onListElementContinuationElement136(rawline interface{}) (interface{}, error) { - return types.NewRawLine(rawline.(string)) +func (c *current) onExtraListElement1600(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Listing, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonListElementContinuationElement136() (interface{}, error) { +func (p *parser) callonExtraListElement1600() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement136(stack["rawline"]) + return p.cur.onExtraListElement1600(stack["delimiter"]) } -func (c *current) onListElementContinuationElement121(ref, description interface{}) (interface{}, error) { - return types.NewCalloutListElement(ref.(int), description.(types.RawLine)) +func (c *current) onExtraListElement1622() (interface{}, error) { + // sequence of 4 "+" chars or more + return string(c.text), nil } -func (p *parser) callonListElementContinuationElement121() (interface{}, error) { +func (p *parser) callonExtraListElement1622() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement121(stack["ref"], stack["description"]) + return p.cur.onExtraListElement1622() } -func (c *current) onListElementContinuationElement160() (interface{}, error) { - +func (c *current) onExtraListElement1628() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonListElementContinuationElement160() (interface{}, error) { +func (p *parser) callonExtraListElement1628() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement160() + return p.cur.onExtraListElement1628() } -func (c *current) onListElementContinuationElement163(separator interface{}) (bool, error) { - - // use a predicate to make sure that separator is `::`, `:::` or `::::` - return len(separator.(string)) >= 2 && len(separator.(string)) <= 4, nil - +func (c *current) onExtraListElement1631() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonListElementContinuationElement163() (bool, error) { +func (p *parser) callonExtraListElement1631() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement163(stack["separator"]) + return p.cur.onExtraListElement1631() } -func (c *current) onListElementContinuationElement157(separator interface{}) (interface{}, error) { - return separator, nil +func (c *current) onExtraListElement1619(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Passthrough, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonListElementContinuationElement157() (interface{}, error) { +func (p *parser) callonExtraListElement1619() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement157(stack["separator"]) + return p.cur.onExtraListElement1619(stack["delimiter"]) } -func (c *current) onListElementContinuationElement166() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onExtraListElement1641() (interface{}, error) { + // sequence of 4 "_" chars or more return string(c.text), nil + } -func (p *parser) callonListElementContinuationElement166() (interface{}, error) { +func (p *parser) callonExtraListElement1641() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement166() + return p.cur.onExtraListElement1641() } -func (c *current) onListElementContinuationElement153() (interface{}, error) { - return types.NewRawLine(strings.TrimSpace(string(c.text))) +func (c *current) onExtraListElement1647() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonListElementContinuationElement153() (interface{}, error) { +func (p *parser) callonExtraListElement1647() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement153() + return p.cur.onExtraListElement1647() } -func (c *current) onListElementContinuationElement178() (interface{}, error) { - +func (c *current) onExtraListElement1650() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonListElementContinuationElement178() (interface{}, error) { +func (p *parser) callonExtraListElement1650() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement178() + return p.cur.onExtraListElement1650() } -func (c *current) onListElementContinuationElement181(separator interface{}) (bool, error) { +func (c *current) onExtraListElement1638(delimiter interface{}) (interface{}, error) { - // use a predicate to make sure that separator is `::`, `:::` or `::::` - return len(separator.(string)) >= 2 && len(separator.(string)) <= 4, nil + return types.NewBlockDelimiter(types.Quote, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonListElementContinuationElement181() (bool, error) { +func (p *parser) callonExtraListElement1638() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement181(stack["separator"]) + return p.cur.onExtraListElement1638(stack["delimiter"]) } -func (c *current) onListElementContinuationElement175(separator interface{}) (interface{}, error) { - return separator, nil +func (c *current) onExtraListElement1660() (interface{}, error) { + // sequence of 4 "*" chars or more + return string(c.text), nil } -func (p *parser) callonListElementContinuationElement175() (interface{}, error) { +func (p *parser) callonExtraListElement1660() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement175(stack["separator"]) + return p.cur.onExtraListElement1660() } -func (c *current) onListElementContinuationElement187() (interface{}, error) { +func (c *current) onExtraListElement1666() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonListElementContinuationElement187() (interface{}, error) { +func (p *parser) callonExtraListElement1666() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement187() + return p.cur.onExtraListElement1666() } -func (c *current) onListElementContinuationElement190() (interface{}, error) { +func (c *current) onExtraListElement1669() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonListElementContinuationElement190() (interface{}, error) { +func (p *parser) callonExtraListElement1669() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement190() + return p.cur.onExtraListElement1669() } -func (c *current) onListElementContinuationElement204() (interface{}, error) { - return string(c.text), nil +func (c *current) onExtraListElement1657(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Sidebar, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonListElementContinuationElement204() (interface{}, error) { +func (p *parser) callonExtraListElement1657() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement204() + return p.cur.onExtraListElement1657(stack["delimiter"]) } -func (c *current) onListElementContinuationElement207() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onExtraListElement1500(delimiter interface{}) (interface{}, error) { + return delimiter, nil + } -func (p *parser) callonListElementContinuationElement207() (interface{}, error) { +func (p *parser) callonExtraListElement1500() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement207() + return p.cur.onExtraListElement1500(stack["delimiter"]) } -func (c *current) onListElementContinuationElement198() (interface{}, error) { - return types.NewBlankLine() +func (c *current) onExtraListElement1677() (interface{}, error) { + return strings.TrimSpace(string(c.text)), nil } -func (p *parser) callonListElementContinuationElement198() (interface{}, error) { +func (p *parser) callonExtraListElement1677() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement198() + return p.cur.onExtraListElement1677() } -func (c *current) onListElementContinuationElement224() (interface{}, error) { +func (c *current) onExtraListElement1681() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonListElementContinuationElement224() (interface{}, error) { +func (p *parser) callonExtraListElement1681() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement224() + return p.cur.onExtraListElement1681() } -func (c *current) onListElementContinuationElement228() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onExtraListElement1365(content interface{}) (interface{}, error) { + // do not retain the EOL chars + return types.NewRawLine(content.(string)) + } -func (p *parser) callonListElementContinuationElement228() (interface{}, error) { +func (p *parser) callonExtraListElement1365() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement228() + return p.cur.onExtraListElement1365(stack["content"]) } -func (c *current) onListElementContinuationElement218(content interface{}) (interface{}, error) { - return types.NewSingleLineComment(content.(string)) +func (c *current) onExtraListElement1344(element interface{}) (interface{}, error) { + return element, nil } -func (p *parser) callonListElementContinuationElement218() (interface{}, error) { +func (p *parser) callonExtraListElement1344() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement218(stack["content"]) + return p.cur.onExtraListElement1344(stack["element"]) } -func (c *current) onListElementContinuationElement217(content interface{}) (interface{}, error) { - return nil, nil // taking a shortcut to ignore commented out content and avoid having empty paragraphs +func (c *current) onExtraListElement1(element interface{}) (interface{}, error) { + return element, nil } -func (p *parser) callonListElementContinuationElement217() (interface{}, error) { +func (p *parser) callonExtraListElement1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement217(stack["content"]) + return p.cur.onExtraListElement1(stack["element"]) } -func (c *current) onListElementContinuationElement244() (interface{}, error) { +func (c *current) onListElementContinuation7() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonListElementContinuationElement244() (interface{}, error) { +func (p *parser) callonListElementContinuation7() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement244() + return p.cur.onListElementContinuation7() } -func (c *current) onListElementContinuationElement247() (interface{}, error) { +func (c *current) onListElementContinuation9() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonListElementContinuationElement247() (interface{}, error) { +func (p *parser) callonListElementContinuation9() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement247() + return p.cur.onListElementContinuation9() } -func (c *current) onListElementContinuationElement238() (interface{}, error) { - return types.NewBlankLine() +func (c *current) onListElementContinuation16() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonListElementContinuationElement238() (interface{}, error) { +func (p *parser) callonListElementContinuation16() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement238() + return p.cur.onListElementContinuation16() } -func (c *current) onListElementContinuationElement258() (interface{}, error) { +func (c *current) onListElementContinuation18(offset interface{}) (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonListElementContinuationElement258() (interface{}, error) { +func (p *parser) callonListElementContinuation18() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement258() + return p.cur.onListElementContinuation18(stack["offset"]) } -func (c *current) onListElementContinuationElement260() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onListElementContinuation1(offset, element interface{}) (interface{}, error) { + return types.NewListElementContinuation(len(offset.([]interface{})), element) + } -func (p *parser) callonListElementContinuationElement260() (interface{}, error) { +func (p *parser) callonListElementContinuation1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement260() + return p.cur.onListElementContinuation1(stack["offset"], stack["element"]) } -func (c *current) onListElementContinuationElement269() (interface{}, error) { +func (c *current) onListElementContinuationElement14() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonListElementContinuationElement269() (interface{}, error) { +func (p *parser) callonListElementContinuationElement14() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement269() + return p.cur.onListElementContinuationElement14() } -func (c *current) onListElementContinuationElement276() (interface{}, error) { +func (c *current) onListElementContinuationElement21() (interface{}, error) { // `.` is 1, etc. return (len(c.text)), nil } -func (p *parser) callonListElementContinuationElement276() (interface{}, error) { +func (p *parser) callonListElementContinuationElement21() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement276() + return p.cur.onListElementContinuationElement21() } -func (c *current) onListElementContinuationElement279(depth interface{}) (bool, error) { +func (c *current) onListElementContinuationElement24(depth interface{}) (bool, error) { // use a predicate to make sure that only `.` to `.....` are allowed return depth.(int) <= 5, nil } -func (p *parser) callonListElementContinuationElement279() (bool, error) { +func (p *parser) callonListElementContinuationElement24() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement279(stack["depth"]) + return p.cur.onListElementContinuationElement24(stack["depth"]) } -func (c *current) onListElementContinuationElement273(depth interface{}) (interface{}, error) { +func (c *current) onListElementContinuationElement18(depth interface{}) (interface{}, error) { switch depth.(int) { case 1: return types.NewOrderedListElementPrefix(types.Arabic) @@ -88702,132 +86651,176 @@ func (c *current) onListElementContinuationElement273(depth interface{}) (interf } -func (p *parser) callonListElementContinuationElement273() (interface{}, error) { +func (p *parser) callonListElementContinuationElement18() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement273(stack["depth"]) + return p.cur.onListElementContinuationElement18(stack["depth"]) } -func (c *current) onListElementContinuationElement280() (interface{}, error) { +func (c *current) onListElementContinuationElement25() (interface{}, error) { // numbering style: "1.", etc. return types.NewOrderedListElementPrefix(types.Arabic) } -func (p *parser) callonListElementContinuationElement280() (interface{}, error) { +func (p *parser) callonListElementContinuationElement25() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement280() + return p.cur.onListElementContinuationElement25() } -func (c *current) onListElementContinuationElement285() (interface{}, error) { +func (c *current) onListElementContinuationElement30() (interface{}, error) { // numbering style: "a.", etc. return types.NewOrderedListElementPrefix(types.LowerAlpha) } -func (p *parser) callonListElementContinuationElement285() (interface{}, error) { +func (p *parser) callonListElementContinuationElement30() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement285() + return p.cur.onListElementContinuationElement30() } -func (c *current) onListElementContinuationElement289() (interface{}, error) { +func (c *current) onListElementContinuationElement34() (interface{}, error) { // numbering style: "A.", etc. return types.NewOrderedListElementPrefix(types.UpperAlpha) } -func (p *parser) callonListElementContinuationElement289() (interface{}, error) { +func (p *parser) callonListElementContinuationElement34() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement289() + return p.cur.onListElementContinuationElement34() } -func (c *current) onListElementContinuationElement293() (interface{}, error) { +func (c *current) onListElementContinuationElement38() (interface{}, error) { // numbering style: "i)", etc. return types.NewOrderedListElementPrefix(types.LowerRoman) } -func (p *parser) callonListElementContinuationElement293() (interface{}, error) { +func (p *parser) callonListElementContinuationElement38() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement293() + return p.cur.onListElementContinuationElement38() } -func (c *current) onListElementContinuationElement298() (interface{}, error) { +func (c *current) onListElementContinuationElement43() (interface{}, error) { // numbering style: "I)", etc. return types.NewOrderedListElementPrefix(types.UpperRoman) } -func (p *parser) callonListElementContinuationElement298() (interface{}, error) { +func (p *parser) callonListElementContinuationElement43() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement298() + return p.cur.onListElementContinuationElement43() } -func (c *current) onListElementContinuationElement303(prefix interface{}) (interface{}, error) { +func (c *current) onListElementContinuationElement48(prefix interface{}) (interface{}, error) { // log.Debug("matched multiple spaces") return string(c.text), nil } -func (p *parser) callonListElementContinuationElement303() (interface{}, error) { +func (p *parser) callonListElementContinuationElement48() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement303(stack["prefix"]) + return p.cur.onListElementContinuationElement48(stack["prefix"]) } -func (c *current) onListElementContinuationElement266(prefix interface{}) (interface{}, error) { +func (c *current) onListElementContinuationElement11(prefix interface{}) (interface{}, error) { return prefix, nil } -func (p *parser) callonListElementContinuationElement266() (interface{}, error) { +func (p *parser) callonListElementContinuationElement11() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement266(stack["prefix"]) + return p.cur.onListElementContinuationElement11(stack["prefix"]) } -func (c *current) onListElementContinuationElement310() (interface{}, error) { +func (c *current) onListElementContinuationElement55() (interface{}, error) { + return types.NewRawLine(string(c.text)) + +} + +func (p *parser) callonListElementContinuationElement55() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement55() +} + +func (c *current) onListElementContinuationElement59() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil +} +func (p *parser) callonListElementContinuationElement59() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement59() } -func (p *parser) callonListElementContinuationElement310() (interface{}, error) { +func (c *current) onListElementContinuationElement52(rawline interface{}) (interface{}, error) { + return types.NewParagraph(rawline) + +} + +func (p *parser) callonListElementContinuationElement52() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement310() + return p.cur.onListElementContinuationElement52(stack["rawline"]) } -func (c *current) onListElementContinuationElement317() (interface{}, error) { +func (c *current) onListElementContinuationElement8(prefix, content interface{}) (interface{}, error) { + return types.NewOrderedListElement(prefix.(types.OrderedListElementPrefix), content) + +} + +func (p *parser) callonListElementContinuationElement8() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement8(stack["prefix"], stack["content"]) +} + +func (c *current) onListElementContinuationElement72() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonListElementContinuationElement72() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement72() +} + +func (c *current) onListElementContinuationElement79() (interface{}, error) { // `*` is 1, etc. return (len(c.text)), nil } -func (p *parser) callonListElementContinuationElement317() (interface{}, error) { +func (p *parser) callonListElementContinuationElement79() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement317() + return p.cur.onListElementContinuationElement79() } -func (c *current) onListElementContinuationElement320(depth interface{}) (bool, error) { +func (c *current) onListElementContinuationElement82(depth interface{}) (bool, error) { // use a predicate to make sure that only `*` to `*****` are allowed return depth.(int) <= 5, nil } -func (p *parser) callonListElementContinuationElement320() (bool, error) { +func (p *parser) callonListElementContinuationElement82() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement320(stack["depth"]) + return p.cur.onListElementContinuationElement82(stack["depth"]) } -func (c *current) onListElementContinuationElement314(depth interface{}) (interface{}, error) { +func (c *current) onListElementContinuationElement76(depth interface{}) (interface{}, error) { switch depth.(int) { case 1: return types.NewUnorderedListElementPrefix(types.OneAsterisk) @@ -88843,5631 +86836,5624 @@ func (c *current) onListElementContinuationElement314(depth interface{}) (interf } -func (p *parser) callonListElementContinuationElement314() (interface{}, error) { +func (p *parser) callonListElementContinuationElement76() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement314(stack["depth"]) + return p.cur.onListElementContinuationElement76(stack["depth"]) } -func (c *current) onListElementContinuationElement322() (interface{}, error) { +func (c *current) onListElementContinuationElement84() (interface{}, error) { return types.NewUnorderedListElementPrefix(types.Dash) } -func (p *parser) callonListElementContinuationElement322() (interface{}, error) { +func (p *parser) callonListElementContinuationElement84() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement322() + return p.cur.onListElementContinuationElement84() } -func (c *current) onListElementContinuationElement324(prefix interface{}) (interface{}, error) { +func (c *current) onListElementContinuationElement86(prefix interface{}) (interface{}, error) { // log.Debug("matched multiple spaces") return string(c.text), nil } -func (p *parser) callonListElementContinuationElement324() (interface{}, error) { +func (p *parser) callonListElementContinuationElement86() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement324(stack["prefix"]) + return p.cur.onListElementContinuationElement86(stack["prefix"]) } -func (c *current) onListElementContinuationElement307(prefix interface{}) (interface{}, error) { +func (c *current) onListElementContinuationElement69(prefix interface{}) (interface{}, error) { return prefix, nil } -func (p *parser) callonListElementContinuationElement307() (interface{}, error) { +func (p *parser) callonListElementContinuationElement69() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement307(stack["prefix"]) + return p.cur.onListElementContinuationElement69(stack["prefix"]) } -func (c *current) onListElementContinuationElement332() (interface{}, error) { - return strconv.Atoi(string(c.text)) +func (c *current) onListElementContinuationElement97() (interface{}, error) { + return types.Unchecked, nil } -func (p *parser) callonListElementContinuationElement332() (interface{}, error) { +func (p *parser) callonListElementContinuationElement97() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement332() + return p.cur.onListElementContinuationElement97() } -func (c *current) onListElementContinuationElement336(ref interface{}) (interface{}, error) { +func (c *current) onListElementContinuationElement99() (interface{}, error) { + return types.Checked, nil +} + +func (p *parser) callonListElementContinuationElement99() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement99() +} + +func (c *current) onListElementContinuationElement101() (interface{}, error) { + return types.Checked, nil +} + +func (p *parser) callonListElementContinuationElement101() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement101() +} + +func (c *current) onListElementContinuationElement103(style interface{}) (interface{}, error) { // log.Debug("matched multiple spaces") return string(c.text), nil } -func (p *parser) callonListElementContinuationElement336() (interface{}, error) { +func (p *parser) callonListElementContinuationElement103() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement336(stack["ref"]) + return p.cur.onListElementContinuationElement103(stack["style"]) } -func (c *current) onListElementContinuationElement328(ref interface{}) (interface{}, error) { - return ref, nil +func (c *current) onListElementContinuationElement91(style interface{}) (interface{}, error) { + return style, nil } -func (p *parser) callonListElementContinuationElement328() (interface{}, error) { +func (p *parser) callonListElementContinuationElement91() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement328(stack["ref"]) + return p.cur.onListElementContinuationElement91(stack["style"]) } -func (c *current) onListElementContinuationElement348() (interface{}, error) { +func (c *current) onListElementContinuationElement110() (interface{}, error) { + return types.NewRawLine(string(c.text)) + +} + +func (p *parser) callonListElementContinuationElement110() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement110() +} +func (c *current) onListElementContinuationElement114() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil +} + +func (p *parser) callonListElementContinuationElement114() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement114() +} + +func (c *current) onListElementContinuationElement107(rawline interface{}) (interface{}, error) { + return types.NewParagraph(rawline) } -func (p *parser) callonListElementContinuationElement348() (interface{}, error) { +func (p *parser) callonListElementContinuationElement107() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement348() + return p.cur.onListElementContinuationElement107(stack["rawline"]) } -func (c *current) onListElementContinuationElement351(separator interface{}) (bool, error) { +func (c *current) onListElementContinuationElement66(prefix, checkstyle, content interface{}) (interface{}, error) { + return types.NewUnorderedListElement(prefix.(types.UnorderedListElementPrefix), checkstyle, content) - // use a predicate to make sure that separator is `::`, `:::` or `::::` - return len(separator.(string)) >= 2 && len(separator.(string)) <= 4, nil +} +func (p *parser) callonListElementContinuationElement66() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement66(stack["prefix"], stack["checkstyle"], stack["content"]) } -func (p *parser) callonListElementContinuationElement351() (bool, error) { +func (c *current) onListElementContinuationElement128() (interface{}, error) { + return strconv.Atoi(string(c.text)) +} + +func (p *parser) callonListElementContinuationElement128() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement351(stack["separator"]) + return p.cur.onListElementContinuationElement128() } -func (c *current) onListElementContinuationElement345(separator interface{}) (interface{}, error) { - return separator, nil +func (c *current) onListElementContinuationElement132(ref interface{}) (interface{}, error) { + // log.Debug("matched multiple spaces") + return string(c.text), nil } -func (p *parser) callonListElementContinuationElement345() (interface{}, error) { +func (p *parser) callonListElementContinuationElement132() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement345(stack["separator"]) + return p.cur.onListElementContinuationElement132(stack["ref"]) } -func (c *current) onListElementContinuationElement354() (interface{}, error) { +func (c *current) onListElementContinuationElement124(ref interface{}) (interface{}, error) { + return ref, nil + +} + +func (p *parser) callonListElementContinuationElement124() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement124(stack["ref"]) +} + +func (c *current) onListElementContinuationElement139() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonListElementContinuationElement139() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement139() +} + +func (c *current) onListElementContinuationElement143() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonListElementContinuationElement354() (interface{}, error) { +func (p *parser) callonListElementContinuationElement143() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement354() + return p.cur.onListElementContinuationElement143() } -func (c *current) onListElementContinuationElement341() (interface{}, error) { - return types.NewRawLine(strings.TrimSpace(string(c.text))) +func (c *current) onListElementContinuationElement136(rawline interface{}) (interface{}, error) { + return types.NewRawLine(rawline.(string)) } -func (p *parser) callonListElementContinuationElement341() (interface{}, error) { +func (p *parser) callonListElementContinuationElement136() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement341() + return p.cur.onListElementContinuationElement136(stack["rawline"]) } -func (c *current) onListElementContinuationElement365() (interface{}, error) { +func (c *current) onListElementContinuationElement121(ref, description interface{}) (interface{}, error) { + return types.NewCalloutListElement(ref.(int), description.(types.RawLine)) + +} + +func (p *parser) callonListElementContinuationElement121() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement121(stack["ref"], stack["description"]) +} + +func (c *current) onListElementContinuationElement160() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonListElementContinuationElement365() (interface{}, error) { +func (p *parser) callonListElementContinuationElement160() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement365() + return p.cur.onListElementContinuationElement160() } -func (c *current) onListElementContinuationElement368(separator interface{}) (bool, error) { +func (c *current) onListElementContinuationElement163(separator interface{}) (bool, error) { // use a predicate to make sure that separator is `::`, `:::` or `::::` return len(separator.(string)) >= 2 && len(separator.(string)) <= 4, nil } -func (p *parser) callonListElementContinuationElement368() (bool, error) { +func (p *parser) callonListElementContinuationElement163() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement368(stack["separator"]) + return p.cur.onListElementContinuationElement163(stack["separator"]) } -func (c *current) onListElementContinuationElement362(separator interface{}) (interface{}, error) { +func (c *current) onListElementContinuationElement157(separator interface{}) (interface{}, error) { return separator, nil } -func (p *parser) callonListElementContinuationElement362() (interface{}, error) { +func (p *parser) callonListElementContinuationElement157() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement362(stack["separator"]) + return p.cur.onListElementContinuationElement157(stack["separator"]) } -func (c *current) onListElementContinuationElement379() (interface{}, error) { - // sequence of 4 "/" chars or more +func (c *current) onListElementContinuationElement166() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonListElementContinuationElement379() (interface{}, error) { +func (p *parser) callonListElementContinuationElement166() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement379() + return p.cur.onListElementContinuationElement166() } -func (c *current) onListElementContinuationElement385() (interface{}, error) { - return string(c.text), nil +func (c *current) onListElementContinuationElement153() (interface{}, error) { + return types.NewRawLine(strings.TrimSpace(string(c.text))) } -func (p *parser) callonListElementContinuationElement385() (interface{}, error) { +func (p *parser) callonListElementContinuationElement153() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement385() + return p.cur.onListElementContinuationElement153() } -func (c *current) onListElementContinuationElement388() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onListElementContinuationElement178() (interface{}, error) { + return string(c.text), nil + } -func (p *parser) callonListElementContinuationElement388() (interface{}, error) { +func (p *parser) callonListElementContinuationElement178() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement388() + return p.cur.onListElementContinuationElement178() } -func (c *current) onListElementContinuationElement376(delimiter interface{}) (interface{}, error) { +func (c *current) onListElementContinuationElement181(separator interface{}) (bool, error) { - return types.NewBlockDelimiter(types.Comment, len(delimiter.(string)), string(c.text)) + // use a predicate to make sure that separator is `::`, `:::` or `::::` + return len(separator.(string)) >= 2 && len(separator.(string)) <= 4, nil } -func (p *parser) callonListElementContinuationElement376() (interface{}, error) { +func (p *parser) callonListElementContinuationElement181() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement376(stack["delimiter"]) + return p.cur.onListElementContinuationElement181(stack["separator"]) } -func (c *current) onListElementContinuationElement398() (interface{}, error) { - // sequence of 4 "=" chars or more - return string(c.text), nil +func (c *current) onListElementContinuationElement175(separator interface{}) (interface{}, error) { + return separator, nil } -func (p *parser) callonListElementContinuationElement398() (interface{}, error) { +func (p *parser) callonListElementContinuationElement175() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement398() + return p.cur.onListElementContinuationElement175(stack["separator"]) } -func (c *current) onListElementContinuationElement404() (interface{}, error) { +func (c *current) onListElementContinuationElement187() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonListElementContinuationElement404() (interface{}, error) { +func (p *parser) callonListElementContinuationElement187() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement404() + return p.cur.onListElementContinuationElement187() } -func (c *current) onListElementContinuationElement407() (interface{}, error) { +func (c *current) onListElementContinuationElement190() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonListElementContinuationElement407() (interface{}, error) { +func (p *parser) callonListElementContinuationElement190() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement407() + return p.cur.onListElementContinuationElement190() } -func (c *current) onListElementContinuationElement395(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Example, len(delimiter.(string)), string(c.text)) +func (c *current) onListElementContinuationElement204() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonListElementContinuationElement395() (interface{}, error) { +func (p *parser) callonListElementContinuationElement204() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement395(stack["delimiter"]) + return p.cur.onListElementContinuationElement204() } -func (c *current) onListElementContinuationElement418() (interface{}, error) { - // exclude ` to avoid matching fenced blocks with more than 3 "`" delimter chars +func (c *current) onListElementContinuationElement207() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonListElementContinuationElement418() (interface{}, error) { +func (p *parser) callonListElementContinuationElement207() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement418() + return p.cur.onListElementContinuationElement207() } -func (c *current) onListElementContinuationElement422() (interface{}, error) { - return string(c.text), nil +func (c *current) onListElementContinuationElement198() (interface{}, error) { + return types.NewBlankLine() } -func (p *parser) callonListElementContinuationElement422() (interface{}, error) { +func (p *parser) callonListElementContinuationElement198() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement422() + return p.cur.onListElementContinuationElement198() } -func (c *current) onListElementContinuationElement425() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onListElementContinuationElement224() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonListElementContinuationElement425() (interface{}, error) { +func (p *parser) callonListElementContinuationElement224() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement425() + return p.cur.onListElementContinuationElement224() } -func (c *current) onListElementContinuationElement414(language interface{}) (interface{}, error) { - return types.NewMarkdownCodeBlockDelimiter(language.(string), string(c.text)) +func (c *current) onListElementContinuationElement228() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonListElementContinuationElement414() (interface{}, error) { +func (p *parser) callonListElementContinuationElement228() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement414(stack["language"]) + return p.cur.onListElementContinuationElement228() } -func (c *current) onListElementContinuationElement435() (interface{}, error) { - // sequence of 3 "`" chars or more - return string(c.text), nil +func (c *current) onListElementContinuationElement218(content interface{}) (interface{}, error) { + return types.NewSingleLineComment(content.(string)) } -func (p *parser) callonListElementContinuationElement435() (interface{}, error) { +func (p *parser) callonListElementContinuationElement218() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement435() + return p.cur.onListElementContinuationElement218(stack["content"]) } -func (c *current) onListElementContinuationElement441() (interface{}, error) { - return string(c.text), nil +func (c *current) onListElementContinuationElement217(content interface{}) (interface{}, error) { + return nil, nil // taking a shortcut to ignore commented out content and avoid having empty paragraphs } -func (p *parser) callonListElementContinuationElement441() (interface{}, error) { +func (p *parser) callonListElementContinuationElement217() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement441() + return p.cur.onListElementContinuationElement217(stack["content"]) } -func (c *current) onListElementContinuationElement444() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onListElementContinuationElement244() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonListElementContinuationElement444() (interface{}, error) { +func (p *parser) callonListElementContinuationElement244() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement444() + return p.cur.onListElementContinuationElement244() } -func (c *current) onListElementContinuationElement432(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Fenced, len(delimiter.(string)), string(c.text)) - +func (c *current) onListElementContinuationElement247() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonListElementContinuationElement432() (interface{}, error) { +func (p *parser) callonListElementContinuationElement247() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement432(stack["delimiter"]) + return p.cur.onListElementContinuationElement247() } -func (c *current) onListElementContinuationElement454() (interface{}, error) { - // sequence of 4 "-" chars or more - return string(c.text), nil +func (c *current) onListElementContinuationElement238() (interface{}, error) { + return types.NewBlankLine() } -func (p *parser) callonListElementContinuationElement454() (interface{}, error) { +func (p *parser) callonListElementContinuationElement238() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement454() + return p.cur.onListElementContinuationElement238() } -func (c *current) onListElementContinuationElement460() (interface{}, error) { +func (c *current) onListElementContinuationElement258() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonListElementContinuationElement460() (interface{}, error) { +func (p *parser) callonListElementContinuationElement258() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement460() + return p.cur.onListElementContinuationElement258() } -func (c *current) onListElementContinuationElement463() (interface{}, error) { +func (c *current) onListElementContinuationElement260() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonListElementContinuationElement463() (interface{}, error) { +func (p *parser) callonListElementContinuationElement260() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement463() + return p.cur.onListElementContinuationElement260() } -func (c *current) onListElementContinuationElement451(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Listing, len(delimiter.(string)), string(c.text)) +func (c *current) onListElementContinuationElement269() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonListElementContinuationElement451() (interface{}, error) { +func (p *parser) callonListElementContinuationElement269() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement451(stack["delimiter"]) + return p.cur.onListElementContinuationElement269() } -func (c *current) onListElementContinuationElement473() (interface{}, error) { - // sequence of 4 "." chars or more - return string(c.text), nil +func (c *current) onListElementContinuationElement276() (interface{}, error) { + + // `.` is 1, etc. + return (len(c.text)), nil } -func (p *parser) callonListElementContinuationElement473() (interface{}, error) { +func (p *parser) callonListElementContinuationElement276() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement473() + return p.cur.onListElementContinuationElement276() } -func (c *current) onListElementContinuationElement479() (interface{}, error) { - return string(c.text), nil +func (c *current) onListElementContinuationElement279(depth interface{}) (bool, error) { + + // use a predicate to make sure that only `.` to `.....` are allowed + return depth.(int) <= 5, nil } -func (p *parser) callonListElementContinuationElement479() (interface{}, error) { +func (p *parser) callonListElementContinuationElement279() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement479() + return p.cur.onListElementContinuationElement279(stack["depth"]) } -func (c *current) onListElementContinuationElement482() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onListElementContinuationElement273(depth interface{}) (interface{}, error) { + switch depth.(int) { + case 1: + return types.NewOrderedListElementPrefix(types.Arabic) + case 2: + return types.NewOrderedListElementPrefix(types.LowerAlpha) + case 3: + return types.NewOrderedListElementPrefix(types.LowerRoman) + case 4: + return types.NewOrderedListElementPrefix(types.UpperAlpha) + default: + return types.NewOrderedListElementPrefix(types.UpperRoman) + } + } -func (p *parser) callonListElementContinuationElement482() (interface{}, error) { +func (p *parser) callonListElementContinuationElement273() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement482() + return p.cur.onListElementContinuationElement273(stack["depth"]) } -func (c *current) onListElementContinuationElement470(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Listing, len(delimiter.(string)), string(c.text)) +func (c *current) onListElementContinuationElement280() (interface{}, error) { + // numbering style: "1.", etc. + return types.NewOrderedListElementPrefix(types.Arabic) } -func (p *parser) callonListElementContinuationElement470() (interface{}, error) { +func (p *parser) callonListElementContinuationElement280() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement470(stack["delimiter"]) + return p.cur.onListElementContinuationElement280() } -func (c *current) onListElementContinuationElement492() (interface{}, error) { - // sequence of 4 "+" chars or more - return string(c.text), nil +func (c *current) onListElementContinuationElement285() (interface{}, error) { + // numbering style: "a.", etc. + return types.NewOrderedListElementPrefix(types.LowerAlpha) } -func (p *parser) callonListElementContinuationElement492() (interface{}, error) { +func (p *parser) callonListElementContinuationElement285() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement492() + return p.cur.onListElementContinuationElement285() } -func (c *current) onListElementContinuationElement498() (interface{}, error) { - return string(c.text), nil +func (c *current) onListElementContinuationElement289() (interface{}, error) { + // numbering style: "A.", etc. + return types.NewOrderedListElementPrefix(types.UpperAlpha) } -func (p *parser) callonListElementContinuationElement498() (interface{}, error) { +func (p *parser) callonListElementContinuationElement289() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement498() + return p.cur.onListElementContinuationElement289() } -func (c *current) onListElementContinuationElement501() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onListElementContinuationElement293() (interface{}, error) { + // numbering style: "i)", etc. + return types.NewOrderedListElementPrefix(types.LowerRoman) + } -func (p *parser) callonListElementContinuationElement501() (interface{}, error) { +func (p *parser) callonListElementContinuationElement293() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement501() + return p.cur.onListElementContinuationElement293() } -func (c *current) onListElementContinuationElement489(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Passthrough, len(delimiter.(string)), string(c.text)) +func (c *current) onListElementContinuationElement298() (interface{}, error) { + // numbering style: "I)", etc. + return types.NewOrderedListElementPrefix(types.UpperRoman) } -func (p *parser) callonListElementContinuationElement489() (interface{}, error) { +func (p *parser) callonListElementContinuationElement298() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement489(stack["delimiter"]) + return p.cur.onListElementContinuationElement298() } -func (c *current) onListElementContinuationElement511() (interface{}, error) { - // sequence of 4 "_" chars or more +func (c *current) onListElementContinuationElement303(prefix interface{}) (interface{}, error) { + // log.Debug("matched multiple spaces") return string(c.text), nil } -func (p *parser) callonListElementContinuationElement511() (interface{}, error) { +func (p *parser) callonListElementContinuationElement303() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement511() + return p.cur.onListElementContinuationElement303(stack["prefix"]) } -func (c *current) onListElementContinuationElement517() (interface{}, error) { - return string(c.text), nil - +func (c *current) onListElementContinuationElement266(prefix interface{}) (interface{}, error) { + return prefix, nil } -func (p *parser) callonListElementContinuationElement517() (interface{}, error) { +func (p *parser) callonListElementContinuationElement266() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement517() + return p.cur.onListElementContinuationElement266(stack["prefix"]) } -func (c *current) onListElementContinuationElement520() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onListElementContinuationElement310() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonListElementContinuationElement520() (interface{}, error) { +func (p *parser) callonListElementContinuationElement310() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement520() + return p.cur.onListElementContinuationElement310() } -func (c *current) onListElementContinuationElement508(delimiter interface{}) (interface{}, error) { +func (c *current) onListElementContinuationElement317() (interface{}, error) { - return types.NewBlockDelimiter(types.Quote, len(delimiter.(string)), string(c.text)) + // `*` is 1, etc. + return (len(c.text)), nil } -func (p *parser) callonListElementContinuationElement508() (interface{}, error) { +func (p *parser) callonListElementContinuationElement317() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement508(stack["delimiter"]) + return p.cur.onListElementContinuationElement317() } -func (c *current) onListElementContinuationElement530() (interface{}, error) { - // sequence of 4 "*" chars or more - return string(c.text), nil +func (c *current) onListElementContinuationElement320(depth interface{}) (bool, error) { + + // use a predicate to make sure that only `*` to `*****` are allowed + return depth.(int) <= 5, nil } -func (p *parser) callonListElementContinuationElement530() (interface{}, error) { +func (p *parser) callonListElementContinuationElement320() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement530() + return p.cur.onListElementContinuationElement320(stack["depth"]) } -func (c *current) onListElementContinuationElement536() (interface{}, error) { - return string(c.text), nil +func (c *current) onListElementContinuationElement314(depth interface{}) (interface{}, error) { + switch depth.(int) { + case 1: + return types.NewUnorderedListElementPrefix(types.OneAsterisk) + case 2: + return types.NewUnorderedListElementPrefix(types.TwoAsterisks) + case 3: + return types.NewUnorderedListElementPrefix(types.ThreeAsterisks) + case 4: + return types.NewUnorderedListElementPrefix(types.FourAsterisks) + default: + return types.NewUnorderedListElementPrefix(types.FiveAsterisks) + } } -func (p *parser) callonListElementContinuationElement536() (interface{}, error) { +func (p *parser) callonListElementContinuationElement314() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement536() + return p.cur.onListElementContinuationElement314(stack["depth"]) } -func (c *current) onListElementContinuationElement539() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onListElementContinuationElement322() (interface{}, error) { + return types.NewUnorderedListElementPrefix(types.Dash) + } -func (p *parser) callonListElementContinuationElement539() (interface{}, error) { +func (p *parser) callonListElementContinuationElement322() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement539() + return p.cur.onListElementContinuationElement322() } -func (c *current) onListElementContinuationElement527(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Sidebar, len(delimiter.(string)), string(c.text)) +func (c *current) onListElementContinuationElement324(prefix interface{}) (interface{}, error) { + // log.Debug("matched multiple spaces") + return string(c.text), nil } -func (p *parser) callonListElementContinuationElement527() (interface{}, error) { +func (p *parser) callonListElementContinuationElement324() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement527(stack["delimiter"]) + return p.cur.onListElementContinuationElement324(stack["prefix"]) } -func (c *current) onListElementContinuationElement370(delimiter interface{}) (interface{}, error) { - return delimiter, nil - +func (c *current) onListElementContinuationElement307(prefix interface{}) (interface{}, error) { + return prefix, nil } -func (p *parser) callonListElementContinuationElement370() (interface{}, error) { +func (p *parser) callonListElementContinuationElement307() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement370(stack["delimiter"]) + return p.cur.onListElementContinuationElement307(stack["prefix"]) } -func (c *current) onListElementContinuationElement547() (interface{}, error) { - return strings.TrimSpace(string(c.text)), nil - +func (c *current) onListElementContinuationElement332() (interface{}, error) { + return strconv.Atoi(string(c.text)) } -func (p *parser) callonListElementContinuationElement547() (interface{}, error) { +func (p *parser) callonListElementContinuationElement332() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement547() + return p.cur.onListElementContinuationElement332() } -func (c *current) onListElementContinuationElement551() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onListElementContinuationElement336(ref interface{}) (interface{}, error) { + // log.Debug("matched multiple spaces") return string(c.text), nil + } -func (p *parser) callonListElementContinuationElement551() (interface{}, error) { +func (p *parser) callonListElementContinuationElement336() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement551() + return p.cur.onListElementContinuationElement336(stack["ref"]) } -func (c *current) onListElementContinuationElement235(content interface{}) (interface{}, error) { - // do not retain the EOL chars - return types.NewRawLine(content.(string)) +func (c *current) onListElementContinuationElement328(ref interface{}) (interface{}, error) { + return ref, nil } -func (p *parser) callonListElementContinuationElement235() (interface{}, error) { +func (p *parser) callonListElementContinuationElement328() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement235(stack["content"]) + return p.cur.onListElementContinuationElement328(stack["ref"]) } -func (c *current) onListElementContinuationElement184(content interface{}) (interface{}, error) { - if content == nil { - return nil, nil - } - return types.NewParagraph(content) +func (c *current) onListElementContinuationElement348() (interface{}, error) { + + return string(c.text), nil } -func (p *parser) callonListElementContinuationElement184() (interface{}, error) { +func (p *parser) callonListElementContinuationElement348() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement184(stack["content"]) + return p.cur.onListElementContinuationElement348() } -func (c *current) onListElementContinuationElement560() (interface{}, error) { - // log.Debug("matched multiple spaces") - return string(c.text), nil +func (c *current) onListElementContinuationElement351(separator interface{}) (bool, error) { + + // use a predicate to make sure that separator is `::`, `:::` or `::::` + return len(separator.(string)) >= 2 && len(separator.(string)) <= 4, nil } -func (p *parser) callonListElementContinuationElement560() (interface{}, error) { +func (p *parser) callonListElementContinuationElement351() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement560() + return p.cur.onListElementContinuationElement351(stack["separator"]) } -func (c *current) onListElementContinuationElement564() (interface{}, error) { - return types.NewRawLine(string(c.text)) +func (c *current) onListElementContinuationElement345(separator interface{}) (interface{}, error) { + return separator, nil } -func (p *parser) callonListElementContinuationElement564() (interface{}, error) { +func (p *parser) callonListElementContinuationElement345() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement564() + return p.cur.onListElementContinuationElement345(stack["separator"]) } -func (c *current) onListElementContinuationElement568() (interface{}, error) { +func (c *current) onListElementContinuationElement354() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonListElementContinuationElement568() (interface{}, error) { +func (p *parser) callonListElementContinuationElement354() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement568() + return p.cur.onListElementContinuationElement354() } -func (c *current) onListElementContinuationElement558(content interface{}) (interface{}, error) { - return types.NewParagraph(content) +func (c *current) onListElementContinuationElement341() (interface{}, error) { + return types.NewRawLine(strings.TrimSpace(string(c.text))) } -func (p *parser) callonListElementContinuationElement558() (interface{}, error) { +func (p *parser) callonListElementContinuationElement341() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement558(stack["content"]) -} - -func (c *current) onListElementContinuationElement150(term, separator, description interface{}) (interface{}, error) { - return types.NewLabeledListElement(len(separator.(string))-1, term, description) - + return p.cur.onListElementContinuationElement341() } -func (p *parser) callonListElementContinuationElement150() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onListElementContinuationElement150(stack["term"], stack["separator"], stack["description"]) -} +func (c *current) onListElementContinuationElement365() (interface{}, error) { -func (c *current) onListElementContinuationElement586() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonListElementContinuationElement586() (interface{}, error) { +func (p *parser) callonListElementContinuationElement365() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement586() + return p.cur.onListElementContinuationElement365() } -func (c *current) onListElementContinuationElement589() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onListElementContinuationElement368(separator interface{}) (bool, error) { + + // use a predicate to make sure that separator is `::`, `:::` or `::::` + return len(separator.(string)) >= 2 && len(separator.(string)) <= 4, nil + } -func (p *parser) callonListElementContinuationElement589() (interface{}, error) { +func (p *parser) callonListElementContinuationElement368() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement589() + return p.cur.onListElementContinuationElement368(stack["separator"]) } -func (c *current) onListElementContinuationElement580() (interface{}, error) { - return types.NewBlankLine() +func (c *current) onListElementContinuationElement362(separator interface{}) (interface{}, error) { + return separator, nil } -func (p *parser) callonListElementContinuationElement580() (interface{}, error) { +func (p *parser) callonListElementContinuationElement362() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement580() + return p.cur.onListElementContinuationElement362(stack["separator"]) } -func (c *current) onListElementContinuationElement601() (interface{}, error) { +func (c *current) onListElementContinuationElement379() (interface{}, error) { + // sequence of 4 "/" chars or more return string(c.text), nil } -func (p *parser) callonListElementContinuationElement601() (interface{}, error) { +func (p *parser) callonListElementContinuationElement379() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement601() + return p.cur.onListElementContinuationElement379() } -func (c *current) onListElementContinuationElement608() (interface{}, error) { +func (c *current) onListElementContinuationElement385() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonListElementContinuationElement608() (interface{}, error) { +func (p *parser) callonListElementContinuationElement385() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement608() + return p.cur.onListElementContinuationElement385() } -func (c *current) onListElementContinuationElement611() (interface{}, error) { +func (c *current) onListElementContinuationElement388() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonListElementContinuationElement611() (interface{}, error) { +func (p *parser) callonListElementContinuationElement388() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement611() + return p.cur.onListElementContinuationElement388() } -func (c *current) onListElementContinuationElement597(name interface{}) (interface{}, error) { - return types.NewAttributeReset(name.(string), string(c.text)) +func (c *current) onListElementContinuationElement376(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Comment, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonListElementContinuationElement597() (interface{}, error) { +func (p *parser) callonListElementContinuationElement376() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement597(stack["name"]) + return p.cur.onListElementContinuationElement376(stack["delimiter"]) } -func (c *current) onListElementContinuationElement622() (interface{}, error) { +func (c *current) onListElementContinuationElement398() (interface{}, error) { + // sequence of 4 "=" chars or more return string(c.text), nil } -func (p *parser) callonListElementContinuationElement622() (interface{}, error) { +func (p *parser) callonListElementContinuationElement398() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement622() + return p.cur.onListElementContinuationElement398() } -func (c *current) onListElementContinuationElement629() (interface{}, error) { +func (c *current) onListElementContinuationElement404() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonListElementContinuationElement629() (interface{}, error) { +func (p *parser) callonListElementContinuationElement404() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement629() + return p.cur.onListElementContinuationElement404() } -func (c *current) onListElementContinuationElement632() (interface{}, error) { +func (c *current) onListElementContinuationElement407() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonListElementContinuationElement632() (interface{}, error) { +func (p *parser) callonListElementContinuationElement407() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement632() + return p.cur.onListElementContinuationElement407() } -func (c *current) onListElementContinuationElement618(name interface{}) (interface{}, error) { - return types.NewAttributeReset(name.(string), string(c.text)) +func (c *current) onListElementContinuationElement395(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Example, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonListElementContinuationElement618() (interface{}, error) { +func (p *parser) callonListElementContinuationElement395() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement618(stack["name"]) + return p.cur.onListElementContinuationElement395(stack["delimiter"]) } -func (c *current) onListElementContinuationElement644() (interface{}, error) { - // sequence of 4 "/" chars or more +func (c *current) onListElementContinuationElement418() (interface{}, error) { + // exclude ` to avoid matching fenced blocks with more than 3 "`" delimter chars return string(c.text), nil - } -func (p *parser) callonListElementContinuationElement644() (interface{}, error) { +func (p *parser) callonListElementContinuationElement418() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement644() + return p.cur.onListElementContinuationElement418() } -func (c *current) onListElementContinuationElement650() (interface{}, error) { +func (c *current) onListElementContinuationElement422() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonListElementContinuationElement650() (interface{}, error) { +func (p *parser) callonListElementContinuationElement422() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement650() + return p.cur.onListElementContinuationElement422() } -func (c *current) onListElementContinuationElement653() (interface{}, error) { +func (c *current) onListElementContinuationElement425() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonListElementContinuationElement653() (interface{}, error) { +func (p *parser) callonListElementContinuationElement425() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement653() + return p.cur.onListElementContinuationElement425() } -func (c *current) onListElementContinuationElement641(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Comment, len(delimiter.(string)), string(c.text)) - +func (c *current) onListElementContinuationElement414(language interface{}) (interface{}, error) { + return types.NewMarkdownCodeBlockDelimiter(language.(string), string(c.text)) } -func (p *parser) callonListElementContinuationElement641() (interface{}, error) { +func (p *parser) callonListElementContinuationElement414() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement641(stack["delimiter"]) + return p.cur.onListElementContinuationElement414(stack["language"]) } -func (c *current) onListElementContinuationElement669() (interface{}, error) { - // sequence of 4 "/" chars or more +func (c *current) onListElementContinuationElement435() (interface{}, error) { + // sequence of 3 "`" chars or more return string(c.text), nil } -func (p *parser) callonListElementContinuationElement669() (interface{}, error) { +func (p *parser) callonListElementContinuationElement435() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement669() + return p.cur.onListElementContinuationElement435() } -func (c *current) onListElementContinuationElement675() (interface{}, error) { +func (c *current) onListElementContinuationElement441() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonListElementContinuationElement675() (interface{}, error) { +func (p *parser) callonListElementContinuationElement441() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement675() + return p.cur.onListElementContinuationElement441() } -func (c *current) onListElementContinuationElement678() (interface{}, error) { +func (c *current) onListElementContinuationElement444() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonListElementContinuationElement678() (interface{}, error) { +func (p *parser) callonListElementContinuationElement444() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement678() + return p.cur.onListElementContinuationElement444() } -func (c *current) onListElementContinuationElement666(delimiter interface{}) (interface{}, error) { +func (c *current) onListElementContinuationElement432(delimiter interface{}) (interface{}, error) { - return types.NewBlockDelimiter(types.Comment, len(delimiter.(string)), string(c.text)) + return types.NewBlockDelimiter(types.Fenced, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonListElementContinuationElement666() (interface{}, error) { +func (p *parser) callonListElementContinuationElement432() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement666(stack["delimiter"]) + return p.cur.onListElementContinuationElement432(stack["delimiter"]) } -func (c *current) onListElementContinuationElement694() (interface{}, error) { - // content is NOT mandatory +func (c *current) onListElementContinuationElement454() (interface{}, error) { + // sequence of 4 "-" chars or more return string(c.text), nil } -func (p *parser) callonListElementContinuationElement694() (interface{}, error) { +func (p *parser) callonListElementContinuationElement454() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement694() + return p.cur.onListElementContinuationElement454() } -func (c *current) onListElementContinuationElement698() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onListElementContinuationElement460() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonListElementContinuationElement698() (interface{}, error) { +func (p *parser) callonListElementContinuationElement460() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement698() + return p.cur.onListElementContinuationElement460() } -func (c *current) onListElementContinuationElement688(content interface{}) (interface{}, error) { - - return types.NewRawLine(content.(string)) - +func (c *current) onListElementContinuationElement463() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonListElementContinuationElement688() (interface{}, error) { +func (p *parser) callonListElementContinuationElement463() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement688(stack["content"]) + return p.cur.onListElementContinuationElement463() } -func (c *current) onListElementContinuationElement662(line interface{}) (interface{}, error) { - return line, nil +func (c *current) onListElementContinuationElement451(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Listing, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonListElementContinuationElement662() (interface{}, error) { +func (p *parser) callonListElementContinuationElement451() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement662(stack["line"]) + return p.cur.onListElementContinuationElement451(stack["delimiter"]) } -func (c *current) onListElementContinuationElement710() (interface{}, error) { - // sequence of 4 "/" chars or more +func (c *current) onListElementContinuationElement473() (interface{}, error) { + // sequence of 4 "." chars or more return string(c.text), nil } -func (p *parser) callonListElementContinuationElement710() (interface{}, error) { +func (p *parser) callonListElementContinuationElement473() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement710() + return p.cur.onListElementContinuationElement473() } -func (c *current) onListElementContinuationElement716() (interface{}, error) { +func (c *current) onListElementContinuationElement479() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonListElementContinuationElement716() (interface{}, error) { +func (p *parser) callonListElementContinuationElement479() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement716() + return p.cur.onListElementContinuationElement479() } -func (c *current) onListElementContinuationElement719() (interface{}, error) { +func (c *current) onListElementContinuationElement482() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonListElementContinuationElement719() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onListElementContinuationElement719() -} - -func (c *current) onListElementContinuationElement707(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Comment, len(delimiter.(string)), string(c.text)) - -} - -func (p *parser) callonListElementContinuationElement707() (interface{}, error) { +func (p *parser) callonListElementContinuationElement482() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement707(stack["delimiter"]) -} - -func (c *current) onListElementContinuationElement639(delimiter, content interface{}) (interface{}, error) { - return types.NewDelimitedBlock(types.Comment, content.([]interface{})) - + return p.cur.onListElementContinuationElement482() } -func (p *parser) callonListElementContinuationElement639() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onListElementContinuationElement639(stack["delimiter"], stack["content"]) -} +func (c *current) onListElementContinuationElement470(delimiter interface{}) (interface{}, error) { -func (c *current) onListElementContinuationElement734() (interface{}, error) { - // sequence of 4 "=" chars or more - return string(c.text), nil + return types.NewBlockDelimiter(types.Listing, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonListElementContinuationElement734() (interface{}, error) { +func (p *parser) callonListElementContinuationElement470() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement734() + return p.cur.onListElementContinuationElement470(stack["delimiter"]) } -func (c *current) onListElementContinuationElement740() (interface{}, error) { +func (c *current) onListElementContinuationElement492() (interface{}, error) { + // sequence of 4 "+" chars or more return string(c.text), nil } -func (p *parser) callonListElementContinuationElement740() (interface{}, error) { +func (p *parser) callonListElementContinuationElement492() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement740() + return p.cur.onListElementContinuationElement492() } -func (c *current) onListElementContinuationElement743() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onListElementContinuationElement498() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonListElementContinuationElement743() (interface{}, error) { +func (p *parser) callonListElementContinuationElement498() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement743() + return p.cur.onListElementContinuationElement498() } -func (c *current) onListElementContinuationElement731(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Example, len(delimiter.(string)), string(c.text)) - +func (c *current) onListElementContinuationElement501() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonListElementContinuationElement731() (interface{}, error) { +func (p *parser) callonListElementContinuationElement501() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement731(stack["delimiter"]) + return p.cur.onListElementContinuationElement501() } -func (c *current) onListElementContinuationElement750(start interface{}) (bool, error) { - return c.setBlockDelimiterLength(start.(*types.BlockDelimiter).Length) +func (c *current) onListElementContinuationElement489(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Passthrough, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonListElementContinuationElement750() (bool, error) { +func (p *parser) callonListElementContinuationElement489() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement750(stack["start"]) + return p.cur.onListElementContinuationElement489(stack["delimiter"]) } -func (c *current) onListElementContinuationElement762() (interface{}, error) { - // sequence of 4 "=" chars or more +func (c *current) onListElementContinuationElement511() (interface{}, error) { + // sequence of 4 "_" chars or more return string(c.text), nil } -func (p *parser) callonListElementContinuationElement762() (interface{}, error) { +func (p *parser) callonListElementContinuationElement511() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement762() + return p.cur.onListElementContinuationElement511() } -func (c *current) onListElementContinuationElement768() (interface{}, error) { +func (c *current) onListElementContinuationElement517() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonListElementContinuationElement768() (interface{}, error) { +func (p *parser) callonListElementContinuationElement517() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement768() + return p.cur.onListElementContinuationElement517() } -func (c *current) onListElementContinuationElement771() (interface{}, error) { +func (c *current) onListElementContinuationElement520() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonListElementContinuationElement771() (interface{}, error) { +func (p *parser) callonListElementContinuationElement520() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement771() + return p.cur.onListElementContinuationElement520() } -func (c *current) onListElementContinuationElement759(delimiter interface{}) (interface{}, error) { +func (c *current) onListElementContinuationElement508(delimiter interface{}) (interface{}, error) { - return types.NewBlockDelimiter(types.Example, len(delimiter.(string)), string(c.text)) + return types.NewBlockDelimiter(types.Quote, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonListElementContinuationElement759() (interface{}, error) { +func (p *parser) callonListElementContinuationElement508() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement759(stack["delimiter"]) + return p.cur.onListElementContinuationElement508(stack["delimiter"]) } -func (c *current) onListElementContinuationElement778(end interface{}) (bool, error) { - return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) +func (c *current) onListElementContinuationElement530() (interface{}, error) { + // sequence of 4 "*" chars or more + return string(c.text), nil } -func (p *parser) callonListElementContinuationElement778() (bool, error) { +func (p *parser) callonListElementContinuationElement530() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement778(stack["end"]) + return p.cur.onListElementContinuationElement530() } -func (c *current) onListElementContinuationElement788() (interface{}, error) { - // content is NOT mandatory +func (c *current) onListElementContinuationElement536() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonListElementContinuationElement788() (interface{}, error) { +func (p *parser) callonListElementContinuationElement536() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement788() + return p.cur.onListElementContinuationElement536() } -func (c *current) onListElementContinuationElement792() (interface{}, error) { +func (c *current) onListElementContinuationElement539() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonListElementContinuationElement792() (interface{}, error) { +func (p *parser) callonListElementContinuationElement539() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement792() + return p.cur.onListElementContinuationElement539() } -func (c *current) onListElementContinuationElement782(content interface{}) (interface{}, error) { +func (c *current) onListElementContinuationElement527(delimiter interface{}) (interface{}, error) { - return types.NewRawLine(content.(string)) + return types.NewBlockDelimiter(types.Sidebar, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonListElementContinuationElement782() (interface{}, error) { +func (p *parser) callonListElementContinuationElement527() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement782(stack["content"]) + return p.cur.onListElementContinuationElement527(stack["delimiter"]) } -func (c *current) onListElementContinuationElement753(line interface{}) (interface{}, error) { - return line, nil +func (c *current) onListElementContinuationElement370(delimiter interface{}) (interface{}, error) { + return delimiter, nil } -func (p *parser) callonListElementContinuationElement753() (interface{}, error) { +func (p *parser) callonListElementContinuationElement370() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement753(stack["line"]) + return p.cur.onListElementContinuationElement370(stack["delimiter"]) } -func (c *current) onListElementContinuationElement807() (interface{}, error) { - // sequence of 4 "=" chars or more - return string(c.text), nil +func (c *current) onListElementContinuationElement547() (interface{}, error) { + return strings.TrimSpace(string(c.text)), nil } -func (p *parser) callonListElementContinuationElement807() (interface{}, error) { +func (p *parser) callonListElementContinuationElement547() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement807() + return p.cur.onListElementContinuationElement547() } -func (c *current) onListElementContinuationElement813() (interface{}, error) { +func (c *current) onListElementContinuationElement551() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonListElementContinuationElement813() (interface{}, error) { +func (p *parser) callonListElementContinuationElement551() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement813() + return p.cur.onListElementContinuationElement551() } -func (c *current) onListElementContinuationElement816() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onListElementContinuationElement235(content interface{}) (interface{}, error) { + // do not retain the EOL chars + return types.NewRawLine(content.(string)) + } -func (p *parser) callonListElementContinuationElement816() (interface{}, error) { +func (p *parser) callonListElementContinuationElement235() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement816() + return p.cur.onListElementContinuationElement235(stack["content"]) } -func (c *current) onListElementContinuationElement804(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Example, len(delimiter.(string)), string(c.text)) +func (c *current) onListElementContinuationElement184(content interface{}) (interface{}, error) { + if content == nil { + return nil, nil + } + return types.NewParagraph(content) } -func (p *parser) callonListElementContinuationElement804() (interface{}, error) { +func (p *parser) callonListElementContinuationElement184() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement804(stack["delimiter"]) + return p.cur.onListElementContinuationElement184(stack["content"]) } -func (c *current) onListElementContinuationElement823(end interface{}) (bool, error) { - return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) +func (c *current) onListElementContinuationElement560() (interface{}, error) { + // log.Debug("matched multiple spaces") + return string(c.text), nil } -func (p *parser) callonListElementContinuationElement823() (bool, error) { +func (p *parser) callonListElementContinuationElement560() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement823(stack["end"]) + return p.cur.onListElementContinuationElement560() } -func (c *current) onListElementContinuationElement728(start, content, end interface{}) (interface{}, error) { - return types.NewDelimitedBlock(types.Example, content.([]interface{})) +func (c *current) onListElementContinuationElement564() (interface{}, error) { + return types.NewRawLine(string(c.text)) } -func (p *parser) callonListElementContinuationElement728() (interface{}, error) { +func (p *parser) callonListElementContinuationElement564() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement728(stack["start"], stack["content"], stack["end"]) + return p.cur.onListElementContinuationElement564() } -func (c *current) onListElementContinuationElement833() (interface{}, error) { - // exclude ` to avoid matching fenced blocks with more than 3 "`" delimter chars +func (c *current) onListElementContinuationElement568() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonListElementContinuationElement833() (interface{}, error) { +func (p *parser) callonListElementContinuationElement568() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement833() + return p.cur.onListElementContinuationElement568() } -func (c *current) onListElementContinuationElement837() (interface{}, error) { - return string(c.text), nil +func (c *current) onListElementContinuationElement558(content interface{}) (interface{}, error) { + return types.NewParagraph(content) } -func (p *parser) callonListElementContinuationElement837() (interface{}, error) { +func (p *parser) callonListElementContinuationElement558() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement837() + return p.cur.onListElementContinuationElement558(stack["content"]) } -func (c *current) onListElementContinuationElement840() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onListElementContinuationElement150(term, separator, description interface{}) (interface{}, error) { + return types.NewLabeledListElement(len(separator.(string))-1, term, description) + } -func (p *parser) callonListElementContinuationElement840() (interface{}, error) { +func (p *parser) callonListElementContinuationElement150() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement840() + return p.cur.onListElementContinuationElement150(stack["term"], stack["separator"], stack["description"]) } -func (c *current) onListElementContinuationElement829(language interface{}) (interface{}, error) { - return types.NewMarkdownCodeBlockDelimiter(language.(string), string(c.text)) +func (c *current) onListElementContinuationElement586() (interface{}, error) { + return string(c.text), nil + } -func (p *parser) callonListElementContinuationElement829() (interface{}, error) { +func (p *parser) callonListElementContinuationElement586() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement829(stack["language"]) + return p.cur.onListElementContinuationElement586() } -func (c *current) onListElementContinuationElement855() (interface{}, error) { +func (c *current) onListElementContinuationElement589() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil +} +func (p *parser) callonListElementContinuationElement589() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement589() } -func (p *parser) callonListElementContinuationElement855() (interface{}, error) { +func (c *current) onListElementContinuationElement580() (interface{}, error) { + return types.NewBlankLine() + +} + +func (p *parser) callonListElementContinuationElement580() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement855() + return p.cur.onListElementContinuationElement580() } -func (c *current) onListElementContinuationElement858() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onListElementContinuationElement601() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonListElementContinuationElement858() (interface{}, error) { +func (p *parser) callonListElementContinuationElement601() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement858() + return p.cur.onListElementContinuationElement601() } -func (c *current) onListElementContinuationElement872() (interface{}, error) { - // content is NOT mandatory +func (c *current) onListElementContinuationElement608() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonListElementContinuationElement872() (interface{}, error) { +func (p *parser) callonListElementContinuationElement608() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement872() + return p.cur.onListElementContinuationElement608() } -func (c *current) onListElementContinuationElement876() (interface{}, error) { +func (c *current) onListElementContinuationElement611() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonListElementContinuationElement876() (interface{}, error) { +func (p *parser) callonListElementContinuationElement611() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement876() + return p.cur.onListElementContinuationElement611() } -func (c *current) onListElementContinuationElement866(content interface{}) (interface{}, error) { - - return types.NewRawLine(content.(string)) +func (c *current) onListElementContinuationElement597(name interface{}) (interface{}, error) { + return types.NewAttributeReset(name.(string), string(c.text)) } -func (p *parser) callonListElementContinuationElement866() (interface{}, error) { +func (p *parser) callonListElementContinuationElement597() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement866(stack["content"]) + return p.cur.onListElementContinuationElement597(stack["name"]) } -func (c *current) onListElementContinuationElement849(line interface{}) (interface{}, error) { - return line, nil +func (c *current) onListElementContinuationElement622() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonListElementContinuationElement849() (interface{}, error) { +func (p *parser) callonListElementContinuationElement622() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement849(stack["line"]) + return p.cur.onListElementContinuationElement622() } -func (c *current) onListElementContinuationElement887() (interface{}, error) { +func (c *current) onListElementContinuationElement629() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonListElementContinuationElement887() (interface{}, error) { +func (p *parser) callonListElementContinuationElement629() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement887() + return p.cur.onListElementContinuationElement629() } -func (c *current) onListElementContinuationElement890() (interface{}, error) { +func (c *current) onListElementContinuationElement632() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonListElementContinuationElement890() (interface{}, error) { +func (p *parser) callonListElementContinuationElement632() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement890() + return p.cur.onListElementContinuationElement632() } -func (c *current) onListElementContinuationElement826(delimiter, content interface{}) (interface{}, error) { - // Markdown code with fences is a "listing/source" block in Asciidoc - b, err := types.NewDelimitedBlock(types.Listing, content.([]interface{})) - b.AddAttributes(delimiter.(*types.BlockDelimiter).Attributes) - return b, err +func (c *current) onListElementContinuationElement618(name interface{}) (interface{}, error) { + return types.NewAttributeReset(name.(string), string(c.text)) } -func (p *parser) callonListElementContinuationElement826() (interface{}, error) { +func (p *parser) callonListElementContinuationElement618() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement826(stack["delimiter"], stack["content"]) + return p.cur.onListElementContinuationElement618(stack["name"]) } -func (c *current) onListElementContinuationElement903() (interface{}, error) { - // sequence of 3 "`" chars or more +func (c *current) onListElementContinuationElement644() (interface{}, error) { + // sequence of 4 "/" chars or more return string(c.text), nil } -func (p *parser) callonListElementContinuationElement903() (interface{}, error) { +func (p *parser) callonListElementContinuationElement644() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement903() + return p.cur.onListElementContinuationElement644() } -func (c *current) onListElementContinuationElement909() (interface{}, error) { +func (c *current) onListElementContinuationElement650() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonListElementContinuationElement909() (interface{}, error) { +func (p *parser) callonListElementContinuationElement650() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement909() + return p.cur.onListElementContinuationElement650() } -func (c *current) onListElementContinuationElement912() (interface{}, error) { +func (c *current) onListElementContinuationElement653() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonListElementContinuationElement912() (interface{}, error) { +func (p *parser) callonListElementContinuationElement653() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement912() -} - -func (c *current) onListElementContinuationElement900(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Fenced, len(delimiter.(string)), string(c.text)) - + return p.cur.onListElementContinuationElement653() } -func (p *parser) callonListElementContinuationElement900() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onListElementContinuationElement900(stack["delimiter"]) -} +func (c *current) onListElementContinuationElement641(delimiter interface{}) (interface{}, error) { -func (c *current) onListElementContinuationElement919(start interface{}) (bool, error) { - return c.setBlockDelimiterLength(start.(*types.BlockDelimiter).Length) + return types.NewBlockDelimiter(types.Comment, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonListElementContinuationElement919() (bool, error) { +func (p *parser) callonListElementContinuationElement641() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement919(stack["start"]) + return p.cur.onListElementContinuationElement641(stack["delimiter"]) } -func (c *current) onListElementContinuationElement931() (interface{}, error) { - // sequence of 3 "`" chars or more +func (c *current) onListElementContinuationElement669() (interface{}, error) { + // sequence of 4 "/" chars or more return string(c.text), nil } -func (p *parser) callonListElementContinuationElement931() (interface{}, error) { +func (p *parser) callonListElementContinuationElement669() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement931() + return p.cur.onListElementContinuationElement669() } -func (c *current) onListElementContinuationElement937() (interface{}, error) { +func (c *current) onListElementContinuationElement675() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonListElementContinuationElement937() (interface{}, error) { +func (p *parser) callonListElementContinuationElement675() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement937() + return p.cur.onListElementContinuationElement675() } -func (c *current) onListElementContinuationElement940() (interface{}, error) { +func (c *current) onListElementContinuationElement678() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonListElementContinuationElement940() (interface{}, error) { +func (p *parser) callonListElementContinuationElement678() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement940() -} - -func (c *current) onListElementContinuationElement928(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Fenced, len(delimiter.(string)), string(c.text)) - + return p.cur.onListElementContinuationElement678() } -func (p *parser) callonListElementContinuationElement928() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onListElementContinuationElement928(stack["delimiter"]) -} +func (c *current) onListElementContinuationElement666(delimiter interface{}) (interface{}, error) { -func (c *current) onListElementContinuationElement947(end interface{}) (bool, error) { - return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) + return types.NewBlockDelimiter(types.Comment, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonListElementContinuationElement947() (bool, error) { +func (p *parser) callonListElementContinuationElement666() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement947(stack["end"]) + return p.cur.onListElementContinuationElement666(stack["delimiter"]) } -func (c *current) onListElementContinuationElement957() (interface{}, error) { +func (c *current) onListElementContinuationElement694() (interface{}, error) { // content is NOT mandatory return string(c.text), nil } -func (p *parser) callonListElementContinuationElement957() (interface{}, error) { +func (p *parser) callonListElementContinuationElement694() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement957() + return p.cur.onListElementContinuationElement694() } -func (c *current) onListElementContinuationElement961() (interface{}, error) { +func (c *current) onListElementContinuationElement698() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonListElementContinuationElement961() (interface{}, error) { +func (p *parser) callonListElementContinuationElement698() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement961() + return p.cur.onListElementContinuationElement698() } -func (c *current) onListElementContinuationElement951(content interface{}) (interface{}, error) { +func (c *current) onListElementContinuationElement688(content interface{}) (interface{}, error) { return types.NewRawLine(content.(string)) } -func (p *parser) callonListElementContinuationElement951() (interface{}, error) { +func (p *parser) callonListElementContinuationElement688() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement951(stack["content"]) + return p.cur.onListElementContinuationElement688(stack["content"]) } -func (c *current) onListElementContinuationElement922(line interface{}) (interface{}, error) { +func (c *current) onListElementContinuationElement662(line interface{}) (interface{}, error) { return line, nil } -func (p *parser) callonListElementContinuationElement922() (interface{}, error) { +func (p *parser) callonListElementContinuationElement662() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement922(stack["line"]) + return p.cur.onListElementContinuationElement662(stack["line"]) } -func (c *current) onListElementContinuationElement976() (interface{}, error) { - // sequence of 3 "`" chars or more +func (c *current) onListElementContinuationElement710() (interface{}, error) { + // sequence of 4 "/" chars or more return string(c.text), nil } -func (p *parser) callonListElementContinuationElement976() (interface{}, error) { +func (p *parser) callonListElementContinuationElement710() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement976() + return p.cur.onListElementContinuationElement710() } -func (c *current) onListElementContinuationElement982() (interface{}, error) { +func (c *current) onListElementContinuationElement716() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonListElementContinuationElement982() (interface{}, error) { +func (p *parser) callonListElementContinuationElement716() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement982() + return p.cur.onListElementContinuationElement716() } -func (c *current) onListElementContinuationElement985() (interface{}, error) { +func (c *current) onListElementContinuationElement719() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonListElementContinuationElement985() (interface{}, error) { +func (p *parser) callonListElementContinuationElement719() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement985() -} - -func (c *current) onListElementContinuationElement973(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Fenced, len(delimiter.(string)), string(c.text)) - + return p.cur.onListElementContinuationElement719() } -func (p *parser) callonListElementContinuationElement973() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onListElementContinuationElement973(stack["delimiter"]) -} +func (c *current) onListElementContinuationElement707(delimiter interface{}) (interface{}, error) { -func (c *current) onListElementContinuationElement992(end interface{}) (bool, error) { - return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) + return types.NewBlockDelimiter(types.Comment, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonListElementContinuationElement992() (bool, error) { +func (p *parser) callonListElementContinuationElement707() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement992(stack["end"]) + return p.cur.onListElementContinuationElement707(stack["delimiter"]) } -func (c *current) onListElementContinuationElement897(start, content, end interface{}) (interface{}, error) { - return types.NewDelimitedBlock(types.Fenced, content.([]interface{})) +func (c *current) onListElementContinuationElement639(delimiter, content interface{}) (interface{}, error) { + return types.NewDelimitedBlock(types.Comment, content.([]interface{})) } -func (p *parser) callonListElementContinuationElement897() (interface{}, error) { +func (p *parser) callonListElementContinuationElement639() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement897(stack["start"], stack["content"], stack["end"]) + return p.cur.onListElementContinuationElement639(stack["delimiter"], stack["content"]) } -func (c *current) onListElementContinuationElement1001() (interface{}, error) { - // sequence of 4 "-" chars or more +func (c *current) onListElementContinuationElement734() (interface{}, error) { + // sequence of 4 "=" chars or more return string(c.text), nil } -func (p *parser) callonListElementContinuationElement1001() (interface{}, error) { +func (p *parser) callonListElementContinuationElement734() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1001() + return p.cur.onListElementContinuationElement734() } -func (c *current) onListElementContinuationElement1007() (interface{}, error) { +func (c *current) onListElementContinuationElement740() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonListElementContinuationElement1007() (interface{}, error) { +func (p *parser) callonListElementContinuationElement740() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1007() + return p.cur.onListElementContinuationElement740() } -func (c *current) onListElementContinuationElement1010() (interface{}, error) { +func (c *current) onListElementContinuationElement743() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonListElementContinuationElement1010() (interface{}, error) { +func (p *parser) callonListElementContinuationElement743() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1010() + return p.cur.onListElementContinuationElement743() } -func (c *current) onListElementContinuationElement998(delimiter interface{}) (interface{}, error) { +func (c *current) onListElementContinuationElement731(delimiter interface{}) (interface{}, error) { - return types.NewBlockDelimiter(types.Listing, len(delimiter.(string)), string(c.text)) + return types.NewBlockDelimiter(types.Example, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonListElementContinuationElement998() (interface{}, error) { +func (p *parser) callonListElementContinuationElement731() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement998(stack["delimiter"]) + return p.cur.onListElementContinuationElement731(stack["delimiter"]) } -func (c *current) onListElementContinuationElement1017(start interface{}) (bool, error) { +func (c *current) onListElementContinuationElement750(start interface{}) (bool, error) { return c.setBlockDelimiterLength(start.(*types.BlockDelimiter).Length) } -func (p *parser) callonListElementContinuationElement1017() (bool, error) { +func (p *parser) callonListElementContinuationElement750() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1017(stack["start"]) + return p.cur.onListElementContinuationElement750(stack["start"]) } -func (c *current) onListElementContinuationElement1029() (interface{}, error) { - // sequence of 4 "-" chars or more +func (c *current) onListElementContinuationElement762() (interface{}, error) { + // sequence of 4 "=" chars or more return string(c.text), nil } -func (p *parser) callonListElementContinuationElement1029() (interface{}, error) { +func (p *parser) callonListElementContinuationElement762() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1029() + return p.cur.onListElementContinuationElement762() } -func (c *current) onListElementContinuationElement1035() (interface{}, error) { +func (c *current) onListElementContinuationElement768() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonListElementContinuationElement1035() (interface{}, error) { +func (p *parser) callonListElementContinuationElement768() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1035() + return p.cur.onListElementContinuationElement768() } -func (c *current) onListElementContinuationElement1038() (interface{}, error) { +func (c *current) onListElementContinuationElement771() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonListElementContinuationElement1038() (interface{}, error) { +func (p *parser) callonListElementContinuationElement771() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1038() + return p.cur.onListElementContinuationElement771() } -func (c *current) onListElementContinuationElement1026(delimiter interface{}) (interface{}, error) { +func (c *current) onListElementContinuationElement759(delimiter interface{}) (interface{}, error) { - return types.NewBlockDelimiter(types.Listing, len(delimiter.(string)), string(c.text)) + return types.NewBlockDelimiter(types.Example, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonListElementContinuationElement1026() (interface{}, error) { +func (p *parser) callonListElementContinuationElement759() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1026(stack["delimiter"]) + return p.cur.onListElementContinuationElement759(stack["delimiter"]) } -func (c *current) onListElementContinuationElement1045(end interface{}) (bool, error) { +func (c *current) onListElementContinuationElement778(end interface{}) (bool, error) { return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) } -func (p *parser) callonListElementContinuationElement1045() (bool, error) { +func (p *parser) callonListElementContinuationElement778() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1045(stack["end"]) + return p.cur.onListElementContinuationElement778(stack["end"]) } -func (c *current) onListElementContinuationElement1055() (interface{}, error) { +func (c *current) onListElementContinuationElement788() (interface{}, error) { // content is NOT mandatory return string(c.text), nil } -func (p *parser) callonListElementContinuationElement1055() (interface{}, error) { +func (p *parser) callonListElementContinuationElement788() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1055() + return p.cur.onListElementContinuationElement788() } -func (c *current) onListElementContinuationElement1059() (interface{}, error) { +func (c *current) onListElementContinuationElement792() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonListElementContinuationElement1059() (interface{}, error) { +func (p *parser) callonListElementContinuationElement792() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1059() + return p.cur.onListElementContinuationElement792() } -func (c *current) onListElementContinuationElement1049(content interface{}) (interface{}, error) { +func (c *current) onListElementContinuationElement782(content interface{}) (interface{}, error) { return types.NewRawLine(content.(string)) } -func (p *parser) callonListElementContinuationElement1049() (interface{}, error) { +func (p *parser) callonListElementContinuationElement782() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1049(stack["content"]) + return p.cur.onListElementContinuationElement782(stack["content"]) } -func (c *current) onListElementContinuationElement1020(line interface{}) (interface{}, error) { +func (c *current) onListElementContinuationElement753(line interface{}) (interface{}, error) { return line, nil } -func (p *parser) callonListElementContinuationElement1020() (interface{}, error) { +func (p *parser) callonListElementContinuationElement753() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1020(stack["line"]) + return p.cur.onListElementContinuationElement753(stack["line"]) } -func (c *current) onListElementContinuationElement1074() (interface{}, error) { - // sequence of 4 "-" chars or more +func (c *current) onListElementContinuationElement807() (interface{}, error) { + // sequence of 4 "=" chars or more return string(c.text), nil } -func (p *parser) callonListElementContinuationElement1074() (interface{}, error) { +func (p *parser) callonListElementContinuationElement807() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1074() + return p.cur.onListElementContinuationElement807() } -func (c *current) onListElementContinuationElement1080() (interface{}, error) { +func (c *current) onListElementContinuationElement813() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonListElementContinuationElement1080() (interface{}, error) { +func (p *parser) callonListElementContinuationElement813() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1080() + return p.cur.onListElementContinuationElement813() } -func (c *current) onListElementContinuationElement1083() (interface{}, error) { +func (c *current) onListElementContinuationElement816() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonListElementContinuationElement1083() (interface{}, error) { +func (p *parser) callonListElementContinuationElement816() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1083() + return p.cur.onListElementContinuationElement816() } -func (c *current) onListElementContinuationElement1071(delimiter interface{}) (interface{}, error) { +func (c *current) onListElementContinuationElement804(delimiter interface{}) (interface{}, error) { - return types.NewBlockDelimiter(types.Listing, len(delimiter.(string)), string(c.text)) + return types.NewBlockDelimiter(types.Example, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonListElementContinuationElement1071() (interface{}, error) { +func (p *parser) callonListElementContinuationElement804() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1071(stack["delimiter"]) + return p.cur.onListElementContinuationElement804(stack["delimiter"]) } -func (c *current) onListElementContinuationElement1090(end interface{}) (bool, error) { +func (c *current) onListElementContinuationElement823(end interface{}) (bool, error) { return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) } -func (p *parser) callonListElementContinuationElement1090() (bool, error) { +func (p *parser) callonListElementContinuationElement823() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1090(stack["end"]) + return p.cur.onListElementContinuationElement823(stack["end"]) } -func (c *current) onListElementContinuationElement995(start, content, end interface{}) (interface{}, error) { - return types.NewDelimitedBlock(types.Listing, content.([]interface{})) +func (c *current) onListElementContinuationElement728(start, content, end interface{}) (interface{}, error) { + return types.NewDelimitedBlock(types.Example, content.([]interface{})) } -func (p *parser) callonListElementContinuationElement995() (interface{}, error) { +func (p *parser) callonListElementContinuationElement728() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement995(stack["start"], stack["content"], stack["end"]) + return p.cur.onListElementContinuationElement728(stack["start"], stack["content"], stack["end"]) } -func (c *current) onListElementContinuationElement1099() (interface{}, error) { - // sequence of 4 "." chars or more +func (c *current) onListElementContinuationElement833() (interface{}, error) { + // exclude ` to avoid matching fenced blocks with more than 3 "`" delimter chars return string(c.text), nil - } -func (p *parser) callonListElementContinuationElement1099() (interface{}, error) { +func (p *parser) callonListElementContinuationElement833() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1099() + return p.cur.onListElementContinuationElement833() } -func (c *current) onListElementContinuationElement1105() (interface{}, error) { +func (c *current) onListElementContinuationElement837() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonListElementContinuationElement1105() (interface{}, error) { +func (p *parser) callonListElementContinuationElement837() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1105() + return p.cur.onListElementContinuationElement837() } -func (c *current) onListElementContinuationElement1108() (interface{}, error) { +func (c *current) onListElementContinuationElement840() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonListElementContinuationElement1108() (interface{}, error) { +func (p *parser) callonListElementContinuationElement840() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1108() + return p.cur.onListElementContinuationElement840() } -func (c *current) onListElementContinuationElement1096(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Listing, len(delimiter.(string)), string(c.text)) - +func (c *current) onListElementContinuationElement829(language interface{}) (interface{}, error) { + return types.NewMarkdownCodeBlockDelimiter(language.(string), string(c.text)) } -func (p *parser) callonListElementContinuationElement1096() (interface{}, error) { +func (p *parser) callonListElementContinuationElement829() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1096(stack["delimiter"]) + return p.cur.onListElementContinuationElement829(stack["language"]) } -func (c *current) onListElementContinuationElement1115(start interface{}) (bool, error) { - return c.setBlockDelimiterLength(start.(*types.BlockDelimiter).Length) +func (c *current) onListElementContinuationElement855() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonListElementContinuationElement1115() (bool, error) { +func (p *parser) callonListElementContinuationElement855() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1115(stack["start"]) + return p.cur.onListElementContinuationElement855() } -func (c *current) onListElementContinuationElement1127() (interface{}, error) { - // sequence of 4 "." chars or more +func (c *current) onListElementContinuationElement858() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonListElementContinuationElement1127() (interface{}, error) { +func (p *parser) callonListElementContinuationElement858() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1127() + return p.cur.onListElementContinuationElement858() } -func (c *current) onListElementContinuationElement1133() (interface{}, error) { +func (c *current) onListElementContinuationElement872() (interface{}, error) { + // content is NOT mandatory return string(c.text), nil } -func (p *parser) callonListElementContinuationElement1133() (interface{}, error) { +func (p *parser) callonListElementContinuationElement872() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1133() + return p.cur.onListElementContinuationElement872() } -func (c *current) onListElementContinuationElement1136() (interface{}, error) { +func (c *current) onListElementContinuationElement876() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonListElementContinuationElement1136() (interface{}, error) { +func (p *parser) callonListElementContinuationElement876() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1136() + return p.cur.onListElementContinuationElement876() } -func (c *current) onListElementContinuationElement1124(delimiter interface{}) (interface{}, error) { +func (c *current) onListElementContinuationElement866(content interface{}) (interface{}, error) { - return types.NewBlockDelimiter(types.Listing, len(delimiter.(string)), string(c.text)) + return types.NewRawLine(content.(string)) } -func (p *parser) callonListElementContinuationElement1124() (interface{}, error) { +func (p *parser) callonListElementContinuationElement866() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1124(stack["delimiter"]) + return p.cur.onListElementContinuationElement866(stack["content"]) } -func (c *current) onListElementContinuationElement1143(end interface{}) (bool, error) { - return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) +func (c *current) onListElementContinuationElement849(line interface{}) (interface{}, error) { + return line, nil } -func (p *parser) callonListElementContinuationElement1143() (bool, error) { +func (p *parser) callonListElementContinuationElement849() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1143(stack["end"]) + return p.cur.onListElementContinuationElement849(stack["line"]) } -func (c *current) onListElementContinuationElement1153() (interface{}, error) { - // content is NOT mandatory +func (c *current) onListElementContinuationElement887() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonListElementContinuationElement1153() (interface{}, error) { +func (p *parser) callonListElementContinuationElement887() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1153() + return p.cur.onListElementContinuationElement887() } -func (c *current) onListElementContinuationElement1157() (interface{}, error) { +func (c *current) onListElementContinuationElement890() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonListElementContinuationElement1157() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onListElementContinuationElement1157() -} - -func (c *current) onListElementContinuationElement1147(content interface{}) (interface{}, error) { - - return types.NewRawLine(content.(string)) - -} - -func (p *parser) callonListElementContinuationElement1147() (interface{}, error) { +func (p *parser) callonListElementContinuationElement890() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1147(stack["content"]) + return p.cur.onListElementContinuationElement890() } -func (c *current) onListElementContinuationElement1118(line interface{}) (interface{}, error) { - return line, nil +func (c *current) onListElementContinuationElement826(delimiter, content interface{}) (interface{}, error) { + // Markdown code with fences is a "listing/source" block in Asciidoc + b, err := types.NewDelimitedBlock(types.Listing, content.([]interface{})) + b.AddAttributes(delimiter.(*types.BlockDelimiter).Attributes) + return b, err } -func (p *parser) callonListElementContinuationElement1118() (interface{}, error) { +func (p *parser) callonListElementContinuationElement826() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1118(stack["line"]) + return p.cur.onListElementContinuationElement826(stack["delimiter"], stack["content"]) } -func (c *current) onListElementContinuationElement1172() (interface{}, error) { - // sequence of 4 "." chars or more +func (c *current) onListElementContinuationElement903() (interface{}, error) { + // sequence of 3 "`" chars or more return string(c.text), nil } -func (p *parser) callonListElementContinuationElement1172() (interface{}, error) { +func (p *parser) callonListElementContinuationElement903() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1172() + return p.cur.onListElementContinuationElement903() } -func (c *current) onListElementContinuationElement1178() (interface{}, error) { +func (c *current) onListElementContinuationElement909() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonListElementContinuationElement1178() (interface{}, error) { +func (p *parser) callonListElementContinuationElement909() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1178() + return p.cur.onListElementContinuationElement909() } -func (c *current) onListElementContinuationElement1181() (interface{}, error) { +func (c *current) onListElementContinuationElement912() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonListElementContinuationElement1181() (interface{}, error) { +func (p *parser) callonListElementContinuationElement912() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1181() + return p.cur.onListElementContinuationElement912() } -func (c *current) onListElementContinuationElement1169(delimiter interface{}) (interface{}, error) { +func (c *current) onListElementContinuationElement900(delimiter interface{}) (interface{}, error) { - return types.NewBlockDelimiter(types.Listing, len(delimiter.(string)), string(c.text)) + return types.NewBlockDelimiter(types.Fenced, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonListElementContinuationElement1169() (interface{}, error) { +func (p *parser) callonListElementContinuationElement900() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1169(stack["delimiter"]) + return p.cur.onListElementContinuationElement900(stack["delimiter"]) } -func (c *current) onListElementContinuationElement1188(end interface{}) (bool, error) { - return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) +func (c *current) onListElementContinuationElement919(start interface{}) (bool, error) { + return c.setBlockDelimiterLength(start.(*types.BlockDelimiter).Length) } -func (p *parser) callonListElementContinuationElement1188() (bool, error) { +func (p *parser) callonListElementContinuationElement919() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1188(stack["end"]) + return p.cur.onListElementContinuationElement919(stack["start"]) } -func (c *current) onListElementContinuationElement1093(start, content, end interface{}) (interface{}, error) { - return types.NewDelimitedBlock(types.Literal, content.([]interface{})) +func (c *current) onListElementContinuationElement931() (interface{}, error) { + // sequence of 3 "`" chars or more + return string(c.text), nil } -func (p *parser) callonListElementContinuationElement1093() (interface{}, error) { +func (p *parser) callonListElementContinuationElement931() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1093(stack["start"], stack["content"], stack["end"]) + return p.cur.onListElementContinuationElement931() } -func (c *current) onListElementContinuationElement1203() (interface{}, error) { +func (c *current) onListElementContinuationElement937() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonListElementContinuationElement1203() (interface{}, error) { +func (p *parser) callonListElementContinuationElement937() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1203() + return p.cur.onListElementContinuationElement937() } -func (c *current) onListElementContinuationElement1206() (interface{}, error) { +func (c *current) onListElementContinuationElement940() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonListElementContinuationElement1206() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onListElementContinuationElement1206() -} - -func (c *current) onListElementContinuationElement1197() (interface{}, error) { - return types.NewBlankLine() - -} - -func (p *parser) callonListElementContinuationElement1197() (interface{}, error) { +func (p *parser) callonListElementContinuationElement940() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1197() + return p.cur.onListElementContinuationElement940() } -func (c *current) onListElementContinuationElement1215() (interface{}, error) { - - return string(c.text), nil - -} +func (c *current) onListElementContinuationElement928(delimiter interface{}) (interface{}, error) { -func (p *parser) callonListElementContinuationElement1215() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onListElementContinuationElement1215() -} + return types.NewBlockDelimiter(types.Fenced, len(delimiter.(string)), string(c.text)) -func (c *current) onListElementContinuationElement1219() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil } -func (p *parser) callonListElementContinuationElement1219() (interface{}, error) { +func (p *parser) callonListElementContinuationElement928() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1219() + return p.cur.onListElementContinuationElement928(stack["delimiter"]) } -func (c *current) onListElementContinuationElement1194(content interface{}) (interface{}, error) { - return types.NewRawLine(content.(string)) +func (c *current) onListElementContinuationElement947(end interface{}) (bool, error) { + return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) } -func (p *parser) callonListElementContinuationElement1194() (interface{}, error) { +func (p *parser) callonListElementContinuationElement947() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1194(stack["content"]) + return p.cur.onListElementContinuationElement947(stack["end"]) } -func (c *current) onListElementContinuationElement1238() (interface{}, error) { +func (c *current) onListElementContinuationElement957() (interface{}, error) { + // content is NOT mandatory return string(c.text), nil } -func (p *parser) callonListElementContinuationElement1238() (interface{}, error) { +func (p *parser) callonListElementContinuationElement957() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1238() + return p.cur.onListElementContinuationElement957() } -func (c *current) onListElementContinuationElement1241() (interface{}, error) { +func (c *current) onListElementContinuationElement961() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonListElementContinuationElement1241() (interface{}, error) { +func (p *parser) callonListElementContinuationElement961() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1241() + return p.cur.onListElementContinuationElement961() } -func (c *current) onListElementContinuationElement1232() (interface{}, error) { - return types.NewBlankLine() +func (c *current) onListElementContinuationElement951(content interface{}) (interface{}, error) { + + return types.NewRawLine(content.(string)) } -func (p *parser) callonListElementContinuationElement1232() (interface{}, error) { +func (p *parser) callonListElementContinuationElement951() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1232() + return p.cur.onListElementContinuationElement951(stack["content"]) } -func (c *current) onListElementContinuationElement1250() (interface{}, error) { - - return string(c.text), nil +func (c *current) onListElementContinuationElement922(line interface{}) (interface{}, error) { + return line, nil } -func (p *parser) callonListElementContinuationElement1250() (interface{}, error) { +func (p *parser) callonListElementContinuationElement922() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1250() + return p.cur.onListElementContinuationElement922(stack["line"]) } -func (c *current) onListElementContinuationElement1254() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onListElementContinuationElement976() (interface{}, error) { + // sequence of 3 "`" chars or more return string(c.text), nil + } -func (p *parser) callonListElementContinuationElement1254() (interface{}, error) { +func (p *parser) callonListElementContinuationElement976() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1254() + return p.cur.onListElementContinuationElement976() } -func (c *current) onListElementContinuationElement1229(content interface{}) (interface{}, error) { - return types.NewRawLine(content.(string)) +func (c *current) onListElementContinuationElement982() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonListElementContinuationElement1229() (interface{}, error) { +func (p *parser) callonListElementContinuationElement982() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1229(stack["content"]) + return p.cur.onListElementContinuationElement982() } -func (c *current) onListElementContinuationElement1264() (interface{}, error) { - return strings.TrimRight(string(c.text), " \t"), nil // trim spaces and tabs - +func (c *current) onListElementContinuationElement985() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonListElementContinuationElement1264() (interface{}, error) { +func (p *parser) callonListElementContinuationElement985() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1264() + return p.cur.onListElementContinuationElement985() } -func (c *current) onListElementContinuationElement1267(content interface{}) (bool, error) { - return len(strings.TrimSpace(content.(string))) > 0, nil - -} +func (c *current) onListElementContinuationElement973(delimiter interface{}) (interface{}, error) { -func (p *parser) callonListElementContinuationElement1267() (bool, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onListElementContinuationElement1267(stack["content"]) -} + return types.NewBlockDelimiter(types.Fenced, len(delimiter.(string)), string(c.text)) -func (c *current) onListElementContinuationElement1269() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil } -func (p *parser) callonListElementContinuationElement1269() (interface{}, error) { +func (p *parser) callonListElementContinuationElement973() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1269() + return p.cur.onListElementContinuationElement973(stack["delimiter"]) } -func (c *current) onListElementContinuationElement1261(content interface{}) (interface{}, error) { - return types.NewRawLine(content.(string)) +func (c *current) onListElementContinuationElement992(end interface{}) (bool, error) { + return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) } -func (p *parser) callonListElementContinuationElement1261() (interface{}, error) { +func (p *parser) callonListElementContinuationElement992() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1261(stack["content"]) + return p.cur.onListElementContinuationElement992(stack["end"]) } -func (c *current) onListElementContinuationElement1191(firstLine, otherLines interface{}) (interface{}, error) { - return types.NewDelimitedBlock(types.MarkdownQuote, append([]interface{}{firstLine}, otherLines.([]interface{})...)) +func (c *current) onListElementContinuationElement897(start, content, end interface{}) (interface{}, error) { + return types.NewDelimitedBlock(types.Fenced, content.([]interface{})) } -func (p *parser) callonListElementContinuationElement1191() (interface{}, error) { +func (p *parser) callonListElementContinuationElement897() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1191(stack["firstLine"], stack["otherLines"]) + return p.cur.onListElementContinuationElement897(stack["start"], stack["content"], stack["end"]) } -func (c *current) onListElementContinuationElement1282() (interface{}, error) { - // sequence of 4 "+" chars or more +func (c *current) onListElementContinuationElement1001() (interface{}, error) { + // sequence of 4 "-" chars or more return string(c.text), nil } -func (p *parser) callonListElementContinuationElement1282() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1001() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1282() + return p.cur.onListElementContinuationElement1001() } -func (c *current) onListElementContinuationElement1288() (interface{}, error) { +func (c *current) onListElementContinuationElement1007() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonListElementContinuationElement1288() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1007() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1288() + return p.cur.onListElementContinuationElement1007() } -func (c *current) onListElementContinuationElement1291() (interface{}, error) { +func (c *current) onListElementContinuationElement1010() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonListElementContinuationElement1291() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1010() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1291() + return p.cur.onListElementContinuationElement1010() } -func (c *current) onListElementContinuationElement1279(delimiter interface{}) (interface{}, error) { +func (c *current) onListElementContinuationElement998(delimiter interface{}) (interface{}, error) { - return types.NewBlockDelimiter(types.Passthrough, len(delimiter.(string)), string(c.text)) + return types.NewBlockDelimiter(types.Listing, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonListElementContinuationElement1279() (interface{}, error) { +func (p *parser) callonListElementContinuationElement998() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1279(stack["delimiter"]) + return p.cur.onListElementContinuationElement998(stack["delimiter"]) } -func (c *current) onListElementContinuationElement1298(start interface{}) (bool, error) { +func (c *current) onListElementContinuationElement1017(start interface{}) (bool, error) { return c.setBlockDelimiterLength(start.(*types.BlockDelimiter).Length) } -func (p *parser) callonListElementContinuationElement1298() (bool, error) { +func (p *parser) callonListElementContinuationElement1017() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1298(stack["start"]) + return p.cur.onListElementContinuationElement1017(stack["start"]) } -func (c *current) onListElementContinuationElement1310() (interface{}, error) { - // sequence of 4 "+" chars or more +func (c *current) onListElementContinuationElement1029() (interface{}, error) { + // sequence of 4 "-" chars or more return string(c.text), nil } -func (p *parser) callonListElementContinuationElement1310() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1029() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1310() + return p.cur.onListElementContinuationElement1029() } -func (c *current) onListElementContinuationElement1316() (interface{}, error) { +func (c *current) onListElementContinuationElement1035() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonListElementContinuationElement1316() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1035() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1316() + return p.cur.onListElementContinuationElement1035() } -func (c *current) onListElementContinuationElement1319() (interface{}, error) { +func (c *current) onListElementContinuationElement1038() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonListElementContinuationElement1319() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1038() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1319() + return p.cur.onListElementContinuationElement1038() } -func (c *current) onListElementContinuationElement1307(delimiter interface{}) (interface{}, error) { +func (c *current) onListElementContinuationElement1026(delimiter interface{}) (interface{}, error) { - return types.NewBlockDelimiter(types.Passthrough, len(delimiter.(string)), string(c.text)) + return types.NewBlockDelimiter(types.Listing, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonListElementContinuationElement1307() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1026() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1307(stack["delimiter"]) + return p.cur.onListElementContinuationElement1026(stack["delimiter"]) } -func (c *current) onListElementContinuationElement1326(end interface{}) (bool, error) { +func (c *current) onListElementContinuationElement1045(end interface{}) (bool, error) { return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) } -func (p *parser) callonListElementContinuationElement1326() (bool, error) { +func (p *parser) callonListElementContinuationElement1045() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1326(stack["end"]) + return p.cur.onListElementContinuationElement1045(stack["end"]) } -func (c *current) onListElementContinuationElement1336() (interface{}, error) { +func (c *current) onListElementContinuationElement1055() (interface{}, error) { // content is NOT mandatory return string(c.text), nil } -func (p *parser) callonListElementContinuationElement1336() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1055() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1336() + return p.cur.onListElementContinuationElement1055() } -func (c *current) onListElementContinuationElement1340() (interface{}, error) { +func (c *current) onListElementContinuationElement1059() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonListElementContinuationElement1340() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1059() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1340() + return p.cur.onListElementContinuationElement1059() } -func (c *current) onListElementContinuationElement1330(content interface{}) (interface{}, error) { +func (c *current) onListElementContinuationElement1049(content interface{}) (interface{}, error) { return types.NewRawLine(content.(string)) } -func (p *parser) callonListElementContinuationElement1330() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1049() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1330(stack["content"]) + return p.cur.onListElementContinuationElement1049(stack["content"]) } -func (c *current) onListElementContinuationElement1301(line interface{}) (interface{}, error) { +func (c *current) onListElementContinuationElement1020(line interface{}) (interface{}, error) { return line, nil } -func (p *parser) callonListElementContinuationElement1301() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1020() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1301(stack["line"]) + return p.cur.onListElementContinuationElement1020(stack["line"]) } -func (c *current) onListElementContinuationElement1355() (interface{}, error) { - // sequence of 4 "+" chars or more +func (c *current) onListElementContinuationElement1074() (interface{}, error) { + // sequence of 4 "-" chars or more return string(c.text), nil } -func (p *parser) callonListElementContinuationElement1355() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1074() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1355() + return p.cur.onListElementContinuationElement1074() } -func (c *current) onListElementContinuationElement1361() (interface{}, error) { +func (c *current) onListElementContinuationElement1080() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonListElementContinuationElement1361() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1080() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1361() + return p.cur.onListElementContinuationElement1080() } -func (c *current) onListElementContinuationElement1364() (interface{}, error) { +func (c *current) onListElementContinuationElement1083() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonListElementContinuationElement1364() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1083() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1364() + return p.cur.onListElementContinuationElement1083() } -func (c *current) onListElementContinuationElement1352(delimiter interface{}) (interface{}, error) { +func (c *current) onListElementContinuationElement1071(delimiter interface{}) (interface{}, error) { - return types.NewBlockDelimiter(types.Passthrough, len(delimiter.(string)), string(c.text)) + return types.NewBlockDelimiter(types.Listing, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonListElementContinuationElement1352() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1071() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1352(stack["delimiter"]) + return p.cur.onListElementContinuationElement1071(stack["delimiter"]) } -func (c *current) onListElementContinuationElement1371(end interface{}) (bool, error) { +func (c *current) onListElementContinuationElement1090(end interface{}) (bool, error) { return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) } -func (p *parser) callonListElementContinuationElement1371() (bool, error) { +func (p *parser) callonListElementContinuationElement1090() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1371(stack["end"]) + return p.cur.onListElementContinuationElement1090(stack["end"]) } -func (c *current) onListElementContinuationElement1276(start, content, end interface{}) (interface{}, error) { - return types.NewDelimitedBlock(types.Passthrough, content.([]interface{})) +func (c *current) onListElementContinuationElement995(start, content, end interface{}) (interface{}, error) { + return types.NewDelimitedBlock(types.Listing, content.([]interface{})) } -func (p *parser) callonListElementContinuationElement1276() (interface{}, error) { +func (p *parser) callonListElementContinuationElement995() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1276(stack["start"], stack["content"], stack["end"]) + return p.cur.onListElementContinuationElement995(stack["start"], stack["content"], stack["end"]) } -func (c *current) onListElementContinuationElement1380() (interface{}, error) { - // sequence of 4 "_" chars or more +func (c *current) onListElementContinuationElement1099() (interface{}, error) { + // sequence of 4 "." chars or more return string(c.text), nil } -func (p *parser) callonListElementContinuationElement1380() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1099() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1380() + return p.cur.onListElementContinuationElement1099() } -func (c *current) onListElementContinuationElement1386() (interface{}, error) { +func (c *current) onListElementContinuationElement1105() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonListElementContinuationElement1386() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1105() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1386() + return p.cur.onListElementContinuationElement1105() } -func (c *current) onListElementContinuationElement1389() (interface{}, error) { +func (c *current) onListElementContinuationElement1108() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonListElementContinuationElement1389() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1108() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1389() + return p.cur.onListElementContinuationElement1108() } -func (c *current) onListElementContinuationElement1377(delimiter interface{}) (interface{}, error) { +func (c *current) onListElementContinuationElement1096(delimiter interface{}) (interface{}, error) { - return types.NewBlockDelimiter(types.Quote, len(delimiter.(string)), string(c.text)) + return types.NewBlockDelimiter(types.Listing, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonListElementContinuationElement1377() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1096() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1377(stack["delimiter"]) + return p.cur.onListElementContinuationElement1096(stack["delimiter"]) } -func (c *current) onListElementContinuationElement1396(start interface{}) (bool, error) { +func (c *current) onListElementContinuationElement1115(start interface{}) (bool, error) { return c.setBlockDelimiterLength(start.(*types.BlockDelimiter).Length) } -func (p *parser) callonListElementContinuationElement1396() (bool, error) { +func (p *parser) callonListElementContinuationElement1115() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1396(stack["start"]) + return p.cur.onListElementContinuationElement1115(stack["start"]) } -func (c *current) onListElementContinuationElement1408() (interface{}, error) { - // sequence of 4 "_" chars or more +func (c *current) onListElementContinuationElement1127() (interface{}, error) { + // sequence of 4 "." chars or more return string(c.text), nil } -func (p *parser) callonListElementContinuationElement1408() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1127() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1408() + return p.cur.onListElementContinuationElement1127() } -func (c *current) onListElementContinuationElement1414() (interface{}, error) { +func (c *current) onListElementContinuationElement1133() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonListElementContinuationElement1414() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1133() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1414() + return p.cur.onListElementContinuationElement1133() } -func (c *current) onListElementContinuationElement1417() (interface{}, error) { +func (c *current) onListElementContinuationElement1136() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonListElementContinuationElement1417() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1136() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1417() + return p.cur.onListElementContinuationElement1136() } -func (c *current) onListElementContinuationElement1405(delimiter interface{}) (interface{}, error) { +func (c *current) onListElementContinuationElement1124(delimiter interface{}) (interface{}, error) { - return types.NewBlockDelimiter(types.Quote, len(delimiter.(string)), string(c.text)) + return types.NewBlockDelimiter(types.Listing, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonListElementContinuationElement1405() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1124() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1405(stack["delimiter"]) + return p.cur.onListElementContinuationElement1124(stack["delimiter"]) } -func (c *current) onListElementContinuationElement1424(end interface{}) (bool, error) { +func (c *current) onListElementContinuationElement1143(end interface{}) (bool, error) { return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) } -func (p *parser) callonListElementContinuationElement1424() (bool, error) { +func (p *parser) callonListElementContinuationElement1143() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1424(stack["end"]) + return p.cur.onListElementContinuationElement1143(stack["end"]) } -func (c *current) onListElementContinuationElement1434() (interface{}, error) { +func (c *current) onListElementContinuationElement1153() (interface{}, error) { // content is NOT mandatory return string(c.text), nil } -func (p *parser) callonListElementContinuationElement1434() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1153() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1434() + return p.cur.onListElementContinuationElement1153() } -func (c *current) onListElementContinuationElement1438() (interface{}, error) { +func (c *current) onListElementContinuationElement1157() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonListElementContinuationElement1438() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1157() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1438() + return p.cur.onListElementContinuationElement1157() } -func (c *current) onListElementContinuationElement1428(content interface{}) (interface{}, error) { +func (c *current) onListElementContinuationElement1147(content interface{}) (interface{}, error) { return types.NewRawLine(content.(string)) } -func (p *parser) callonListElementContinuationElement1428() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1147() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1428(stack["content"]) + return p.cur.onListElementContinuationElement1147(stack["content"]) } -func (c *current) onListElementContinuationElement1399(line interface{}) (interface{}, error) { +func (c *current) onListElementContinuationElement1118(line interface{}) (interface{}, error) { return line, nil } -func (p *parser) callonListElementContinuationElement1399() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1118() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1399(stack["line"]) + return p.cur.onListElementContinuationElement1118(stack["line"]) } -func (c *current) onListElementContinuationElement1453() (interface{}, error) { - // sequence of 4 "_" chars or more +func (c *current) onListElementContinuationElement1172() (interface{}, error) { + // sequence of 4 "." chars or more return string(c.text), nil } -func (p *parser) callonListElementContinuationElement1453() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1172() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1453() + return p.cur.onListElementContinuationElement1172() } -func (c *current) onListElementContinuationElement1459() (interface{}, error) { +func (c *current) onListElementContinuationElement1178() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonListElementContinuationElement1459() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1178() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1459() + return p.cur.onListElementContinuationElement1178() } -func (c *current) onListElementContinuationElement1462() (interface{}, error) { +func (c *current) onListElementContinuationElement1181() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonListElementContinuationElement1462() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1181() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1462() + return p.cur.onListElementContinuationElement1181() } -func (c *current) onListElementContinuationElement1450(delimiter interface{}) (interface{}, error) { +func (c *current) onListElementContinuationElement1169(delimiter interface{}) (interface{}, error) { - return types.NewBlockDelimiter(types.Quote, len(delimiter.(string)), string(c.text)) + return types.NewBlockDelimiter(types.Listing, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonListElementContinuationElement1450() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1169() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1450(stack["delimiter"]) + return p.cur.onListElementContinuationElement1169(stack["delimiter"]) } -func (c *current) onListElementContinuationElement1469(end interface{}) (bool, error) { +func (c *current) onListElementContinuationElement1188(end interface{}) (bool, error) { return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) } -func (p *parser) callonListElementContinuationElement1469() (bool, error) { +func (p *parser) callonListElementContinuationElement1188() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1469(stack["end"]) + return p.cur.onListElementContinuationElement1188(stack["end"]) } -func (c *current) onListElementContinuationElement1374(start, content, end interface{}) (interface{}, error) { - return types.NewDelimitedBlock(types.Quote, content.([]interface{})) +func (c *current) onListElementContinuationElement1093(start, content, end interface{}) (interface{}, error) { + return types.NewDelimitedBlock(types.Literal, content.([]interface{})) } -func (p *parser) callonListElementContinuationElement1374() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1093() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1374(stack["start"], stack["content"], stack["end"]) + return p.cur.onListElementContinuationElement1093(stack["start"], stack["content"], stack["end"]) } -func (c *current) onListElementContinuationElement1478() (interface{}, error) { - // sequence of 4 "*" chars or more +func (c *current) onListElementContinuationElement1203() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonListElementContinuationElement1478() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1203() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1478() + return p.cur.onListElementContinuationElement1203() } -func (c *current) onListElementContinuationElement1484() (interface{}, error) { +func (c *current) onListElementContinuationElement1206() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonListElementContinuationElement1484() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1206() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1484() + return p.cur.onListElementContinuationElement1206() } -func (c *current) onListElementContinuationElement1487() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onListElementContinuationElement1197() (interface{}, error) { + return types.NewBlankLine() + } -func (p *parser) callonListElementContinuationElement1487() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1197() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1487() + return p.cur.onListElementContinuationElement1197() } -func (c *current) onListElementContinuationElement1475(delimiter interface{}) (interface{}, error) { +func (c *current) onListElementContinuationElement1215() (interface{}, error) { - return types.NewBlockDelimiter(types.Sidebar, len(delimiter.(string)), string(c.text)) + return string(c.text), nil } -func (p *parser) callonListElementContinuationElement1475() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1215() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1475(stack["delimiter"]) + return p.cur.onListElementContinuationElement1215() } -func (c *current) onListElementContinuationElement1494(start interface{}) (bool, error) { - return c.setBlockDelimiterLength(start.(*types.BlockDelimiter).Length) - +func (c *current) onListElementContinuationElement1219() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonListElementContinuationElement1494() (bool, error) { +func (p *parser) callonListElementContinuationElement1219() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1494(stack["start"]) + return p.cur.onListElementContinuationElement1219() } -func (c *current) onListElementContinuationElement1506() (interface{}, error) { - // sequence of 4 "*" chars or more - return string(c.text), nil +func (c *current) onListElementContinuationElement1194(content interface{}) (interface{}, error) { + return types.NewRawLine(content.(string)) } -func (p *parser) callonListElementContinuationElement1506() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1194() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1506() + return p.cur.onListElementContinuationElement1194(stack["content"]) } -func (c *current) onListElementContinuationElement1512() (interface{}, error) { +func (c *current) onListElementContinuationElement1238() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonListElementContinuationElement1512() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1238() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1512() + return p.cur.onListElementContinuationElement1238() } -func (c *current) onListElementContinuationElement1515() (interface{}, error) { +func (c *current) onListElementContinuationElement1241() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonListElementContinuationElement1515() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1241() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1515() + return p.cur.onListElementContinuationElement1241() } -func (c *current) onListElementContinuationElement1503(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Sidebar, len(delimiter.(string)), string(c.text)) +func (c *current) onListElementContinuationElement1232() (interface{}, error) { + return types.NewBlankLine() } -func (p *parser) callonListElementContinuationElement1503() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1232() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1503(stack["delimiter"]) -} - -func (c *current) onListElementContinuationElement1522(end interface{}) (bool, error) { - return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) - + return p.cur.onListElementContinuationElement1232() } -func (p *parser) callonListElementContinuationElement1522() (bool, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onListElementContinuationElement1522(stack["end"]) -} +func (c *current) onListElementContinuationElement1250() (interface{}, error) { -func (c *current) onListElementContinuationElement1532() (interface{}, error) { - // content is NOT mandatory return string(c.text), nil } -func (p *parser) callonListElementContinuationElement1532() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1250() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1532() + return p.cur.onListElementContinuationElement1250() } -func (c *current) onListElementContinuationElement1536() (interface{}, error) { +func (c *current) onListElementContinuationElement1254() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonListElementContinuationElement1536() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1254() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1536() + return p.cur.onListElementContinuationElement1254() } -func (c *current) onListElementContinuationElement1526(content interface{}) (interface{}, error) { - +func (c *current) onListElementContinuationElement1229(content interface{}) (interface{}, error) { return types.NewRawLine(content.(string)) } -func (p *parser) callonListElementContinuationElement1526() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onListElementContinuationElement1526(stack["content"]) -} - -func (c *current) onListElementContinuationElement1497(line interface{}) (interface{}, error) { - return line, nil - -} - -func (p *parser) callonListElementContinuationElement1497() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1229() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1497(stack["line"]) + return p.cur.onListElementContinuationElement1229(stack["content"]) } -func (c *current) onListElementContinuationElement1551() (interface{}, error) { - // sequence of 4 "*" chars or more - return string(c.text), nil +func (c *current) onListElementContinuationElement1264() (interface{}, error) { + return strings.TrimRight(string(c.text), " \t"), nil // trim spaces and tabs } -func (p *parser) callonListElementContinuationElement1551() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1264() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1551() + return p.cur.onListElementContinuationElement1264() } -func (c *current) onListElementContinuationElement1557() (interface{}, error) { - return string(c.text), nil +func (c *current) onListElementContinuationElement1267(content interface{}) (bool, error) { + return len(strings.TrimSpace(content.(string))) > 0, nil } -func (p *parser) callonListElementContinuationElement1557() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1267() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1557() + return p.cur.onListElementContinuationElement1267(stack["content"]) } -func (c *current) onListElementContinuationElement1560() (interface{}, error) { +func (c *current) onListElementContinuationElement1269() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonListElementContinuationElement1560() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1269() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1560() + return p.cur.onListElementContinuationElement1269() } -func (c *current) onListElementContinuationElement1548(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Sidebar, len(delimiter.(string)), string(c.text)) +func (c *current) onListElementContinuationElement1261(content interface{}) (interface{}, error) { + return types.NewRawLine(content.(string)) } -func (p *parser) callonListElementContinuationElement1548() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1261() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1548(stack["delimiter"]) + return p.cur.onListElementContinuationElement1261(stack["content"]) } -func (c *current) onListElementContinuationElement1567(end interface{}) (bool, error) { - return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) +func (c *current) onListElementContinuationElement1191(firstLine, otherLines interface{}) (interface{}, error) { + return types.NewDelimitedBlock(types.MarkdownQuote, append([]interface{}{firstLine}, otherLines.([]interface{})...)) } -func (p *parser) callonListElementContinuationElement1567() (bool, error) { +func (p *parser) callonListElementContinuationElement1191() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1567(stack["end"]) + return p.cur.onListElementContinuationElement1191(stack["firstLine"], stack["otherLines"]) } -func (c *current) onListElementContinuationElement1472(start, content, end interface{}) (interface{}, error) { - return types.NewDelimitedBlock(types.Sidebar, content.([]interface{})) +func (c *current) onListElementContinuationElement1282() (interface{}, error) { + // sequence of 4 "+" chars or more + return string(c.text), nil } -func (p *parser) callonListElementContinuationElement1472() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1282() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1472(stack["start"], stack["content"], stack["end"]) + return p.cur.onListElementContinuationElement1282() } -func (c *current) onListElementContinuationElement1581() (interface{}, error) { +func (c *current) onListElementContinuationElement1288() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonListElementContinuationElement1581() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1288() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1581() + return p.cur.onListElementContinuationElement1288() } -func (c *current) onListElementContinuationElement1584() (interface{}, error) { +func (c *current) onListElementContinuationElement1291() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonListElementContinuationElement1584() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1291() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1584() + return p.cur.onListElementContinuationElement1291() } -func (c *current) onListElementContinuationElement1592() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onListElementContinuationElement1279(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Passthrough, len(delimiter.(string)), string(c.text)) + } -func (p *parser) callonListElementContinuationElement1592() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1279() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1592() + return p.cur.onListElementContinuationElement1279(stack["delimiter"]) } -func (c *current) onListElementContinuationElement1570() (interface{}, error) { - - return types.NewThematicBreak() +func (c *current) onListElementContinuationElement1298(start interface{}) (bool, error) { + return c.setBlockDelimiterLength(start.(*types.BlockDelimiter).Length) } -func (p *parser) callonListElementContinuationElement1570() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1298() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1570() + return p.cur.onListElementContinuationElement1298(stack["start"]) } -func (c *current) onListElementContinuationElement1604() (interface{}, error) { +func (c *current) onListElementContinuationElement1310() (interface{}, error) { + // sequence of 4 "+" chars or more return string(c.text), nil } -func (p *parser) callonListElementContinuationElement1604() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1310() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1604() + return p.cur.onListElementContinuationElement1310() } -func (c *current) onListElementContinuationElement1607() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onListElementContinuationElement1316() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonListElementContinuationElement1607() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1316() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1607() + return p.cur.onListElementContinuationElement1316() } -func (c *current) onListElementContinuationElement1624() (interface{}, error) { +func (c *current) onListElementContinuationElement1319() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonListElementContinuationElement1624() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1319() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1624() + return p.cur.onListElementContinuationElement1319() } -func (c *current) onListElementContinuationElement1630() (interface{}, error) { - return string(c.text), nil +func (c *current) onListElementContinuationElement1307(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Passthrough, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonListElementContinuationElement1630() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1307() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1630() + return p.cur.onListElementContinuationElement1307(stack["delimiter"]) } -func (c *current) onListElementContinuationElement1628(content interface{}) (interface{}, error) { - return types.NewRawContent(content.(string)) +func (c *current) onListElementContinuationElement1326(end interface{}) (bool, error) { + return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) } -func (p *parser) callonListElementContinuationElement1628() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1326() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1628(stack["content"]) + return p.cur.onListElementContinuationElement1326(stack["end"]) } -func (c *current) onListElementContinuationElement1620(content interface{}) (interface{}, error) { - return types.NewTableCell(content.(types.RawContent)) +func (c *current) onListElementContinuationElement1336() (interface{}, error) { + // content is NOT mandatory + return string(c.text), nil } -func (p *parser) callonListElementContinuationElement1620() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1336() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1620(stack["content"]) + return p.cur.onListElementContinuationElement1336() } -func (c *current) onListElementContinuationElement1634() (interface{}, error) { +func (c *current) onListElementContinuationElement1340() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonListElementContinuationElement1634() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1340() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1634() + return p.cur.onListElementContinuationElement1340() } -func (c *current) onListElementContinuationElement1648() (interface{}, error) { - return string(c.text), nil - -} +func (c *current) onListElementContinuationElement1330(content interface{}) (interface{}, error) { -func (p *parser) callonListElementContinuationElement1648() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onListElementContinuationElement1648() -} + return types.NewRawLine(content.(string)) -func (c *current) onListElementContinuationElement1651() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil } -func (p *parser) callonListElementContinuationElement1651() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1330() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1651() + return p.cur.onListElementContinuationElement1330(stack["content"]) } -func (c *current) onListElementContinuationElement1642() (interface{}, error) { - return types.NewBlankLine() +func (c *current) onListElementContinuationElement1301(line interface{}) (interface{}, error) { + return line, nil } -func (p *parser) callonListElementContinuationElement1642() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1301() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1642() + return p.cur.onListElementContinuationElement1301(stack["line"]) } -func (c *current) onListElementContinuationElement1616(cells interface{}) (interface{}, error) { - return types.NewTableRow(cells.([]interface{})) +func (c *current) onListElementContinuationElement1355() (interface{}, error) { + // sequence of 4 "+" chars or more + return string(c.text), nil } -func (p *parser) callonListElementContinuationElement1616() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1355() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1616(stack["cells"]) + return p.cur.onListElementContinuationElement1355() } -func (c *current) onListElementContinuationElement1668() (interface{}, error) { +func (c *current) onListElementContinuationElement1361() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonListElementContinuationElement1668() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1361() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1668() + return p.cur.onListElementContinuationElement1361() } -func (c *current) onListElementContinuationElement1671() (interface{}, error) { +func (c *current) onListElementContinuationElement1364() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonListElementContinuationElement1671() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1364() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1671() + return p.cur.onListElementContinuationElement1364() } -func (c *current) onListElementContinuationElement1692() (interface{}, error) { - return string(c.text), nil - -} +func (c *current) onListElementContinuationElement1352(delimiter interface{}) (interface{}, error) { -func (p *parser) callonListElementContinuationElement1692() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onListElementContinuationElement1692() -} + return types.NewBlockDelimiter(types.Passthrough, len(delimiter.(string)), string(c.text)) -func (c *current) onListElementContinuationElement1695() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil } -func (p *parser) callonListElementContinuationElement1695() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1352() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1695() + return p.cur.onListElementContinuationElement1352(stack["delimiter"]) } -func (c *current) onListElementContinuationElement1711() (interface{}, error) { - return string(c.text), nil +func (c *current) onListElementContinuationElement1371(end interface{}) (bool, error) { + return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) } -func (p *parser) callonListElementContinuationElement1711() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1371() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1711() + return p.cur.onListElementContinuationElement1371(stack["end"]) } -func (c *current) onListElementContinuationElement1714() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onListElementContinuationElement1276(start, content, end interface{}) (interface{}, error) { + return types.NewDelimitedBlock(types.Passthrough, content.([]interface{})) + } -func (p *parser) callonListElementContinuationElement1714() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1276() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1714() + return p.cur.onListElementContinuationElement1276(stack["start"], stack["content"], stack["end"]) } -func (c *current) onListElementContinuationElement1705() (interface{}, error) { - return types.NewBlankLine() +func (c *current) onListElementContinuationElement1380() (interface{}, error) { + // sequence of 4 "_" chars or more + return string(c.text), nil } -func (p *parser) callonListElementContinuationElement1705() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1380() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1705() + return p.cur.onListElementContinuationElement1380() } -func (c *current) onListElementContinuationElement1723() (interface{}, error) { +func (c *current) onListElementContinuationElement1386() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonListElementContinuationElement1723() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1386() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1723() + return p.cur.onListElementContinuationElement1386() } -func (c *current) onListElementContinuationElement1729() (interface{}, error) { +func (c *current) onListElementContinuationElement1389() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonListElementContinuationElement1729() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1389() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1729() + return p.cur.onListElementContinuationElement1389() } -func (c *current) onListElementContinuationElement1727(content interface{}) (interface{}, error) { - return types.NewRawContent(content.(string)) +func (c *current) onListElementContinuationElement1377(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Quote, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonListElementContinuationElement1727() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1377() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1727(stack["content"]) + return p.cur.onListElementContinuationElement1377(stack["delimiter"]) } -func (c *current) onListElementContinuationElement1685(content interface{}) (interface{}, error) { - return types.NewTableCell(content.(types.RawContent)) +func (c *current) onListElementContinuationElement1396(start interface{}) (bool, error) { + return c.setBlockDelimiterLength(start.(*types.BlockDelimiter).Length) } -func (p *parser) callonListElementContinuationElement1685() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1396() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1685(stack["content"]) + return p.cur.onListElementContinuationElement1396(stack["start"]) } -func (c *current) onListElementContinuationElement1733() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onListElementContinuationElement1408() (interface{}, error) { + // sequence of 4 "_" chars or more return string(c.text), nil + } -func (p *parser) callonListElementContinuationElement1733() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1408() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1733() + return p.cur.onListElementContinuationElement1408() } -func (c *current) onListElementContinuationElement1682(cell interface{}) (interface{}, error) { - return cell, nil +func (c *current) onListElementContinuationElement1414() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonListElementContinuationElement1682() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1414() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1682(stack["cell"]) + return p.cur.onListElementContinuationElement1414() } -func (c *current) onListElementContinuationElement1748() (interface{}, error) { +func (c *current) onListElementContinuationElement1417() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonListElementContinuationElement1748() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1417() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1748() + return p.cur.onListElementContinuationElement1417() } -func (c *current) onListElementContinuationElement1751() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onListElementContinuationElement1405(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Quote, len(delimiter.(string)), string(c.text)) + } -func (p *parser) callonListElementContinuationElement1751() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1405() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1751() + return p.cur.onListElementContinuationElement1405(stack["delimiter"]) } -func (c *current) onListElementContinuationElement1742() (interface{}, error) { - return types.NewBlankLine() +func (c *current) onListElementContinuationElement1424(end interface{}) (bool, error) { + return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) } -func (p *parser) callonListElementContinuationElement1742() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1424() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1742() + return p.cur.onListElementContinuationElement1424(stack["end"]) } -func (c *current) onListElementContinuationElement1763() (interface{}, error) { +func (c *current) onListElementContinuationElement1434() (interface{}, error) { + // content is NOT mandatory return string(c.text), nil } -func (p *parser) callonListElementContinuationElement1763() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1434() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1763() + return p.cur.onListElementContinuationElement1434() } -func (c *current) onListElementContinuationElement1766() (interface{}, error) { +func (c *current) onListElementContinuationElement1438() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonListElementContinuationElement1766() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1438() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1766() + return p.cur.onListElementContinuationElement1438() } -func (c *current) onListElementContinuationElement1661(cells interface{}) (interface{}, error) { - return types.NewTableRow(cells.([]interface{})) +func (c *current) onListElementContinuationElement1428(content interface{}) (interface{}, error) { + + return types.NewRawLine(content.(string)) } -func (p *parser) callonListElementContinuationElement1661() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1428() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1661(stack["cells"]) + return p.cur.onListElementContinuationElement1428(stack["content"]) } -func (c *current) onListElementContinuationElement1782() (interface{}, error) { - return string(c.text), nil +func (c *current) onListElementContinuationElement1399(line interface{}) (interface{}, error) { + return line, nil } -func (p *parser) callonListElementContinuationElement1782() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1399() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1782() + return p.cur.onListElementContinuationElement1399(stack["line"]) } -func (c *current) onListElementContinuationElement1785() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onListElementContinuationElement1453() (interface{}, error) { + // sequence of 4 "_" chars or more return string(c.text), nil + } -func (p *parser) callonListElementContinuationElement1785() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1453() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1785() + return p.cur.onListElementContinuationElement1453() } -func (c *current) onListElementContinuationElement1803() (interface{}, error) { +func (c *current) onListElementContinuationElement1459() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonListElementContinuationElement1803() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1459() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1803() + return p.cur.onListElementContinuationElement1459() } -func (c *current) onListElementContinuationElement1806() (interface{}, error) { +func (c *current) onListElementContinuationElement1462() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonListElementContinuationElement1806() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1462() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1806() + return p.cur.onListElementContinuationElement1462() } -func (c *current) onListElementContinuationElement1822() (interface{}, error) { - return string(c.text), nil +func (c *current) onListElementContinuationElement1450(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Quote, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonListElementContinuationElement1822() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1450() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1822() + return p.cur.onListElementContinuationElement1450(stack["delimiter"]) } -func (c *current) onListElementContinuationElement1825() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onListElementContinuationElement1469(end interface{}) (bool, error) { + return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) + } -func (p *parser) callonListElementContinuationElement1825() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1469() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1825() + return p.cur.onListElementContinuationElement1469(stack["end"]) } -func (c *current) onListElementContinuationElement1816() (interface{}, error) { - return types.NewBlankLine() +func (c *current) onListElementContinuationElement1374(start, content, end interface{}) (interface{}, error) { + return types.NewDelimitedBlock(types.Quote, content.([]interface{})) } -func (p *parser) callonListElementContinuationElement1816() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1374() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1816() + return p.cur.onListElementContinuationElement1374(stack["start"], stack["content"], stack["end"]) } -func (c *current) onListElementContinuationElement1834() (interface{}, error) { +func (c *current) onListElementContinuationElement1478() (interface{}, error) { + // sequence of 4 "*" chars or more return string(c.text), nil } -func (p *parser) callonListElementContinuationElement1834() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1478() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1834() + return p.cur.onListElementContinuationElement1478() } -func (c *current) onListElementContinuationElement1840() (interface{}, error) { +func (c *current) onListElementContinuationElement1484() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonListElementContinuationElement1840() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1484() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1840() + return p.cur.onListElementContinuationElement1484() } -func (c *current) onListElementContinuationElement1838(content interface{}) (interface{}, error) { - return types.NewRawContent(content.(string)) +func (c *current) onListElementContinuationElement1487() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} +func (p *parser) callonListElementContinuationElement1487() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1487() } -func (p *parser) callonListElementContinuationElement1838() (interface{}, error) { +func (c *current) onListElementContinuationElement1475(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Sidebar, len(delimiter.(string)), string(c.text)) + +} + +func (p *parser) callonListElementContinuationElement1475() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1838(stack["content"]) + return p.cur.onListElementContinuationElement1475(stack["delimiter"]) } -func (c *current) onListElementContinuationElement1796(content interface{}) (interface{}, error) { - return types.NewTableCell(content.(types.RawContent)) +func (c *current) onListElementContinuationElement1494(start interface{}) (bool, error) { + return c.setBlockDelimiterLength(start.(*types.BlockDelimiter).Length) } -func (p *parser) callonListElementContinuationElement1796() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1494() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1796(stack["content"]) + return p.cur.onListElementContinuationElement1494(stack["start"]) } -func (c *current) onListElementContinuationElement1844() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onListElementContinuationElement1506() (interface{}, error) { + // sequence of 4 "*" chars or more return string(c.text), nil + } -func (p *parser) callonListElementContinuationElement1844() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1506() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1844() + return p.cur.onListElementContinuationElement1506() } -func (c *current) onListElementContinuationElement1858() (interface{}, error) { +func (c *current) onListElementContinuationElement1512() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonListElementContinuationElement1858() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1512() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1858() + return p.cur.onListElementContinuationElement1512() } -func (c *current) onListElementContinuationElement1861() (interface{}, error) { +func (c *current) onListElementContinuationElement1515() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonListElementContinuationElement1861() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1515() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1861() + return p.cur.onListElementContinuationElement1515() } -func (c *current) onListElementContinuationElement1852() (interface{}, error) { - return types.NewBlankLine() +func (c *current) onListElementContinuationElement1503(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Sidebar, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonListElementContinuationElement1852() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1503() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1852() + return p.cur.onListElementContinuationElement1503(stack["delimiter"]) } -func (c *current) onListElementContinuationElement1775(cells interface{}) (interface{}, error) { - return types.NewTableRow(cells.([]interface{})) +func (c *current) onListElementContinuationElement1522(end interface{}) (bool, error) { + return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) } -func (p *parser) callonListElementContinuationElement1775() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1522() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1775(stack["cells"]) + return p.cur.onListElementContinuationElement1522(stack["end"]) } -func (c *current) onListElementContinuationElement1872() (interface{}, error) { +func (c *current) onListElementContinuationElement1532() (interface{}, error) { + // content is NOT mandatory return string(c.text), nil } -func (p *parser) callonListElementContinuationElement1872() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1532() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1872() + return p.cur.onListElementContinuationElement1532() } -func (c *current) onListElementContinuationElement1875() (interface{}, error) { +func (c *current) onListElementContinuationElement1536() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonListElementContinuationElement1875() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1536() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1875() + return p.cur.onListElementContinuationElement1536() } -func (c *current) onListElementContinuationElement1600(header, rows interface{}) (interface{}, error) { - return types.NewTable(header, rows.([]interface{})) +func (c *current) onListElementContinuationElement1526(content interface{}) (interface{}, error) { + + return types.NewRawLine(content.(string)) } -func (p *parser) callonListElementContinuationElement1600() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1526() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1600(stack["header"], stack["rows"]) + return p.cur.onListElementContinuationElement1526(stack["content"]) } -func (c *current) onListElementContinuationElement1890() (interface{}, error) { - return string(c.text), nil +func (c *current) onListElementContinuationElement1497(line interface{}) (interface{}, error) { + return line, nil } -func (p *parser) callonListElementContinuationElement1890() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1497() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1890() + return p.cur.onListElementContinuationElement1497(stack["line"]) } -func (c *current) onListElementContinuationElement1894() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onListElementContinuationElement1551() (interface{}, error) { + // sequence of 4 "*" chars or more return string(c.text), nil + } -func (p *parser) callonListElementContinuationElement1894() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1551() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1894() + return p.cur.onListElementContinuationElement1551() } -func (c *current) onListElementContinuationElement1884(content interface{}) (interface{}, error) { - return types.NewSingleLineComment(content.(string)) +func (c *current) onListElementContinuationElement1557() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonListElementContinuationElement1884() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1557() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1884(stack["content"]) + return p.cur.onListElementContinuationElement1557() } -func (c *current) onListElementContinuationElement1905() (interface{}, error) { - return types.Tip, nil +func (c *current) onListElementContinuationElement1560() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonListElementContinuationElement1905() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1560() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1905() + return p.cur.onListElementContinuationElement1560() } -func (c *current) onListElementContinuationElement1907() (interface{}, error) { - return types.Note, nil -} +func (c *current) onListElementContinuationElement1548(delimiter interface{}) (interface{}, error) { -func (p *parser) callonListElementContinuationElement1907() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onListElementContinuationElement1907() -} + return types.NewBlockDelimiter(types.Sidebar, len(delimiter.(string)), string(c.text)) -func (c *current) onListElementContinuationElement1909() (interface{}, error) { - return types.Important, nil } -func (p *parser) callonListElementContinuationElement1909() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1548() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1909() + return p.cur.onListElementContinuationElement1548(stack["delimiter"]) } -func (c *current) onListElementContinuationElement1911() (interface{}, error) { - return types.Warning, nil +func (c *current) onListElementContinuationElement1567(end interface{}) (bool, error) { + return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) + } -func (p *parser) callonListElementContinuationElement1911() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1567() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1911() + return p.cur.onListElementContinuationElement1567(stack["end"]) } -func (c *current) onListElementContinuationElement1913() (interface{}, error) { - return types.Caution, nil +func (c *current) onListElementContinuationElement1472(start, content, end interface{}) (interface{}, error) { + return types.NewDelimitedBlock(types.Sidebar, content.([]interface{})) + } -func (p *parser) callonListElementContinuationElement1913() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1472() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1913() + return p.cur.onListElementContinuationElement1472(stack["start"], stack["content"], stack["end"]) } -func (c *current) onListElementContinuationElement1920() (interface{}, error) { - return strings.TrimRight(string(c.text), " \t"), nil // trim spaces and tabs +func (c *current) onListElementContinuationElement1581() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonListElementContinuationElement1920() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1581() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1920() + return p.cur.onListElementContinuationElement1581() } -func (c *current) onListElementContinuationElement1923(content interface{}) (bool, error) { - return len(strings.TrimSpace(content.(string))) > 0, nil - +func (c *current) onListElementContinuationElement1584() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonListElementContinuationElement1923() (bool, error) { +func (p *parser) callonListElementContinuationElement1584() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1923(stack["content"]) + return p.cur.onListElementContinuationElement1584() } -func (c *current) onListElementContinuationElement1925() (interface{}, error) { +func (c *current) onListElementContinuationElement1592() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonListElementContinuationElement1925() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1592() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1925() + return p.cur.onListElementContinuationElement1592() } -func (c *current) onListElementContinuationElement1917(content interface{}) (interface{}, error) { - return types.NewRawLine(content.(string)) +func (c *current) onListElementContinuationElement1570() (interface{}, error) { + + return types.NewThematicBreak() } -func (p *parser) callonListElementContinuationElement1917() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1570() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1917(stack["content"]) + return p.cur.onListElementContinuationElement1570() } -func (c *current) onListElementContinuationElement1940() (interface{}, error) { +func (c *current) onListElementContinuationElement1604() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonListElementContinuationElement1940() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1604() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1940() + return p.cur.onListElementContinuationElement1604() } -func (c *current) onListElementContinuationElement1942() (interface{}, error) { +func (c *current) onListElementContinuationElement1607() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonListElementContinuationElement1942() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1607() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1942() + return p.cur.onListElementContinuationElement1607() } -func (c *current) onListElementContinuationElement1955() (interface{}, error) { +func (c *current) onListElementContinuationElement1624() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonListElementContinuationElement1955() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1624() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1955() + return p.cur.onListElementContinuationElement1624() } -func (c *current) onListElementContinuationElement1959() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onListElementContinuationElement1630() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonListElementContinuationElement1959() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1630() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1959() + return p.cur.onListElementContinuationElement1630() } -func (c *current) onListElementContinuationElement1949(content interface{}) (interface{}, error) { - return types.NewSingleLineComment(content.(string)) +func (c *current) onListElementContinuationElement1628(content interface{}) (interface{}, error) { + return types.NewRawContent(content.(string)) } -func (p *parser) callonListElementContinuationElement1949() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1628() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1949(stack["content"]) + return p.cur.onListElementContinuationElement1628(stack["content"]) } -func (c *current) onListElementContinuationElement1969() (interface{}, error) { - return strings.TrimRight(string(c.text), " \t"), nil // trim spaces and tabs +func (c *current) onListElementContinuationElement1620(content interface{}) (interface{}, error) { + return types.NewTableCell(content.(types.RawContent)) } -func (p *parser) callonListElementContinuationElement1969() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1620() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1969() + return p.cur.onListElementContinuationElement1620(stack["content"]) } -func (c *current) onListElementContinuationElement1972(content interface{}) (bool, error) { - return len(strings.TrimSpace(content.(string))) > 0, nil - +func (c *current) onListElementContinuationElement1634() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonListElementContinuationElement1972() (bool, error) { +func (p *parser) callonListElementContinuationElement1634() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1972(stack["content"]) + return p.cur.onListElementContinuationElement1634() } -func (c *current) onListElementContinuationElement1974() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onListElementContinuationElement1648() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonListElementContinuationElement1974() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1648() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1974() + return p.cur.onListElementContinuationElement1648() } -func (c *current) onListElementContinuationElement1966(content interface{}) (interface{}, error) { - return types.NewRawLine(content.(string)) - +func (c *current) onListElementContinuationElement1651() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonListElementContinuationElement1966() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1651() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1966(stack["content"]) + return p.cur.onListElementContinuationElement1651() } -func (c *current) onListElementContinuationElement1934(line interface{}) (interface{}, error) { - return line, nil +func (c *current) onListElementContinuationElement1642() (interface{}, error) { + return types.NewBlankLine() } -func (p *parser) callonListElementContinuationElement1934() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1642() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1934(stack["line"]) + return p.cur.onListElementContinuationElement1642() } -func (c *current) onListElementContinuationElement1901(kind, firstLine, otherLines interface{}) (interface{}, error) { - - return types.NewAdmonitionParagraph(kind.(string), append([]interface{}{firstLine}, otherLines.([]interface{})...)) +func (c *current) onListElementContinuationElement1616(cells interface{}) (interface{}, error) { + return types.NewTableRow(cells.([]interface{})) } -func (p *parser) callonListElementContinuationElement1901() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1616() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1901(stack["kind"], stack["firstLine"], stack["otherLines"]) + return p.cur.onListElementContinuationElement1616(stack["cells"]) } -func (c *current) onListElementContinuationElement1989() (interface{}, error) { - // log.Debug("matched multiple spaces") +func (c *current) onListElementContinuationElement1668() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonListElementContinuationElement1989() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1668() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1989() + return p.cur.onListElementContinuationElement1668() } -func (c *current) onListElementContinuationElement1987() (interface{}, error) { +func (c *current) onListElementContinuationElement1671() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonListElementContinuationElement1987() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1671() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1987() + return p.cur.onListElementContinuationElement1671() } -func (c *current) onListElementContinuationElement1994(content interface{}) (bool, error) { - return len(strings.TrimSpace(string(c.text))) > 0, nil +func (c *current) onListElementContinuationElement1692() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonListElementContinuationElement1994() (bool, error) { +func (p *parser) callonListElementContinuationElement1692() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1994(stack["content"]) + return p.cur.onListElementContinuationElement1692() } -func (c *current) onListElementContinuationElement1996() (interface{}, error) { +func (c *current) onListElementContinuationElement1695() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonListElementContinuationElement1996() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1695() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1996() + return p.cur.onListElementContinuationElement1695() } -func (c *current) onListElementContinuationElement1984(content interface{}) (interface{}, error) { - return types.NewRawLine(content.(string)) +func (c *current) onListElementContinuationElement1711() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonListElementContinuationElement1984() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1711() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1984(stack["content"]) + return p.cur.onListElementContinuationElement1711() } -func (c *current) onListElementContinuationElement2012() (interface{}, error) { +func (c *current) onListElementContinuationElement1714() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonListElementContinuationElement2012() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1714() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement2012() + return p.cur.onListElementContinuationElement1714() } -func (c *current) onListElementContinuationElement2016() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onListElementContinuationElement1705() (interface{}, error) { + return types.NewBlankLine() + } -func (p *parser) callonListElementContinuationElement2016() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1705() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement2016() + return p.cur.onListElementContinuationElement1705() } -func (c *current) onListElementContinuationElement2006(content interface{}) (interface{}, error) { - return types.NewSingleLineComment(content.(string)) +func (c *current) onListElementContinuationElement1723() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonListElementContinuationElement2006() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1723() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement2006(stack["content"]) + return p.cur.onListElementContinuationElement1723() } -func (c *current) onListElementContinuationElement2026() (interface{}, error) { - return strings.TrimRight(string(c.text), " \t"), nil // trim spaces and tabs +func (c *current) onListElementContinuationElement1729() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonListElementContinuationElement2026() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1729() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement2026() + return p.cur.onListElementContinuationElement1729() } -func (c *current) onListElementContinuationElement2029(content interface{}) (bool, error) { - return len(strings.TrimSpace(content.(string))) > 0, nil +func (c *current) onListElementContinuationElement1727(content interface{}) (interface{}, error) { + return types.NewRawContent(content.(string)) } -func (p *parser) callonListElementContinuationElement2029() (bool, error) { +func (p *parser) callonListElementContinuationElement1727() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement2029(stack["content"]) + return p.cur.onListElementContinuationElement1727(stack["content"]) } -func (c *current) onListElementContinuationElement2031() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onListElementContinuationElement1685(content interface{}) (interface{}, error) { + return types.NewTableCell(content.(types.RawContent)) + } -func (p *parser) callonListElementContinuationElement2031() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1685() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement2031() + return p.cur.onListElementContinuationElement1685(stack["content"]) } -func (c *current) onListElementContinuationElement2023(content interface{}) (interface{}, error) { - return types.NewRawLine(content.(string)) - +func (c *current) onListElementContinuationElement1733() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonListElementContinuationElement2023() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1733() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement2023(stack["content"]) + return p.cur.onListElementContinuationElement1733() } -func (c *current) onListElementContinuationElement1981(firstLine, otherLines interface{}) (interface{}, error) { - - return types.NewLiteralParagraph(types.LiteralBlockWithSpacesOnFirstLine, append([]interface{}{firstLine}, otherLines.([]interface{})...)) +func (c *current) onListElementContinuationElement1682(cell interface{}) (interface{}, error) { + return cell, nil } -func (p *parser) callonListElementContinuationElement1981() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1682() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1981(stack["firstLine"], stack["otherLines"]) + return p.cur.onListElementContinuationElement1682(stack["cell"]) } -func (c *current) onListElementContinuationElement2041() (interface{}, error) { +func (c *current) onListElementContinuationElement1748() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonListElementContinuationElement2041() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1748() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement2041() + return p.cur.onListElementContinuationElement1748() } -func (c *current) onListElementContinuationElement2045() (interface{}, error) { +func (c *current) onListElementContinuationElement1751() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonListElementContinuationElement2045() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1751() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement2045() + return p.cur.onListElementContinuationElement1751() } -func (c *current) onListElementContinuationElement2038(content interface{}) (interface{}, error) { - // do not retain the EOL chars - return types.NewParagraph(types.RawLine(content.(string))) - -} +func (c *current) onListElementContinuationElement1742() (interface{}, error) { + return types.NewBlankLine() -func (p *parser) callonListElementContinuationElement2038() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onListElementContinuationElement2038(stack["content"]) } -func (c *current) onListElementContinuationElement1(attributes, element interface{}) (interface{}, error) { - if element, ok := element.(types.WithAttributes); ok && attributes != nil { - element.AddAttributes(attributes.(types.Attributes)) - } - // if log.IsLevelEnabled(log.DebugLevel) { - // log.Debugf("returning element '%s'\n", spew.Sdump(element)) - // } - return element, nil +func (p *parser) callonListElementContinuationElement1742() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1742() +} + +func (c *current) onListElementContinuationElement1763() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonListElementContinuationElement1() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1763() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1(stack["attributes"], stack["element"]) + return p.cur.onListElementContinuationElement1763() } -func (c *current) onCallout3() (bool, error) { - return c.isSubstitutionEnabled(Callouts), nil - +func (c *current) onListElementContinuationElement1766() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonCallout3() (bool, error) { +func (p *parser) callonListElementContinuationElement1766() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onCallout3() + return p.cur.onListElementContinuationElement1766() } -func (c *current) onCallout6() (interface{}, error) { - return strconv.Atoi(string(c.text)) +func (c *current) onListElementContinuationElement1661(cells interface{}) (interface{}, error) { + return types.NewTableRow(cells.([]interface{})) + } -func (p *parser) callonCallout6() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1661() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onCallout6() + return p.cur.onListElementContinuationElement1661(stack["cells"]) } -func (c *current) onCallout11() (interface{}, error) { +func (c *current) onListElementContinuationElement1782() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonCallout11() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1782() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onCallout11() + return p.cur.onListElementContinuationElement1782() } -func (c *current) onCallout15() (interface{}, error) { +func (c *current) onListElementContinuationElement1785() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonCallout15() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1785() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onCallout15() + return p.cur.onListElementContinuationElement1785() } -func (c *current) onCallout1(ref interface{}) (interface{}, error) { - return types.NewCallout(ref.(int)) +func (c *current) onListElementContinuationElement1803() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonCallout1() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1803() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onCallout1(stack["ref"]) + return p.cur.onListElementContinuationElement1803() } -func (c *current) onShortcutParagraph10() (interface{}, error) { +func (c *current) onListElementContinuationElement1806() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonShortcutParagraph10() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1806() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph10() + return p.cur.onListElementContinuationElement1806() } -func (c *current) onShortcutParagraph17() (interface{}, error) { - - // `.` is 1, etc. - return (len(c.text)), nil +func (c *current) onListElementContinuationElement1822() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonShortcutParagraph17() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1822() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph17() + return p.cur.onListElementContinuationElement1822() } -func (c *current) onShortcutParagraph20(depth interface{}) (bool, error) { - - // use a predicate to make sure that only `.` to `.....` are allowed - return depth.(int) <= 5, nil - +func (c *current) onListElementContinuationElement1825() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonShortcutParagraph20() (bool, error) { +func (p *parser) callonListElementContinuationElement1825() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph20(stack["depth"]) + return p.cur.onListElementContinuationElement1825() } -func (c *current) onShortcutParagraph14(depth interface{}) (interface{}, error) { - switch depth.(int) { - case 1: - return types.NewOrderedListElementPrefix(types.Arabic) - case 2: - return types.NewOrderedListElementPrefix(types.LowerAlpha) - case 3: - return types.NewOrderedListElementPrefix(types.LowerRoman) - case 4: - return types.NewOrderedListElementPrefix(types.UpperAlpha) - default: - return types.NewOrderedListElementPrefix(types.UpperRoman) - } +func (c *current) onListElementContinuationElement1816() (interface{}, error) { + return types.NewBlankLine() } -func (p *parser) callonShortcutParagraph14() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1816() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph14(stack["depth"]) + return p.cur.onListElementContinuationElement1816() } -func (c *current) onShortcutParagraph21() (interface{}, error) { - // numbering style: "1.", etc. - return types.NewOrderedListElementPrefix(types.Arabic) +func (c *current) onListElementContinuationElement1834() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonShortcutParagraph21() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1834() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph21() + return p.cur.onListElementContinuationElement1834() } -func (c *current) onShortcutParagraph26() (interface{}, error) { - // numbering style: "a.", etc. - return types.NewOrderedListElementPrefix(types.LowerAlpha) +func (c *current) onListElementContinuationElement1840() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonShortcutParagraph26() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1840() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph26() + return p.cur.onListElementContinuationElement1840() } -func (c *current) onShortcutParagraph30() (interface{}, error) { - // numbering style: "A.", etc. - return types.NewOrderedListElementPrefix(types.UpperAlpha) +func (c *current) onListElementContinuationElement1838(content interface{}) (interface{}, error) { + return types.NewRawContent(content.(string)) } -func (p *parser) callonShortcutParagraph30() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1838() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph30() + return p.cur.onListElementContinuationElement1838(stack["content"]) } -func (c *current) onShortcutParagraph34() (interface{}, error) { - // numbering style: "i)", etc. - return types.NewOrderedListElementPrefix(types.LowerRoman) +func (c *current) onListElementContinuationElement1796(content interface{}) (interface{}, error) { + return types.NewTableCell(content.(types.RawContent)) } -func (p *parser) callonShortcutParagraph34() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1796() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph34() + return p.cur.onListElementContinuationElement1796(stack["content"]) } -func (c *current) onShortcutParagraph39() (interface{}, error) { - // numbering style: "I)", etc. - return types.NewOrderedListElementPrefix(types.UpperRoman) - +func (c *current) onListElementContinuationElement1844() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonShortcutParagraph39() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1844() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph39() + return p.cur.onListElementContinuationElement1844() } -func (c *current) onShortcutParagraph44(prefix interface{}) (interface{}, error) { - // log.Debug("matched multiple spaces") +func (c *current) onListElementContinuationElement1858() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonShortcutParagraph44() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1858() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph44(stack["prefix"]) + return p.cur.onListElementContinuationElement1858() } -func (c *current) onShortcutParagraph7(prefix interface{}) (interface{}, error) { - return prefix, nil +func (c *current) onListElementContinuationElement1861() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonShortcutParagraph7() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1861() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph7(stack["prefix"]) + return p.cur.onListElementContinuationElement1861() } -func (c *current) onShortcutParagraph52() (interface{}, error) { - return string(c.text), nil +func (c *current) onListElementContinuationElement1852() (interface{}, error) { + return types.NewBlankLine() } -func (p *parser) callonShortcutParagraph52() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1852() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph52() + return p.cur.onListElementContinuationElement1852() } -func (c *current) onShortcutParagraph59() (interface{}, error) { - - // `*` is 1, etc. - return (len(c.text)), nil +func (c *current) onListElementContinuationElement1775(cells interface{}) (interface{}, error) { + return types.NewTableRow(cells.([]interface{})) } -func (p *parser) callonShortcutParagraph59() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1775() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph59() + return p.cur.onListElementContinuationElement1775(stack["cells"]) } -func (c *current) onShortcutParagraph62(depth interface{}) (bool, error) { +func (c *current) onListElementContinuationElement1872() (interface{}, error) { + return string(c.text), nil - // use a predicate to make sure that only `*` to `*****` are allowed - return depth.(int) <= 5, nil +} +func (p *parser) callonListElementContinuationElement1872() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1872() } -func (p *parser) callonShortcutParagraph62() (bool, error) { +func (c *current) onListElementContinuationElement1875() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonListElementContinuationElement1875() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph62(stack["depth"]) + return p.cur.onListElementContinuationElement1875() } -func (c *current) onShortcutParagraph56(depth interface{}) (interface{}, error) { - switch depth.(int) { - case 1: - return types.NewUnorderedListElementPrefix(types.OneAsterisk) - case 2: - return types.NewUnorderedListElementPrefix(types.TwoAsterisks) - case 3: - return types.NewUnorderedListElementPrefix(types.ThreeAsterisks) - case 4: - return types.NewUnorderedListElementPrefix(types.FourAsterisks) - default: - return types.NewUnorderedListElementPrefix(types.FiveAsterisks) - } +func (c *current) onListElementContinuationElement1600(header, rows interface{}) (interface{}, error) { + return types.NewTable(header, rows.([]interface{})) } -func (p *parser) callonShortcutParagraph56() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1600() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph56(stack["depth"]) + return p.cur.onListElementContinuationElement1600(stack["header"], stack["rows"]) } -func (c *current) onShortcutParagraph64() (interface{}, error) { - return types.NewUnorderedListElementPrefix(types.Dash) +func (c *current) onListElementContinuationElement1890() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonShortcutParagraph64() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1890() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph64() + return p.cur.onListElementContinuationElement1890() } -func (c *current) onShortcutParagraph66(prefix interface{}) (interface{}, error) { - // log.Debug("matched multiple spaces") +func (c *current) onListElementContinuationElement1894() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonShortcutParagraph66() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1894() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph66(stack["prefix"]) + return p.cur.onListElementContinuationElement1894() } -func (c *current) onShortcutParagraph49(prefix interface{}) (interface{}, error) { - return prefix, nil +func (c *current) onListElementContinuationElement1884(content interface{}) (interface{}, error) { + return types.NewSingleLineComment(content.(string)) + } -func (p *parser) callonShortcutParagraph49() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1884() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph49(stack["prefix"]) + return p.cur.onListElementContinuationElement1884(stack["content"]) } -func (c *current) onShortcutParagraph72() (interface{}, error) { +func (c *current) onListElementContinuationElement1905() (interface{}, error) { return types.Tip, nil } -func (p *parser) callonShortcutParagraph72() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1905() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph72() + return p.cur.onListElementContinuationElement1905() } -func (c *current) onShortcutParagraph74() (interface{}, error) { +func (c *current) onListElementContinuationElement1907() (interface{}, error) { return types.Note, nil } -func (p *parser) callonShortcutParagraph74() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1907() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph74() + return p.cur.onListElementContinuationElement1907() } -func (c *current) onShortcutParagraph76() (interface{}, error) { +func (c *current) onListElementContinuationElement1909() (interface{}, error) { return types.Important, nil } -func (p *parser) callonShortcutParagraph76() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1909() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph76() + return p.cur.onListElementContinuationElement1909() } -func (c *current) onShortcutParagraph78() (interface{}, error) { +func (c *current) onListElementContinuationElement1911() (interface{}, error) { return types.Warning, nil } -func (p *parser) callonShortcutParagraph78() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1911() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph78() + return p.cur.onListElementContinuationElement1911() } -func (c *current) onShortcutParagraph80() (interface{}, error) { +func (c *current) onListElementContinuationElement1913() (interface{}, error) { return types.Caution, nil } -func (p *parser) callonShortcutParagraph80() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1913() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph80() + return p.cur.onListElementContinuationElement1913() } -func (c *current) onShortcutParagraph86() (interface{}, error) { +func (c *current) onListElementContinuationElement1920() (interface{}, error) { return strings.TrimRight(string(c.text), " \t"), nil // trim spaces and tabs } -func (p *parser) callonShortcutParagraph86() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1920() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph86() + return p.cur.onListElementContinuationElement1920() } -func (c *current) onShortcutParagraph89(content interface{}) (bool, error) { +func (c *current) onListElementContinuationElement1923(content interface{}) (bool, error) { return len(strings.TrimSpace(content.(string))) > 0, nil } -func (p *parser) callonShortcutParagraph89() (bool, error) { +func (p *parser) callonListElementContinuationElement1923() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph89(stack["content"]) + return p.cur.onListElementContinuationElement1923(stack["content"]) } -func (c *current) onShortcutParagraph91() (interface{}, error) { +func (c *current) onListElementContinuationElement1925() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonShortcutParagraph91() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1925() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph91() + return p.cur.onListElementContinuationElement1925() } -func (c *current) onShortcutParagraph83(content interface{}) (interface{}, error) { +func (c *current) onListElementContinuationElement1917(content interface{}) (interface{}, error) { return types.NewRawLine(content.(string)) } -func (p *parser) callonShortcutParagraph83() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1917() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph83(stack["content"]) + return p.cur.onListElementContinuationElement1917(stack["content"]) } -func (c *current) onShortcutParagraph98(firstLine interface{}) (bool, error) { - // also, make sure that there is no LabeledListElement delimiter (`::` - `::::`) - // in the middle of the line (with space afterwards) - // or at the end of the line - return !strings.Contains(string(firstLine.(types.RawLine)), ":: ") && - !strings.HasSuffix(string(firstLine.(types.RawLine)), "::"), nil +func (c *current) onListElementContinuationElement1940() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonShortcutParagraph98() (bool, error) { +func (p *parser) callonListElementContinuationElement1940() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph98(stack["firstLine"]) + return p.cur.onListElementContinuationElement1940() } -func (c *current) onShortcutParagraph113() (interface{}, error) { +func (c *current) onListElementContinuationElement1942() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonShortcutParagraph113() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1942() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph113() + return p.cur.onListElementContinuationElement1942() } -func (c *current) onShortcutParagraph116() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onListElementContinuationElement1955() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonShortcutParagraph116() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1955() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph116() + return p.cur.onListElementContinuationElement1955() } -func (c *current) onShortcutParagraph107() (interface{}, error) { - return types.NewBlankLine() - +func (c *current) onListElementContinuationElement1959() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonShortcutParagraph107() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1959() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph107() + return p.cur.onListElementContinuationElement1959() } -func (c *current) onShortcutParagraph129() (interface{}, error) { - return string(c.text), nil +func (c *current) onListElementContinuationElement1949(content interface{}) (interface{}, error) { + return types.NewSingleLineComment(content.(string)) } -func (p *parser) callonShortcutParagraph129() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1949() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph129() + return p.cur.onListElementContinuationElement1949(stack["content"]) } -func (c *current) onShortcutParagraph131() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onListElementContinuationElement1969() (interface{}, error) { + return strings.TrimRight(string(c.text), " \t"), nil // trim spaces and tabs + } -func (p *parser) callonShortcutParagraph131() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1969() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph131() + return p.cur.onListElementContinuationElement1969() } -func (c *current) onShortcutParagraph144() (interface{}, error) { - return string(c.text), nil +func (c *current) onListElementContinuationElement1972(content interface{}) (bool, error) { + return len(strings.TrimSpace(content.(string))) > 0, nil } -func (p *parser) callonShortcutParagraph144() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1972() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph144() + return p.cur.onListElementContinuationElement1972(stack["content"]) } -func (c *current) onShortcutParagraph148() (interface{}, error) { +func (c *current) onListElementContinuationElement1974() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonShortcutParagraph148() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1974() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph148() + return p.cur.onListElementContinuationElement1974() } -func (c *current) onShortcutParagraph138(content interface{}) (interface{}, error) { - return types.NewSingleLineComment(content.(string)) +func (c *current) onListElementContinuationElement1966(content interface{}) (interface{}, error) { + return types.NewRawLine(content.(string)) } -func (p *parser) callonShortcutParagraph138() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1966() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph138(stack["content"]) + return p.cur.onListElementContinuationElement1966(stack["content"]) } -func (c *current) onShortcutParagraph158() (interface{}, error) { - return strings.TrimRight(string(c.text), " \t"), nil // trim spaces and tabs +func (c *current) onListElementContinuationElement1934(line interface{}) (interface{}, error) { + return line, nil } -func (p *parser) callonShortcutParagraph158() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1934() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph158() + return p.cur.onListElementContinuationElement1934(stack["line"]) } -func (c *current) onShortcutParagraph161(content interface{}) (bool, error) { - return len(strings.TrimSpace(content.(string))) > 0, nil +func (c *current) onListElementContinuationElement1901(kind, firstLine, otherLines interface{}) (interface{}, error) { + + return types.NewAdmonitionParagraph(kind.(string), append([]interface{}{firstLine}, otherLines.([]interface{})...)) } -func (p *parser) callonShortcutParagraph161() (bool, error) { +func (p *parser) callonListElementContinuationElement1901() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph161(stack["content"]) + return p.cur.onListElementContinuationElement1901(stack["kind"], stack["firstLine"], stack["otherLines"]) } -func (c *current) onShortcutParagraph163() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onListElementContinuationElement1989() (interface{}, error) { + // log.Debug("matched multiple spaces") return string(c.text), nil + } -func (p *parser) callonShortcutParagraph163() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1989() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph163() + return p.cur.onListElementContinuationElement1989() } -func (c *current) onShortcutParagraph155(content interface{}) (interface{}, error) { - return types.NewRawLine(content.(string)) +func (c *current) onListElementContinuationElement1987() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonShortcutParagraph155() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1987() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph155(stack["content"]) + return p.cur.onListElementContinuationElement1987() } -func (c *current) onShortcutParagraph101(line interface{}) (interface{}, error) { - return line, nil +func (c *current) onListElementContinuationElement1994(content interface{}) (bool, error) { + return len(strings.TrimSpace(string(c.text))) > 0, nil } -func (p *parser) callonShortcutParagraph101() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1994() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph101(stack["line"]) + return p.cur.onListElementContinuationElement1994(stack["content"]) } -func (c *current) onShortcutParagraph1(firstLine, otherLines interface{}) (interface{}, error) { - return types.NewParagraph(append([]interface{}{firstLine}, otherLines.([]interface{})...)...) - +func (c *current) onListElementContinuationElement1996() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonShortcutParagraph1() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1996() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph1(stack["firstLine"], stack["otherLines"]) + return p.cur.onListElementContinuationElement1996() } -func (c *current) onParagraph7() (interface{}, error) { - return strings.TrimRight(string(c.text), " \t"), nil // trim spaces and tabs +func (c *current) onListElementContinuationElement1984(content interface{}) (interface{}, error) { + return types.NewRawLine(content.(string)) } -func (p *parser) callonParagraph7() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1984() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onParagraph7() + return p.cur.onListElementContinuationElement1984(stack["content"]) } -func (c *current) onParagraph10(content interface{}) (bool, error) { - return len(strings.TrimSpace(content.(string))) > 0, nil +func (c *current) onListElementContinuationElement2012() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonParagraph10() (bool, error) { +func (p *parser) callonListElementContinuationElement2012() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onParagraph10(stack["content"]) + return p.cur.onListElementContinuationElement2012() } -func (c *current) onParagraph12() (interface{}, error) { +func (c *current) onListElementContinuationElement2016() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonParagraph12() (interface{}, error) { +func (p *parser) callonListElementContinuationElement2016() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onParagraph12() + return p.cur.onListElementContinuationElement2016() } -func (c *current) onParagraph4(content interface{}) (interface{}, error) { - return types.NewRawLine(content.(string)) +func (c *current) onListElementContinuationElement2006(content interface{}) (interface{}, error) { + return types.NewSingleLineComment(content.(string)) } -func (p *parser) callonParagraph4() (interface{}, error) { +func (p *parser) callonListElementContinuationElement2006() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onParagraph4(stack["content"]) + return p.cur.onListElementContinuationElement2006(stack["content"]) } -func (c *current) onParagraph33() (interface{}, error) { - return string(c.text), nil +func (c *current) onListElementContinuationElement2026() (interface{}, error) { + return strings.TrimRight(string(c.text), " \t"), nil // trim spaces and tabs } -func (p *parser) callonParagraph33() (interface{}, error) { +func (p *parser) callonListElementContinuationElement2026() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onParagraph33() + return p.cur.onListElementContinuationElement2026() } -func (c *current) onParagraph36() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onListElementContinuationElement2029(content interface{}) (bool, error) { + return len(strings.TrimSpace(content.(string))) > 0, nil + } -func (p *parser) callonParagraph36() (interface{}, error) { +func (p *parser) callonListElementContinuationElement2029() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onParagraph36() + return p.cur.onListElementContinuationElement2029(stack["content"]) } -func (c *current) onParagraph27() (interface{}, error) { - return types.NewBlankLine() - +func (c *current) onListElementContinuationElement2031() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonParagraph27() (interface{}, error) { +func (p *parser) callonListElementContinuationElement2031() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onParagraph27() + return p.cur.onListElementContinuationElement2031() } -func (c *current) onParagraph49() (interface{}, error) { - return string(c.text), nil +func (c *current) onListElementContinuationElement2023(content interface{}) (interface{}, error) { + return types.NewRawLine(content.(string)) } -func (p *parser) callonParagraph49() (interface{}, error) { +func (p *parser) callonListElementContinuationElement2023() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onParagraph49() + return p.cur.onListElementContinuationElement2023(stack["content"]) } -func (c *current) onParagraph51() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onListElementContinuationElement1981(firstLine, otherLines interface{}) (interface{}, error) { + + return types.NewLiteralParagraph(types.LiteralBlockWithSpacesOnFirstLine, append([]interface{}{firstLine}, otherLines.([]interface{})...)) + } -func (p *parser) callonParagraph51() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1981() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onParagraph51() + return p.cur.onListElementContinuationElement1981(stack["firstLine"], stack["otherLines"]) } -func (c *current) onParagraph64() (interface{}, error) { +func (c *current) onListElementContinuationElement2041() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonParagraph64() (interface{}, error) { +func (p *parser) callonListElementContinuationElement2041() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onParagraph64() + return p.cur.onListElementContinuationElement2041() } -func (c *current) onParagraph68() (interface{}, error) { +func (c *current) onListElementContinuationElement2045() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonParagraph68() (interface{}, error) { +func (p *parser) callonListElementContinuationElement2045() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onParagraph68() + return p.cur.onListElementContinuationElement2045() } -func (c *current) onParagraph58(content interface{}) (interface{}, error) { - return types.NewSingleLineComment(content.(string)) +func (c *current) onListElementContinuationElement2038(content interface{}) (interface{}, error) { + // do not retain the EOL chars + return types.NewParagraph(types.RawLine(content.(string))) } -func (p *parser) callonParagraph58() (interface{}, error) { +func (p *parser) callonListElementContinuationElement2038() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onParagraph58(stack["content"]) + return p.cur.onListElementContinuationElement2038(stack["content"]) } -func (c *current) onParagraph78() (interface{}, error) { - return strings.TrimRight(string(c.text), " \t"), nil // trim spaces and tabs +func (c *current) onListElementContinuationElement1(attributes, element interface{}) (interface{}, error) { + if element, ok := element.(types.WithAttributes); ok && attributes != nil { + element.AddAttributes(attributes.(types.Attributes)) + } + // if log.IsLevelEnabled(log.DebugLevel) { + // log.Debugf("returning element '%s'\n", spew.Sdump(element)) + // } + return element, nil } -func (p *parser) callonParagraph78() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onParagraph78() + return p.cur.onListElementContinuationElement1(stack["attributes"], stack["element"]) } -func (c *current) onParagraph81(content interface{}) (bool, error) { - return len(strings.TrimSpace(content.(string))) > 0, nil +func (c *current) onCallout3() (bool, error) { + return c.isSubstitutionEnabled(Callouts), nil } -func (p *parser) callonParagraph81() (bool, error) { +func (p *parser) callonCallout3() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onParagraph81(stack["content"]) + return p.cur.onCallout3() } -func (c *current) onParagraph83() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onCallout6() (interface{}, error) { + return strconv.Atoi(string(c.text)) } -func (p *parser) callonParagraph83() (interface{}, error) { +func (p *parser) callonCallout6() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onParagraph83() + return p.cur.onCallout6() } -func (c *current) onParagraph75(content interface{}) (interface{}, error) { - return types.NewRawLine(content.(string)) +func (c *current) onCallout11() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonParagraph75() (interface{}, error) { +func (p *parser) callonCallout11() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onParagraph75(stack["content"]) + return p.cur.onCallout11() } -func (c *current) onParagraph21(line interface{}) (interface{}, error) { - return line, nil - +func (c *current) onCallout15() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonParagraph21() (interface{}, error) { +func (p *parser) callonCallout15() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onParagraph21(stack["line"]) + return p.cur.onCallout15() } -func (c *current) onParagraph1(firstLine, otherLines interface{}) (interface{}, error) { - return types.NewParagraph(append([]interface{}{firstLine}, otherLines.([]interface{})...)...) +func (c *current) onCallout1(ref interface{}) (interface{}, error) { + return types.NewCallout(ref.(int)) } -func (p *parser) callonParagraph1() (interface{}, error) { +func (p *parser) callonCallout1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onParagraph1(stack["firstLine"], stack["otherLines"]) + return p.cur.onCallout1(stack["ref"]) } -func (c *current) onQuotedText6() (interface{}, error) { - - return types.NewStringElement(string(c.text)) +func (c *current) onShortcutParagraph10() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonQuotedText6() (interface{}, error) { +func (p *parser) callonShortcutParagraph10() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onQuotedText6() + return p.cur.onShortcutParagraph10() } -func (c *current) onQuotedText2(attributes, text interface{}) (interface{}, error) { - log.Debugf("matched escaped quoted text") - return append([]interface{}{attributes}, text.([]interface{})...), nil +func (c *current) onShortcutParagraph17() (interface{}, error) { + + // `.` is 1, etc. + return (len(c.text)), nil } -func (p *parser) callonQuotedText2() (interface{}, error) { +func (p *parser) callonShortcutParagraph17() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onQuotedText2(stack["attributes"], stack["text"]) + return p.cur.onShortcutParagraph17() } -func (c *current) onQuotedText10(attributes, text interface{}) (interface{}, error) { - return text.(*types.QuotedText).WithAttributes(attributes) +func (c *current) onShortcutParagraph20(depth interface{}) (bool, error) { + + // use a predicate to make sure that only `.` to `.....` are allowed + return depth.(int) <= 5, nil } -func (p *parser) callonQuotedText10() (interface{}, error) { +func (p *parser) callonShortcutParagraph20() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onQuotedText10(stack["attributes"], stack["text"]) + return p.cur.onShortcutParagraph20(stack["depth"]) } -func (c *current) onEscapedQuotedText1(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onShortcutParagraph14(depth interface{}) (interface{}, error) { + switch depth.(int) { + case 1: + return types.NewOrderedListElementPrefix(types.Arabic) + case 2: + return types.NewOrderedListElementPrefix(types.LowerAlpha) + case 3: + return types.NewOrderedListElementPrefix(types.LowerRoman) + case 4: + return types.NewOrderedListElementPrefix(types.UpperAlpha) + default: + return types.NewOrderedListElementPrefix(types.UpperRoman) + } } -func (p *parser) callonEscapedQuotedText1() (interface{}, error) { +func (p *parser) callonShortcutParagraph14() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onEscapedQuotedText1(stack["element"]) + return p.cur.onShortcutParagraph14(stack["depth"]) } -func (c *current) onDoubleQuoteBoldText1(elements interface{}) (interface{}, error) { - return types.NewQuotedText(types.DoubleQuoteBold, elements.([]interface{})) +func (c *current) onShortcutParagraph21() (interface{}, error) { + // numbering style: "1.", etc. + return types.NewOrderedListElementPrefix(types.Arabic) } -func (p *parser) callonDoubleQuoteBoldText1() (interface{}, error) { +func (p *parser) callonShortcutParagraph21() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldText1(stack["elements"]) + return p.cur.onShortcutParagraph21() } -func (c *current) onDoubleQuoteBoldTextElement13() (interface{}, error) { - return string(c.text), nil +func (c *current) onShortcutParagraph26() (interface{}, error) { + // numbering style: "a.", etc. + return types.NewOrderedListElementPrefix(types.LowerAlpha) } -func (p *parser) callonDoubleQuoteBoldTextElement13() (interface{}, error) { +func (p *parser) callonShortcutParagraph26() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement13() + return p.cur.onShortcutParagraph26() } -func (c *current) onDoubleQuoteBoldTextElement7() (interface{}, error) { - return types.NewStringElement(string(c.text)) +func (c *current) onShortcutParagraph30() (interface{}, error) { + // numbering style: "A.", etc. + return types.NewOrderedListElementPrefix(types.UpperAlpha) } -func (p *parser) callonDoubleQuoteBoldTextElement7() (interface{}, error) { +func (p *parser) callonShortcutParagraph30() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement7() + return p.cur.onShortcutParagraph30() } -func (c *current) onDoubleQuoteBoldTextElement16() (interface{}, error) { - // log.Debug("matched multiple spaces") - return string(c.text), nil +func (c *current) onShortcutParagraph34() (interface{}, error) { + // numbering style: "i)", etc. + return types.NewOrderedListElementPrefix(types.LowerRoman) } -func (p *parser) callonDoubleQuoteBoldTextElement16() (interface{}, error) { +func (p *parser) callonShortcutParagraph34() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement16() + return p.cur.onShortcutParagraph34() } -func (c *current) onDoubleQuoteBoldTextElement20() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onShortcutParagraph39() (interface{}, error) { + // numbering style: "I)", etc. + return types.NewOrderedListElementPrefix(types.UpperRoman) + } -func (p *parser) callonDoubleQuoteBoldTextElement20() (interface{}, error) { +func (p *parser) callonShortcutParagraph39() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement20() + return p.cur.onShortcutParagraph39() } -func (c *current) onDoubleQuoteBoldTextElement26() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onShortcutParagraph44(prefix interface{}) (interface{}, error) { + // log.Debug("matched multiple spaces") return string(c.text), nil + } -func (p *parser) callonDoubleQuoteBoldTextElement26() (interface{}, error) { +func (p *parser) callonShortcutParagraph44() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement26() + return p.cur.onShortcutParagraph44(stack["prefix"]) } -func (c *current) onDoubleQuoteBoldTextElement33() (bool, error) { - return c.isSubstitutionEnabled(Attributes), nil - +func (c *current) onShortcutParagraph7(prefix interface{}) (interface{}, error) { + return prefix, nil } -func (p *parser) callonDoubleQuoteBoldTextElement33() (bool, error) { +func (p *parser) callonShortcutParagraph7() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement33() + return p.cur.onShortcutParagraph7(stack["prefix"]) } -func (c *current) onDoubleQuoteBoldTextElement40() (interface{}, error) { +func (c *current) onShortcutParagraph52() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDoubleQuoteBoldTextElement40() (interface{}, error) { +func (p *parser) callonShortcutParagraph52() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement40() + return p.cur.onShortcutParagraph52() } -func (c *current) onDoubleQuoteBoldTextElement52() (interface{}, error) { - return string(c.text), nil +func (c *current) onShortcutParagraph59() (interface{}, error) { + + // `*` is 1, etc. + return (len(c.text)), nil } -func (p *parser) callonDoubleQuoteBoldTextElement52() (interface{}, error) { +func (p *parser) callonShortcutParagraph59() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement52() + return p.cur.onShortcutParagraph59() } -func (c *current) onDoubleQuoteBoldTextElement54() (interface{}, error) { +func (c *current) onShortcutParagraph62(depth interface{}) (bool, error) { - return strconv.Atoi(string(c.text)) + // use a predicate to make sure that only `*` to `*****` are allowed + return depth.(int) <= 5, nil } -func (p *parser) callonDoubleQuoteBoldTextElement54() (interface{}, error) { +func (p *parser) callonShortcutParagraph62() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement54() + return p.cur.onShortcutParagraph62(stack["depth"]) } -func (c *current) onDoubleQuoteBoldTextElement47(start interface{}) (interface{}, error) { - return start, nil +func (c *current) onShortcutParagraph56(depth interface{}) (interface{}, error) { + switch depth.(int) { + case 1: + return types.NewUnorderedListElementPrefix(types.OneAsterisk) + case 2: + return types.NewUnorderedListElementPrefix(types.TwoAsterisks) + case 3: + return types.NewUnorderedListElementPrefix(types.ThreeAsterisks) + case 4: + return types.NewUnorderedListElementPrefix(types.FourAsterisks) + default: + return types.NewUnorderedListElementPrefix(types.FiveAsterisks) + } } -func (p *parser) callonDoubleQuoteBoldTextElement47() (interface{}, error) { +func (p *parser) callonShortcutParagraph56() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement47(stack["start"]) + return p.cur.onShortcutParagraph56(stack["depth"]) } -func (c *current) onDoubleQuoteBoldTextElement36(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) +func (c *current) onShortcutParagraph64() (interface{}, error) { + return types.NewUnorderedListElementPrefix(types.Dash) + } -func (p *parser) callonDoubleQuoteBoldTextElement36() (interface{}, error) { +func (p *parser) callonShortcutParagraph64() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement36(stack["name"], stack["start"]) + return p.cur.onShortcutParagraph64() } -func (c *current) onDoubleQuoteBoldTextElement62() (interface{}, error) { +func (c *current) onShortcutParagraph66(prefix interface{}) (interface{}, error) { + // log.Debug("matched multiple spaces") return string(c.text), nil } -func (p *parser) callonDoubleQuoteBoldTextElement62() (interface{}, error) { +func (p *parser) callonShortcutParagraph66() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement62() + return p.cur.onShortcutParagraph66(stack["prefix"]) } -func (c *current) onDoubleQuoteBoldTextElement74() (interface{}, error) { - return string(c.text), nil - +func (c *current) onShortcutParagraph49(prefix interface{}) (interface{}, error) { + return prefix, nil } -func (p *parser) callonDoubleQuoteBoldTextElement74() (interface{}, error) { +func (p *parser) callonShortcutParagraph49() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement74() + return p.cur.onShortcutParagraph49(stack["prefix"]) } -func (c *current) onDoubleQuoteBoldTextElement76() (interface{}, error) { +func (c *current) onShortcutParagraph72() (interface{}, error) { + return types.Tip, nil +} - return strconv.Atoi(string(c.text)) +func (p *parser) callonShortcutParagraph72() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onShortcutParagraph72() +} +func (c *current) onShortcutParagraph74() (interface{}, error) { + return types.Note, nil } -func (p *parser) callonDoubleQuoteBoldTextElement76() (interface{}, error) { +func (p *parser) callonShortcutParagraph74() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement76() + return p.cur.onShortcutParagraph74() } -func (c *current) onDoubleQuoteBoldTextElement69(start interface{}) (interface{}, error) { - return start, nil - +func (c *current) onShortcutParagraph76() (interface{}, error) { + return types.Important, nil } -func (p *parser) callonDoubleQuoteBoldTextElement69() (interface{}, error) { +func (p *parser) callonShortcutParagraph76() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement69(stack["start"]) + return p.cur.onShortcutParagraph76() } -func (c *current) onDoubleQuoteBoldTextElement58(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) +func (c *current) onShortcutParagraph78() (interface{}, error) { + return types.Warning, nil } -func (p *parser) callonDoubleQuoteBoldTextElement58() (interface{}, error) { +func (p *parser) callonShortcutParagraph78() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement58(stack["name"], stack["start"]) + return p.cur.onShortcutParagraph78() } -func (c *current) onDoubleQuoteBoldTextElement84() (interface{}, error) { - return string(c.text), nil - +func (c *current) onShortcutParagraph80() (interface{}, error) { + return types.Caution, nil } -func (p *parser) callonDoubleQuoteBoldTextElement84() (interface{}, error) { +func (p *parser) callonShortcutParagraph80() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement84() + return p.cur.onShortcutParagraph80() } -func (c *current) onDoubleQuoteBoldTextElement80(name interface{}) (interface{}, error) { - - log.Debug("matching escaped attribute reference") - // return types.NewStringElement("{"+name.(string)+"}") - return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) +func (c *current) onShortcutParagraph86() (interface{}, error) { + return strings.TrimRight(string(c.text), " \t"), nil // trim spaces and tabs } -func (p *parser) callonDoubleQuoteBoldTextElement80() (interface{}, error) { +func (p *parser) callonShortcutParagraph86() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement80(stack["name"]) + return p.cur.onShortcutParagraph86() } -func (c *current) onDoubleQuoteBoldTextElement94() (interface{}, error) { - return string(c.text), nil +func (c *current) onShortcutParagraph89(content interface{}) (bool, error) { + return len(strings.TrimSpace(content.(string))) > 0, nil } -func (p *parser) callonDoubleQuoteBoldTextElement94() (interface{}, error) { +func (p *parser) callonShortcutParagraph89() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement94() + return p.cur.onShortcutParagraph89(stack["content"]) } -func (c *current) onDoubleQuoteBoldTextElement90(name interface{}) (interface{}, error) { - - return types.NewAttributeSubstitution(name.(string), string(c.text)) - +func (c *current) onShortcutParagraph91() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonDoubleQuoteBoldTextElement90() (interface{}, error) { +func (p *parser) callonShortcutParagraph91() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement90(stack["name"]) + return p.cur.onShortcutParagraph91() } -func (c *current) onDoubleQuoteBoldTextElement31(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onShortcutParagraph83(content interface{}) (interface{}, error) { + return types.NewRawLine(content.(string)) } -func (p *parser) callonDoubleQuoteBoldTextElement31() (interface{}, error) { +func (p *parser) callonShortcutParagraph83() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement31(stack["element"]) + return p.cur.onShortcutParagraph83(stack["content"]) } -func (c *current) onDoubleQuoteBoldTextElement103() (bool, error) { - return c.isSubstitutionEnabled(SpecialCharacters), nil +func (c *current) onShortcutParagraph98(firstLine interface{}) (bool, error) { + // also, make sure that there is no LabeledListElement delimiter (`::` - `::::`) + // in the middle of the line (with space afterwards) + // or at the end of the line + return !strings.Contains(string(firstLine.(types.RawLine)), ":: ") && + !strings.HasSuffix(string(firstLine.(types.RawLine)), "::"), nil } -func (p *parser) callonDoubleQuoteBoldTextElement103() (bool, error) { +func (p *parser) callonShortcutParagraph98() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement103() + return p.cur.onShortcutParagraph98(stack["firstLine"]) } -func (c *current) onDoubleQuoteBoldTextElement112() (interface{}, error) { - // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ +func (c *current) onShortcutParagraph113() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDoubleQuoteBoldTextElement112() (interface{}, error) { +func (p *parser) callonShortcutParagraph113() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement112() + return p.cur.onShortcutParagraph113() } -func (c *current) onDoubleQuoteBoldTextElement116() (interface{}, error) { +func (c *current) onShortcutParagraph116() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonDoubleQuoteBoldTextElement116() (interface{}, error) { +func (p *parser) callonShortcutParagraph116() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement116() + return p.cur.onShortcutParagraph116() } -func (c *current) onDoubleQuoteBoldTextElement122() (interface{}, error) { - // `{`, `>` and `>` characters are not allowed as they are used for attribute substitutions and cross-references - return types.NewStringElement(string(c.text)) +func (c *current) onShortcutParagraph107() (interface{}, error) { + return types.NewBlankLine() } -func (p *parser) callonDoubleQuoteBoldTextElement122() (interface{}, error) { +func (p *parser) callonShortcutParagraph107() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement122() + return p.cur.onShortcutParagraph107() } -func (c *current) onDoubleQuoteBoldTextElement131() (interface{}, error) { +func (c *current) onShortcutParagraph129() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDoubleQuoteBoldTextElement131() (interface{}, error) { +func (p *parser) callonShortcutParagraph129() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement131() + return p.cur.onShortcutParagraph129() } -func (c *current) onDoubleQuoteBoldTextElement127(name interface{}) (interface{}, error) { - - log.Debug("matching escaped attribute reference") - // return types.NewStringElement("{"+name.(string)+"}") - return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) - +func (c *current) onShortcutParagraph131() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonDoubleQuoteBoldTextElement127() (interface{}, error) { +func (p *parser) callonShortcutParagraph131() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement127(stack["name"]) + return p.cur.onShortcutParagraph131() } -func (c *current) onDoubleQuoteBoldTextElement141() (interface{}, error) { +func (c *current) onShortcutParagraph144() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDoubleQuoteBoldTextElement141() (interface{}, error) { +func (p *parser) callonShortcutParagraph144() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement141() + return p.cur.onShortcutParagraph144() } -func (c *current) onDoubleQuoteBoldTextElement137(name interface{}) (interface{}, error) { - - return types.NewAttributeSubstitution(name.(string), string(c.text)) - +func (c *current) onShortcutParagraph148() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonDoubleQuoteBoldTextElement137() (interface{}, error) { +func (p *parser) callonShortcutParagraph148() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement137(stack["name"]) + return p.cur.onShortcutParagraph148() } -func (c *current) onDoubleQuoteBoldTextElement147() (interface{}, error) { - - return types.NewStringElement(string(c.text)) +func (c *current) onShortcutParagraph138(content interface{}) (interface{}, error) { + return types.NewSingleLineComment(content.(string)) } -func (p *parser) callonDoubleQuoteBoldTextElement147() (interface{}, error) { +func (p *parser) callonShortcutParagraph138() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement147() + return p.cur.onShortcutParagraph138(stack["content"]) } -func (c *current) onDoubleQuoteBoldTextElement108(id, label interface{}) (interface{}, error) { - return types.NewInternalCrossReference(id, label) +func (c *current) onShortcutParagraph158() (interface{}, error) { + return strings.TrimRight(string(c.text), " \t"), nil // trim spaces and tabs } -func (p *parser) callonDoubleQuoteBoldTextElement108() (interface{}, error) { +func (p *parser) callonShortcutParagraph158() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement108(stack["id"], stack["label"]) + return p.cur.onShortcutParagraph158() } -func (c *current) onDoubleQuoteBoldTextElement154() (interface{}, error) { - // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ - return string(c.text), nil +func (c *current) onShortcutParagraph161(content interface{}) (bool, error) { + return len(strings.TrimSpace(content.(string))) > 0, nil } -func (p *parser) callonDoubleQuoteBoldTextElement154() (interface{}, error) { +func (p *parser) callonShortcutParagraph161() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement154() + return p.cur.onShortcutParagraph161(stack["content"]) } -func (c *current) onDoubleQuoteBoldTextElement150(id interface{}) (interface{}, error) { - return types.NewInternalCrossReference(id, nil) - +func (c *current) onShortcutParagraph163() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonDoubleQuoteBoldTextElement150() (interface{}, error) { +func (p *parser) callonShortcutParagraph163() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement150(stack["id"]) + return p.cur.onShortcutParagraph163() } -func (c *current) onDoubleQuoteBoldTextElement106() (interface{}, error) { - return types.NewStringElement(string(c.text)) +func (c *current) onShortcutParagraph155(content interface{}) (interface{}, error) { + return types.NewRawLine(content.(string)) } -func (p *parser) callonDoubleQuoteBoldTextElement106() (interface{}, error) { +func (p *parser) callonShortcutParagraph155() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement106() + return p.cur.onShortcutParagraph155(stack["content"]) } -func (c *current) onDoubleQuoteBoldTextElement158() (interface{}, error) { - return types.NewSpecialCharacter(string(c.text)) +func (c *current) onShortcutParagraph101(line interface{}) (interface{}, error) { + return line, nil } -func (p *parser) callonDoubleQuoteBoldTextElement158() (interface{}, error) { +func (p *parser) callonShortcutParagraph101() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement158() + return p.cur.onShortcutParagraph101(stack["line"]) } -func (c *current) onDoubleQuoteBoldTextElement101(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onShortcutParagraph1(firstLine, otherLines interface{}) (interface{}, error) { + return types.NewParagraph(append([]interface{}{firstLine}, otherLines.([]interface{})...)...) } -func (p *parser) callonDoubleQuoteBoldTextElement101() (interface{}, error) { +func (p *parser) callonShortcutParagraph1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement101(stack["element"]) + return p.cur.onShortcutParagraph1(stack["firstLine"], stack["otherLines"]) } -func (c *current) onDoubleQuoteBoldTextElement164() (interface{}, error) { - return types.NewSymbol("`'") +func (c *current) onParagraph7() (interface{}, error) { + return strings.TrimRight(string(c.text), " \t"), nil // trim spaces and tabs } -func (p *parser) callonDoubleQuoteBoldTextElement164() (interface{}, error) { +func (p *parser) callonParagraph7() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement164() + return p.cur.onParagraph7() } -func (c *current) onDoubleQuoteBoldTextElement166() (interface{}, error) { - return types.NewSymbol("(C)") +func (c *current) onParagraph10(content interface{}) (bool, error) { + return len(strings.TrimSpace(content.(string))) > 0, nil } -func (p *parser) callonDoubleQuoteBoldTextElement166() (interface{}, error) { +func (p *parser) callonParagraph10() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement166() + return p.cur.onParagraph10(stack["content"]) } -func (c *current) onDoubleQuoteBoldTextElement168() (interface{}, error) { - return types.NewSymbol("(TM)") - +func (c *current) onParagraph12() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonDoubleQuoteBoldTextElement168() (interface{}, error) { +func (p *parser) callonParagraph12() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement168() + return p.cur.onParagraph12() } -func (c *current) onDoubleQuoteBoldTextElement170() (interface{}, error) { - return types.NewSymbol("(R)") +func (c *current) onParagraph4(content interface{}) (interface{}, error) { + return types.NewRawLine(content.(string)) } -func (p *parser) callonDoubleQuoteBoldTextElement170() (interface{}, error) { +func (p *parser) callonParagraph4() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement170() + return p.cur.onParagraph4(stack["content"]) } -func (c *current) onDoubleQuoteBoldTextElement172() (interface{}, error) { - return types.NewSymbol("...") +func (c *current) onParagraph33() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDoubleQuoteBoldTextElement172() (interface{}, error) { +func (p *parser) callonParagraph33() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement172() -} - -func (c *current) onDoubleQuoteBoldTextElement160() (interface{}, error) { - return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) + return p.cur.onParagraph33() +} +func (c *current) onParagraph36() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonDoubleQuoteBoldTextElement160() (interface{}, error) { +func (p *parser) callonParagraph36() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement160() + return p.cur.onParagraph36() } -func (c *current) onDoubleQuoteBoldTextElement174() (interface{}, error) { - return types.NewSymbol("`'") +func (c *current) onParagraph27() (interface{}, error) { + return types.NewBlankLine() } -func (p *parser) callonDoubleQuoteBoldTextElement174() (interface{}, error) { +func (p *parser) callonParagraph27() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement174() + return p.cur.onParagraph27() } -func (c *current) onDoubleQuoteBoldTextElement176() (interface{}, error) { - return types.NewSymbol("(C)") +func (c *current) onParagraph49() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDoubleQuoteBoldTextElement176() (interface{}, error) { +func (p *parser) callonParagraph49() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement176() + return p.cur.onParagraph49() } -func (c *current) onDoubleQuoteBoldTextElement178() (interface{}, error) { - return types.NewSymbol("(TM)") - +func (c *current) onParagraph51() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonDoubleQuoteBoldTextElement178() (interface{}, error) { +func (p *parser) callonParagraph51() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement178() + return p.cur.onParagraph51() } -func (c *current) onDoubleQuoteBoldTextElement180() (interface{}, error) { - return types.NewSymbol("(R)") +func (c *current) onParagraph64() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDoubleQuoteBoldTextElement180() (interface{}, error) { +func (p *parser) callonParagraph64() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement180() + return p.cur.onParagraph64() } -func (c *current) onDoubleQuoteBoldTextElement182() (interface{}, error) { - return types.NewSymbol("...") - +func (c *current) onParagraph68() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonDoubleQuoteBoldTextElement182() (interface{}, error) { +func (p *parser) callonParagraph68() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement182() + return p.cur.onParagraph68() } -func (c *current) onDoubleQuoteBoldTextElement184() (interface{}, error) { - log.Debug("matched escaped apostrophe") - return types.NewStringElement(strings.TrimSuffix(string(c.text), `\'`) + `'`) // retain the apostrophe, but discard the `\` escape char +func (c *current) onParagraph58(content interface{}) (interface{}, error) { + return types.NewSingleLineComment(content.(string)) } -func (p *parser) callonDoubleQuoteBoldTextElement184() (interface{}, error) { +func (p *parser) callonParagraph58() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement184() + return p.cur.onParagraph58(stack["content"]) } -func (c *current) onDoubleQuoteBoldTextElement190() (interface{}, error) { - return types.NewSymbolWithForeword("'", strings.TrimSuffix(string(c.text), `'`)) +func (c *current) onParagraph78() (interface{}, error) { + return strings.TrimRight(string(c.text), " \t"), nil // trim spaces and tabs } -func (p *parser) callonDoubleQuoteBoldTextElement190() (interface{}, error) { +func (p *parser) callonParagraph78() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement190() + return p.cur.onParagraph78() } -func (c *current) onDoubleQuoteBoldTextElement202() (interface{}, error) { - return string(c.text), nil +func (c *current) onParagraph81(content interface{}) (bool, error) { + return len(strings.TrimSpace(content.(string))) > 0, nil + } -func (p *parser) callonDoubleQuoteBoldTextElement202() (interface{}, error) { +func (p *parser) callonParagraph81() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement202() + return p.cur.onParagraph81(stack["content"]) } -func (c *current) onDoubleQuoteBoldTextElement198(ref interface{}) (interface{}, error) { - return types.NewElementPlaceHolder(ref.(string)) +func (c *current) onParagraph83() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonDoubleQuoteBoldTextElement198() (interface{}, error) { +func (p *parser) callonParagraph83() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement198(stack["ref"]) + return p.cur.onParagraph83() } -func (c *current) onDoubleQuoteBoldTextElement210() (interface{}, error) { - return string(c.text), nil +func (c *current) onParagraph75(content interface{}) (interface{}, error) { + return types.NewRawLine(content.(string)) } -func (p *parser) callonDoubleQuoteBoldTextElement210() (interface{}, error) { +func (p *parser) callonParagraph75() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement210() + return p.cur.onParagraph75(stack["content"]) } -func (c *current) onDoubleQuoteBoldTextElement207() (interface{}, error) { - // or a bold delimiter when immediately followed by an alphanum (ie, in the middle of some text) - return types.NewStringElement(string(c.text)) +func (c *current) onParagraph21(line interface{}) (interface{}, error) { + return line, nil } -func (p *parser) callonDoubleQuoteBoldTextElement207() (interface{}, error) { +func (p *parser) callonParagraph21() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement207() + return p.cur.onParagraph21(stack["line"]) } -func (c *current) onDoubleQuoteBoldTextElement1(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onParagraph1(firstLine, otherLines interface{}) (interface{}, error) { + return types.NewParagraph(append([]interface{}{firstLine}, otherLines.([]interface{})...)...) } -func (p *parser) callonDoubleQuoteBoldTextElement1() (interface{}, error) { +func (p *parser) callonParagraph1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement1(stack["element"]) + return p.cur.onParagraph1(stack["firstLine"], stack["otherLines"]) } -func (c *current) onQuotedTextInDoubleQuoteBoldText1(attributes, text interface{}) (interface{}, error) { - return text.(*types.QuotedText).WithAttributes(attributes) +func (c *current) onQuotedText6() (interface{}, error) { + + return types.NewStringElement(string(c.text)) } -func (p *parser) callonQuotedTextInDoubleQuoteBoldText1() (interface{}, error) { +func (p *parser) callonQuotedText6() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onQuotedTextInDoubleQuoteBoldText1(stack["attributes"], stack["text"]) + return p.cur.onQuotedText6() } -func (c *current) onSingleQuoteBoldText1(elements interface{}) (interface{}, error) { - return types.NewQuotedText(types.SingleQuoteBold, elements.([]interface{})) +func (c *current) onQuotedText2(attributes, text interface{}) (interface{}, error) { + log.Debugf("matched escaped quoted text") + return append([]interface{}{attributes}, text.([]interface{})...), nil } -func (p *parser) callonSingleQuoteBoldText1() (interface{}, error) { +func (p *parser) callonQuotedText2() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldText1(stack["elements"]) + return p.cur.onQuotedText2(stack["attributes"], stack["text"]) } -func (c *current) onSingleQuoteBoldTextElements7() (interface{}, error) { - return string(c.text), nil +func (c *current) onQuotedText10(attributes, text interface{}) (interface{}, error) { + return text.(*types.QuotedText).WithAttributes(attributes) } -func (p *parser) callonSingleQuoteBoldTextElements7() (interface{}, error) { +func (p *parser) callonQuotedText10() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElements7() + return p.cur.onQuotedText10(stack["attributes"], stack["text"]) } -func (c *current) onSingleQuoteBoldTextElements12(elements interface{}) (bool, error) { - return validateSingleQuoteElements(elements.([]interface{})) // cannot end with spaces +func (c *current) onEscapedQuotedText1(element interface{}) (interface{}, error) { + return element, nil } -func (p *parser) callonSingleQuoteBoldTextElements12() (bool, error) { +func (p *parser) callonEscapedQuotedText1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElements12(stack["elements"]) + return p.cur.onEscapedQuotedText1(stack["element"]) } -func (c *current) onSingleQuoteBoldTextElements1(elements interface{}) (interface{}, error) { - return elements, nil +func (c *current) onDoubleQuoteBoldText1(elements interface{}) (interface{}, error) { + return types.NewQuotedText(types.DoubleQuoteBold, elements.([]interface{})) } -func (p *parser) callonSingleQuoteBoldTextElements1() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldText1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElements1(stack["elements"]) + return p.cur.onDoubleQuoteBoldText1(stack["elements"]) } -func (c *current) onSingleQuoteBoldTextElement8() (interface{}, error) { +func (c *current) onDoubleQuoteBoldTextElement13() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonSingleQuoteBoldTextElement8() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement13() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement8() + return p.cur.onDoubleQuoteBoldTextElement13() } -func (c *current) onSingleQuoteBoldTextElement2() (interface{}, error) { +func (c *current) onDoubleQuoteBoldTextElement7() (interface{}, error) { return types.NewStringElement(string(c.text)) } -func (p *parser) callonSingleQuoteBoldTextElement2() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement7() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement2() + return p.cur.onDoubleQuoteBoldTextElement7() } -func (c *current) onSingleQuoteBoldTextElement11() (interface{}, error) { +func (c *current) onDoubleQuoteBoldTextElement16() (interface{}, error) { // log.Debug("matched multiple spaces") return string(c.text), nil } -func (p *parser) callonSingleQuoteBoldTextElement11() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement16() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement11() + return p.cur.onDoubleQuoteBoldTextElement16() } -func (c *current) onSingleQuoteBoldTextElement15() (interface{}, error) { +func (c *current) onDoubleQuoteBoldTextElement20() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonSingleQuoteBoldTextElement15() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement20() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement15() + return p.cur.onDoubleQuoteBoldTextElement20() } -func (c *current) onSingleQuoteBoldTextElement21() (interface{}, error) { +func (c *current) onDoubleQuoteBoldTextElement26() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonSingleQuoteBoldTextElement21() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement26() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement21() + return p.cur.onDoubleQuoteBoldTextElement26() } -func (c *current) onSingleQuoteBoldTextElement28() (bool, error) { +func (c *current) onDoubleQuoteBoldTextElement33() (bool, error) { return c.isSubstitutionEnabled(Attributes), nil } -func (p *parser) callonSingleQuoteBoldTextElement28() (bool, error) { +func (p *parser) callonDoubleQuoteBoldTextElement33() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement28() + return p.cur.onDoubleQuoteBoldTextElement33() } -func (c *current) onSingleQuoteBoldTextElement35() (interface{}, error) { +func (c *current) onDoubleQuoteBoldTextElement40() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonSingleQuoteBoldTextElement35() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement40() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement35() + return p.cur.onDoubleQuoteBoldTextElement40() } -func (c *current) onSingleQuoteBoldTextElement47() (interface{}, error) { +func (c *current) onDoubleQuoteBoldTextElement52() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonSingleQuoteBoldTextElement47() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement52() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement47() + return p.cur.onDoubleQuoteBoldTextElement52() } -func (c *current) onSingleQuoteBoldTextElement49() (interface{}, error) { +func (c *current) onDoubleQuoteBoldTextElement54() (interface{}, error) { return strconv.Atoi(string(c.text)) } -func (p *parser) callonSingleQuoteBoldTextElement49() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement54() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement49() + return p.cur.onDoubleQuoteBoldTextElement54() } -func (c *current) onSingleQuoteBoldTextElement42(start interface{}) (interface{}, error) { +func (c *current) onDoubleQuoteBoldTextElement47(start interface{}) (interface{}, error) { return start, nil } -func (p *parser) callonSingleQuoteBoldTextElement42() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement47() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement42(stack["start"]) + return p.cur.onDoubleQuoteBoldTextElement47(stack["start"]) } -func (c *current) onSingleQuoteBoldTextElement31(name, start interface{}) (interface{}, error) { +func (c *current) onDoubleQuoteBoldTextElement36(name, start interface{}) (interface{}, error) { return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) } -func (p *parser) callonSingleQuoteBoldTextElement31() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement36() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement31(stack["name"], stack["start"]) + return p.cur.onDoubleQuoteBoldTextElement36(stack["name"], stack["start"]) } -func (c *current) onSingleQuoteBoldTextElement57() (interface{}, error) { +func (c *current) onDoubleQuoteBoldTextElement62() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonSingleQuoteBoldTextElement57() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement62() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement57() + return p.cur.onDoubleQuoteBoldTextElement62() } -func (c *current) onSingleQuoteBoldTextElement69() (interface{}, error) { +func (c *current) onDoubleQuoteBoldTextElement74() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonSingleQuoteBoldTextElement69() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement74() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement69() + return p.cur.onDoubleQuoteBoldTextElement74() } -func (c *current) onSingleQuoteBoldTextElement71() (interface{}, error) { +func (c *current) onDoubleQuoteBoldTextElement76() (interface{}, error) { return strconv.Atoi(string(c.text)) } -func (p *parser) callonSingleQuoteBoldTextElement71() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement76() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement71() + return p.cur.onDoubleQuoteBoldTextElement76() } -func (c *current) onSingleQuoteBoldTextElement64(start interface{}) (interface{}, error) { +func (c *current) onDoubleQuoteBoldTextElement69(start interface{}) (interface{}, error) { return start, nil } -func (p *parser) callonSingleQuoteBoldTextElement64() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement69() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement64(stack["start"]) + return p.cur.onDoubleQuoteBoldTextElement69(stack["start"]) } -func (c *current) onSingleQuoteBoldTextElement53(name, start interface{}) (interface{}, error) { +func (c *current) onDoubleQuoteBoldTextElement58(name, start interface{}) (interface{}, error) { return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) } -func (p *parser) callonSingleQuoteBoldTextElement53() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement58() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement53(stack["name"], stack["start"]) + return p.cur.onDoubleQuoteBoldTextElement58(stack["name"], stack["start"]) } -func (c *current) onSingleQuoteBoldTextElement79() (interface{}, error) { +func (c *current) onDoubleQuoteBoldTextElement84() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonSingleQuoteBoldTextElement79() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement84() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement79() + return p.cur.onDoubleQuoteBoldTextElement84() } -func (c *current) onSingleQuoteBoldTextElement75(name interface{}) (interface{}, error) { +func (c *current) onDoubleQuoteBoldTextElement80(name interface{}) (interface{}, error) { log.Debug("matching escaped attribute reference") // return types.NewStringElement("{"+name.(string)+"}") @@ -94475,104 +92461,104 @@ func (c *current) onSingleQuoteBoldTextElement75(name interface{}) (interface{}, } -func (p *parser) callonSingleQuoteBoldTextElement75() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement80() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement75(stack["name"]) + return p.cur.onDoubleQuoteBoldTextElement80(stack["name"]) } -func (c *current) onSingleQuoteBoldTextElement89() (interface{}, error) { +func (c *current) onDoubleQuoteBoldTextElement94() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonSingleQuoteBoldTextElement89() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement94() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement89() + return p.cur.onDoubleQuoteBoldTextElement94() } -func (c *current) onSingleQuoteBoldTextElement85(name interface{}) (interface{}, error) { +func (c *current) onDoubleQuoteBoldTextElement90(name interface{}) (interface{}, error) { return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonSingleQuoteBoldTextElement85() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement90() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement85(stack["name"]) + return p.cur.onDoubleQuoteBoldTextElement90(stack["name"]) } -func (c *current) onSingleQuoteBoldTextElement26(element interface{}) (interface{}, error) { +func (c *current) onDoubleQuoteBoldTextElement31(element interface{}) (interface{}, error) { return element, nil } -func (p *parser) callonSingleQuoteBoldTextElement26() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement31() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement26(stack["element"]) + return p.cur.onDoubleQuoteBoldTextElement31(stack["element"]) } -func (c *current) onSingleQuoteBoldTextElement98() (bool, error) { +func (c *current) onDoubleQuoteBoldTextElement103() (bool, error) { return c.isSubstitutionEnabled(SpecialCharacters), nil } -func (p *parser) callonSingleQuoteBoldTextElement98() (bool, error) { +func (p *parser) callonDoubleQuoteBoldTextElement103() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement98() + return p.cur.onDoubleQuoteBoldTextElement103() } -func (c *current) onSingleQuoteBoldTextElement107() (interface{}, error) { +func (c *current) onDoubleQuoteBoldTextElement112() (interface{}, error) { // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ return string(c.text), nil } -func (p *parser) callonSingleQuoteBoldTextElement107() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement112() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement107() + return p.cur.onDoubleQuoteBoldTextElement112() } -func (c *current) onSingleQuoteBoldTextElement111() (interface{}, error) { +func (c *current) onDoubleQuoteBoldTextElement116() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonSingleQuoteBoldTextElement111() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement116() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement111() + return p.cur.onDoubleQuoteBoldTextElement116() } -func (c *current) onSingleQuoteBoldTextElement117() (interface{}, error) { +func (c *current) onDoubleQuoteBoldTextElement122() (interface{}, error) { // `{`, `>` and `>` characters are not allowed as they are used for attribute substitutions and cross-references return types.NewStringElement(string(c.text)) } -func (p *parser) callonSingleQuoteBoldTextElement117() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement122() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement117() + return p.cur.onDoubleQuoteBoldTextElement122() } -func (c *current) onSingleQuoteBoldTextElement126() (interface{}, error) { +func (c *current) onDoubleQuoteBoldTextElement131() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonSingleQuoteBoldTextElement126() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement131() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement126() + return p.cur.onDoubleQuoteBoldTextElement131() } -func (c *current) onSingleQuoteBoldTextElement122(name interface{}) (interface{}, error) { +func (c *current) onDoubleQuoteBoldTextElement127(name interface{}) (interface{}, error) { log.Debug("matching escaped attribute reference") // return types.NewStringElement("{"+name.(string)+"}") @@ -94580,594 +92566,622 @@ func (c *current) onSingleQuoteBoldTextElement122(name interface{}) (interface{} } -func (p *parser) callonSingleQuoteBoldTextElement122() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement127() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement122(stack["name"]) + return p.cur.onDoubleQuoteBoldTextElement127(stack["name"]) } -func (c *current) onSingleQuoteBoldTextElement136() (interface{}, error) { +func (c *current) onDoubleQuoteBoldTextElement141() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonSingleQuoteBoldTextElement136() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement141() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement136() + return p.cur.onDoubleQuoteBoldTextElement141() } -func (c *current) onSingleQuoteBoldTextElement132(name interface{}) (interface{}, error) { +func (c *current) onDoubleQuoteBoldTextElement137(name interface{}) (interface{}, error) { return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonSingleQuoteBoldTextElement132() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement137() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement132(stack["name"]) + return p.cur.onDoubleQuoteBoldTextElement137(stack["name"]) } -func (c *current) onSingleQuoteBoldTextElement142() (interface{}, error) { +func (c *current) onDoubleQuoteBoldTextElement147() (interface{}, error) { return types.NewStringElement(string(c.text)) } -func (p *parser) callonSingleQuoteBoldTextElement142() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement147() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement142() + return p.cur.onDoubleQuoteBoldTextElement147() } -func (c *current) onSingleQuoteBoldTextElement103(id, label interface{}) (interface{}, error) { +func (c *current) onDoubleQuoteBoldTextElement108(id, label interface{}) (interface{}, error) { return types.NewInternalCrossReference(id, label) } -func (p *parser) callonSingleQuoteBoldTextElement103() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement108() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement103(stack["id"], stack["label"]) + return p.cur.onDoubleQuoteBoldTextElement108(stack["id"], stack["label"]) } -func (c *current) onSingleQuoteBoldTextElement149() (interface{}, error) { +func (c *current) onDoubleQuoteBoldTextElement154() (interface{}, error) { // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ return string(c.text), nil } -func (p *parser) callonSingleQuoteBoldTextElement149() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement154() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement149() + return p.cur.onDoubleQuoteBoldTextElement154() } -func (c *current) onSingleQuoteBoldTextElement145(id interface{}) (interface{}, error) { +func (c *current) onDoubleQuoteBoldTextElement150(id interface{}) (interface{}, error) { return types.NewInternalCrossReference(id, nil) } -func (p *parser) callonSingleQuoteBoldTextElement145() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement150() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement145(stack["id"]) + return p.cur.onDoubleQuoteBoldTextElement150(stack["id"]) } -func (c *current) onSingleQuoteBoldTextElement101() (interface{}, error) { +func (c *current) onDoubleQuoteBoldTextElement106() (interface{}, error) { return types.NewStringElement(string(c.text)) } -func (p *parser) callonSingleQuoteBoldTextElement101() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement106() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement101() + return p.cur.onDoubleQuoteBoldTextElement106() } -func (c *current) onSingleQuoteBoldTextElement153() (interface{}, error) { +func (c *current) onDoubleQuoteBoldTextElement158() (interface{}, error) { return types.NewSpecialCharacter(string(c.text)) } -func (p *parser) callonSingleQuoteBoldTextElement153() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement158() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement153() + return p.cur.onDoubleQuoteBoldTextElement158() } -func (c *current) onSingleQuoteBoldTextElement96(element interface{}) (interface{}, error) { +func (c *current) onDoubleQuoteBoldTextElement101(element interface{}) (interface{}, error) { return element, nil } -func (p *parser) callonSingleQuoteBoldTextElement96() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement101() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement96(stack["element"]) + return p.cur.onDoubleQuoteBoldTextElement101(stack["element"]) } -func (c *current) onSingleQuoteBoldTextElement159() (interface{}, error) { +func (c *current) onDoubleQuoteBoldTextElement164() (interface{}, error) { + return types.NewSymbol("\"`") + +} + +func (p *parser) callonDoubleQuoteBoldTextElement164() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteBoldTextElement164() +} + +func (c *current) onDoubleQuoteBoldTextElement166() (interface{}, error) { + return types.NewSymbol("`\"") + +} + +func (p *parser) callonDoubleQuoteBoldTextElement166() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteBoldTextElement166() +} + +func (c *current) onDoubleQuoteBoldTextElement168() (interface{}, error) { + return types.NewSymbol("'`") + +} + +func (p *parser) callonDoubleQuoteBoldTextElement168() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteBoldTextElement168() +} + +func (c *current) onDoubleQuoteBoldTextElement170() (interface{}, error) { return types.NewSymbol("`'") } -func (p *parser) callonSingleQuoteBoldTextElement159() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement170() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement159() + return p.cur.onDoubleQuoteBoldTextElement170() } -func (c *current) onSingleQuoteBoldTextElement161() (interface{}, error) { +func (c *current) onDoubleQuoteBoldTextElement172() (interface{}, error) { return types.NewSymbol("(C)") } -func (p *parser) callonSingleQuoteBoldTextElement161() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement172() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement161() + return p.cur.onDoubleQuoteBoldTextElement172() } -func (c *current) onSingleQuoteBoldTextElement163() (interface{}, error) { +func (c *current) onDoubleQuoteBoldTextElement174() (interface{}, error) { return types.NewSymbol("(TM)") } -func (p *parser) callonSingleQuoteBoldTextElement163() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement174() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement163() + return p.cur.onDoubleQuoteBoldTextElement174() } -func (c *current) onSingleQuoteBoldTextElement165() (interface{}, error) { +func (c *current) onDoubleQuoteBoldTextElement176() (interface{}, error) { return types.NewSymbol("(R)") } -func (p *parser) callonSingleQuoteBoldTextElement165() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement176() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement165() + return p.cur.onDoubleQuoteBoldTextElement176() } -func (c *current) onSingleQuoteBoldTextElement167() (interface{}, error) { +func (c *current) onDoubleQuoteBoldTextElement178() (interface{}, error) { return types.NewSymbol("...") } -func (p *parser) callonSingleQuoteBoldTextElement167() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement178() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement167() + return p.cur.onDoubleQuoteBoldTextElement178() } -func (c *current) onSingleQuoteBoldTextElement155() (interface{}, error) { +func (c *current) onDoubleQuoteBoldTextElement160() (interface{}, error) { return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) } -func (p *parser) callonSingleQuoteBoldTextElement155() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement160() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement155() + return p.cur.onDoubleQuoteBoldTextElement160() } -func (c *current) onSingleQuoteBoldTextElement169() (interface{}, error) { - return types.NewSymbol("`'") +func (c *current) onDoubleQuoteBoldTextElement180() (interface{}, error) { + return types.NewSymbol("\"`") } -func (p *parser) callonSingleQuoteBoldTextElement169() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement180() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement169() + return p.cur.onDoubleQuoteBoldTextElement180() } -func (c *current) onSingleQuoteBoldTextElement171() (interface{}, error) { - return types.NewSymbol("(C)") +func (c *current) onDoubleQuoteBoldTextElement182() (interface{}, error) { + return types.NewSymbol("`\"") } -func (p *parser) callonSingleQuoteBoldTextElement171() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement182() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement171() + return p.cur.onDoubleQuoteBoldTextElement182() } -func (c *current) onSingleQuoteBoldTextElement173() (interface{}, error) { - return types.NewSymbol("(TM)") +func (c *current) onDoubleQuoteBoldTextElement184() (interface{}, error) { + return types.NewSymbol("'`") } -func (p *parser) callonSingleQuoteBoldTextElement173() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement184() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement173() + return p.cur.onDoubleQuoteBoldTextElement184() } -func (c *current) onSingleQuoteBoldTextElement175() (interface{}, error) { - return types.NewSymbol("(R)") +func (c *current) onDoubleQuoteBoldTextElement186() (interface{}, error) { + return types.NewSymbol("`'") } -func (p *parser) callonSingleQuoteBoldTextElement175() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement186() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement175() + return p.cur.onDoubleQuoteBoldTextElement186() } -func (c *current) onSingleQuoteBoldTextElement177() (interface{}, error) { - return types.NewSymbol("...") +func (c *current) onDoubleQuoteBoldTextElement188() (interface{}, error) { + return types.NewSymbol("(C)") } -func (p *parser) callonSingleQuoteBoldTextElement177() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement188() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement177() + return p.cur.onDoubleQuoteBoldTextElement188() } -func (c *current) onSingleQuoteBoldTextElement179() (interface{}, error) { - log.Debug("matched escaped apostrophe") - return types.NewStringElement(strings.TrimSuffix(string(c.text), `\'`) + `'`) // retain the apostrophe, but discard the `\` escape char +func (c *current) onDoubleQuoteBoldTextElement190() (interface{}, error) { + return types.NewSymbol("(TM)") } -func (p *parser) callonSingleQuoteBoldTextElement179() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement190() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement179() + return p.cur.onDoubleQuoteBoldTextElement190() } -func (c *current) onSingleQuoteBoldTextElement185() (interface{}, error) { - return types.NewSymbolWithForeword("'", strings.TrimSuffix(string(c.text), `'`)) +func (c *current) onDoubleQuoteBoldTextElement192() (interface{}, error) { + return types.NewSymbol("(R)") } -func (p *parser) callonSingleQuoteBoldTextElement185() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement192() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement185() + return p.cur.onDoubleQuoteBoldTextElement192() } -func (c *current) onSingleQuoteBoldTextElement197() (interface{}, error) { - return string(c.text), nil +func (c *current) onDoubleQuoteBoldTextElement194() (interface{}, error) { + return types.NewSymbol("...") + } -func (p *parser) callonSingleQuoteBoldTextElement197() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement194() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement197() + return p.cur.onDoubleQuoteBoldTextElement194() } -func (c *current) onSingleQuoteBoldTextElement193(ref interface{}) (interface{}, error) { - return types.NewElementPlaceHolder(ref.(string)) +func (c *current) onDoubleQuoteBoldTextElement196() (interface{}, error) { + log.Debug("matched escaped apostrophe") + return types.NewStringElement(strings.TrimSuffix(string(c.text), `\'`) + `'`) // retain the apostrophe, but discard the `\` escape char + } -func (p *parser) callonSingleQuoteBoldTextElement193() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement196() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement193(stack["ref"]) + return p.cur.onDoubleQuoteBoldTextElement196() } -func (c *current) onSingleQuoteBoldTextElement205() (interface{}, error) { - return string(c.text), nil +func (c *current) onDoubleQuoteBoldTextElement202() (interface{}, error) { + return types.NewSymbolWithForeword("'", strings.TrimSuffix(string(c.text), `'`)) } -func (p *parser) callonSingleQuoteBoldTextElement205() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement202() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement205() + return p.cur.onDoubleQuoteBoldTextElement202() } -func (c *current) onSingleQuoteBoldTextElement202() (interface{}, error) { - // or a bold delimiter when immediately followed by an alphanum (ie, in the middle of some text) - return types.NewStringElement(string(c.text)) - +func (c *current) onDoubleQuoteBoldTextElement213() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonSingleQuoteBoldTextElement202() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement213() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement202() + return p.cur.onDoubleQuoteBoldTextElement213() } -func (c *current) onQuotedTextInSingleQuoteBoldText2(element interface{}) (interface{}, error) { - return element, nil - +func (c *current) onDoubleQuoteBoldTextElement209(ref interface{}) (interface{}, error) { + return types.NewElementPlaceHolder(ref.(string)) } -func (p *parser) callonQuotedTextInSingleQuoteBoldText2() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement209() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onQuotedTextInSingleQuoteBoldText2(stack["element"]) + return p.cur.onDoubleQuoteBoldTextElement209(stack["ref"]) } -func (c *current) onQuotedTextInSingleQuoteBoldText13(attributes, text interface{}) (interface{}, error) { - return text.(*types.QuotedText).WithAttributes(attributes) +func (c *current) onDoubleQuoteBoldTextElement221() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonQuotedTextInSingleQuoteBoldText13() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement221() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onQuotedTextInSingleQuoteBoldText13(stack["attributes"], stack["text"]) + return p.cur.onDoubleQuoteBoldTextElement221() } -func (c *current) onEscapedBoldText5() (interface{}, error) { - return string(c.text), nil +func (c *current) onDoubleQuoteBoldTextElement218() (interface{}, error) { + // or a bold delimiter when immediately followed by an alphanum (ie, in the middle of some text) + return types.NewStringElement(string(c.text)) } -func (p *parser) callonEscapedBoldText5() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement218() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onEscapedBoldText5() + return p.cur.onDoubleQuoteBoldTextElement218() } -func (c *current) onEscapedBoldText2(backslashes, elements interface{}) (interface{}, error) { - - return types.NewEscapedQuotedText(backslashes.(string), "**", elements.([]interface{})) +func (c *current) onDoubleQuoteBoldTextElement1(element interface{}) (interface{}, error) { + return element, nil } -func (p *parser) callonEscapedBoldText2() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onEscapedBoldText2(stack["backslashes"], stack["elements"]) + return p.cur.onDoubleQuoteBoldTextElement1(stack["element"]) } -func (c *current) onEscapedBoldText17() (interface{}, error) { - return string(c.text), nil +func (c *current) onQuotedTextInDoubleQuoteBoldText1(attributes, text interface{}) (interface{}, error) { + return text.(*types.QuotedText).WithAttributes(attributes) } -func (p *parser) callonEscapedBoldText17() (interface{}, error) { +func (p *parser) callonQuotedTextInDoubleQuoteBoldText1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onEscapedBoldText17() + return p.cur.onQuotedTextInDoubleQuoteBoldText1(stack["attributes"], stack["text"]) } -func (c *current) onEscapedBoldText14(backslashes, elements interface{}) (interface{}, error) { - - result := append([]interface{}{"*"}, elements.([]interface{})) - return types.NewEscapedQuotedText(backslashes.(string), "*", result) +func (c *current) onSingleQuoteBoldText1(elements interface{}) (interface{}, error) { + return types.NewQuotedText(types.SingleQuoteBold, elements.([]interface{})) } -func (p *parser) callonEscapedBoldText14() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldText1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onEscapedBoldText14(stack["backslashes"], stack["elements"]) + return p.cur.onSingleQuoteBoldText1(stack["elements"]) } -func (c *current) onEscapedBoldText27() (interface{}, error) { +func (c *current) onSingleQuoteBoldTextElements7() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonEscapedBoldText27() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElements7() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onEscapedBoldText27() + return p.cur.onSingleQuoteBoldTextElements7() } -func (c *current) onEscapedBoldText24(backslashes, elements interface{}) (interface{}, error) { - - return types.NewEscapedQuotedText(backslashes.(string), "*", elements.([]interface{})) +func (c *current) onSingleQuoteBoldTextElements12(elements interface{}) (bool, error) { + return validateSingleQuoteElements(elements.([]interface{})) // cannot end with spaces } -func (p *parser) callonEscapedBoldText24() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElements12() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onEscapedBoldText24(stack["backslashes"], stack["elements"]) + return p.cur.onSingleQuoteBoldTextElements12(stack["elements"]) } -func (c *current) onDoubleQuoteItalicText1(elements interface{}) (interface{}, error) { - // double punctuation must be evaluated first - return types.NewQuotedText(types.DoubleQuoteItalic, elements.([]interface{})) +func (c *current) onSingleQuoteBoldTextElements1(elements interface{}) (interface{}, error) { + return elements, nil } -func (p *parser) callonDoubleQuoteItalicText1() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElements1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicText1(stack["elements"]) + return p.cur.onSingleQuoteBoldTextElements1(stack["elements"]) } -func (c *current) onDoubleQuoteItalicTextElement13() (interface{}, error) { +func (c *current) onSingleQuoteBoldTextElement8() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDoubleQuoteItalicTextElement13() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement8() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement13() + return p.cur.onSingleQuoteBoldTextElement8() } -func (c *current) onDoubleQuoteItalicTextElement7() (interface{}, error) { +func (c *current) onSingleQuoteBoldTextElement2() (interface{}, error) { return types.NewStringElement(string(c.text)) } -func (p *parser) callonDoubleQuoteItalicTextElement7() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement2() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement7() + return p.cur.onSingleQuoteBoldTextElement2() } -func (c *current) onDoubleQuoteItalicTextElement16() (interface{}, error) { +func (c *current) onSingleQuoteBoldTextElement11() (interface{}, error) { // log.Debug("matched multiple spaces") return string(c.text), nil } -func (p *parser) callonDoubleQuoteItalicTextElement16() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement11() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement16() + return p.cur.onSingleQuoteBoldTextElement11() } -func (c *current) onDoubleQuoteItalicTextElement20() (interface{}, error) { +func (c *current) onSingleQuoteBoldTextElement15() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonDoubleQuoteItalicTextElement20() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement15() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement20() + return p.cur.onSingleQuoteBoldTextElement15() } -func (c *current) onDoubleQuoteItalicTextElement26() (interface{}, error) { +func (c *current) onSingleQuoteBoldTextElement21() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonDoubleQuoteItalicTextElement26() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement21() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement26() + return p.cur.onSingleQuoteBoldTextElement21() } -func (c *current) onDoubleQuoteItalicTextElement33() (bool, error) { +func (c *current) onSingleQuoteBoldTextElement28() (bool, error) { return c.isSubstitutionEnabled(Attributes), nil } -func (p *parser) callonDoubleQuoteItalicTextElement33() (bool, error) { +func (p *parser) callonSingleQuoteBoldTextElement28() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement33() + return p.cur.onSingleQuoteBoldTextElement28() } -func (c *current) onDoubleQuoteItalicTextElement40() (interface{}, error) { +func (c *current) onSingleQuoteBoldTextElement35() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDoubleQuoteItalicTextElement40() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement35() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement40() + return p.cur.onSingleQuoteBoldTextElement35() } -func (c *current) onDoubleQuoteItalicTextElement52() (interface{}, error) { +func (c *current) onSingleQuoteBoldTextElement47() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDoubleQuoteItalicTextElement52() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement47() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement52() + return p.cur.onSingleQuoteBoldTextElement47() } -func (c *current) onDoubleQuoteItalicTextElement54() (interface{}, error) { +func (c *current) onSingleQuoteBoldTextElement49() (interface{}, error) { return strconv.Atoi(string(c.text)) } -func (p *parser) callonDoubleQuoteItalicTextElement54() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement49() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement54() + return p.cur.onSingleQuoteBoldTextElement49() } -func (c *current) onDoubleQuoteItalicTextElement47(start interface{}) (interface{}, error) { +func (c *current) onSingleQuoteBoldTextElement42(start interface{}) (interface{}, error) { return start, nil } -func (p *parser) callonDoubleQuoteItalicTextElement47() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement42() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement47(stack["start"]) + return p.cur.onSingleQuoteBoldTextElement42(stack["start"]) } -func (c *current) onDoubleQuoteItalicTextElement36(name, start interface{}) (interface{}, error) { +func (c *current) onSingleQuoteBoldTextElement31(name, start interface{}) (interface{}, error) { return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) } -func (p *parser) callonDoubleQuoteItalicTextElement36() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement31() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement36(stack["name"], stack["start"]) + return p.cur.onSingleQuoteBoldTextElement31(stack["name"], stack["start"]) } -func (c *current) onDoubleQuoteItalicTextElement62() (interface{}, error) { +func (c *current) onSingleQuoteBoldTextElement57() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDoubleQuoteItalicTextElement62() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement57() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement62() + return p.cur.onSingleQuoteBoldTextElement57() } -func (c *current) onDoubleQuoteItalicTextElement74() (interface{}, error) { +func (c *current) onSingleQuoteBoldTextElement69() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDoubleQuoteItalicTextElement74() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement69() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement74() + return p.cur.onSingleQuoteBoldTextElement69() } -func (c *current) onDoubleQuoteItalicTextElement76() (interface{}, error) { +func (c *current) onSingleQuoteBoldTextElement71() (interface{}, error) { return strconv.Atoi(string(c.text)) } -func (p *parser) callonDoubleQuoteItalicTextElement76() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement71() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement76() + return p.cur.onSingleQuoteBoldTextElement71() } -func (c *current) onDoubleQuoteItalicTextElement69(start interface{}) (interface{}, error) { +func (c *current) onSingleQuoteBoldTextElement64(start interface{}) (interface{}, error) { return start, nil } -func (p *parser) callonDoubleQuoteItalicTextElement69() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement64() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement69(stack["start"]) + return p.cur.onSingleQuoteBoldTextElement64(stack["start"]) } -func (c *current) onDoubleQuoteItalicTextElement58(name, start interface{}) (interface{}, error) { +func (c *current) onSingleQuoteBoldTextElement53(name, start interface{}) (interface{}, error) { return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) } -func (p *parser) callonDoubleQuoteItalicTextElement58() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement53() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement58(stack["name"], stack["start"]) + return p.cur.onSingleQuoteBoldTextElement53(stack["name"], stack["start"]) } -func (c *current) onDoubleQuoteItalicTextElement84() (interface{}, error) { +func (c *current) onSingleQuoteBoldTextElement79() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDoubleQuoteItalicTextElement84() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement79() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement84() + return p.cur.onSingleQuoteBoldTextElement79() } -func (c *current) onDoubleQuoteItalicTextElement80(name interface{}) (interface{}, error) { +func (c *current) onSingleQuoteBoldTextElement75(name interface{}) (interface{}, error) { log.Debug("matching escaped attribute reference") // return types.NewStringElement("{"+name.(string)+"}") @@ -95175,104 +93189,104 @@ func (c *current) onDoubleQuoteItalicTextElement80(name interface{}) (interface{ } -func (p *parser) callonDoubleQuoteItalicTextElement80() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement75() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement80(stack["name"]) + return p.cur.onSingleQuoteBoldTextElement75(stack["name"]) } -func (c *current) onDoubleQuoteItalicTextElement94() (interface{}, error) { +func (c *current) onSingleQuoteBoldTextElement89() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDoubleQuoteItalicTextElement94() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement89() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement94() + return p.cur.onSingleQuoteBoldTextElement89() } -func (c *current) onDoubleQuoteItalicTextElement90(name interface{}) (interface{}, error) { +func (c *current) onSingleQuoteBoldTextElement85(name interface{}) (interface{}, error) { return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonDoubleQuoteItalicTextElement90() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement85() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement90(stack["name"]) + return p.cur.onSingleQuoteBoldTextElement85(stack["name"]) } -func (c *current) onDoubleQuoteItalicTextElement31(element interface{}) (interface{}, error) { +func (c *current) onSingleQuoteBoldTextElement26(element interface{}) (interface{}, error) { return element, nil } -func (p *parser) callonDoubleQuoteItalicTextElement31() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement26() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement31(stack["element"]) + return p.cur.onSingleQuoteBoldTextElement26(stack["element"]) } -func (c *current) onDoubleQuoteItalicTextElement103() (bool, error) { +func (c *current) onSingleQuoteBoldTextElement98() (bool, error) { return c.isSubstitutionEnabled(SpecialCharacters), nil } -func (p *parser) callonDoubleQuoteItalicTextElement103() (bool, error) { +func (p *parser) callonSingleQuoteBoldTextElement98() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement103() + return p.cur.onSingleQuoteBoldTextElement98() } -func (c *current) onDoubleQuoteItalicTextElement112() (interface{}, error) { +func (c *current) onSingleQuoteBoldTextElement107() (interface{}, error) { // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ return string(c.text), nil } -func (p *parser) callonDoubleQuoteItalicTextElement112() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement107() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement112() + return p.cur.onSingleQuoteBoldTextElement107() } -func (c *current) onDoubleQuoteItalicTextElement116() (interface{}, error) { +func (c *current) onSingleQuoteBoldTextElement111() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDoubleQuoteItalicTextElement116() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement111() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement116() + return p.cur.onSingleQuoteBoldTextElement111() } -func (c *current) onDoubleQuoteItalicTextElement122() (interface{}, error) { +func (c *current) onSingleQuoteBoldTextElement117() (interface{}, error) { // `{`, `>` and `>` characters are not allowed as they are used for attribute substitutions and cross-references return types.NewStringElement(string(c.text)) } -func (p *parser) callonDoubleQuoteItalicTextElement122() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement117() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement122() + return p.cur.onSingleQuoteBoldTextElement117() } -func (c *current) onDoubleQuoteItalicTextElement131() (interface{}, error) { +func (c *current) onSingleQuoteBoldTextElement126() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDoubleQuoteItalicTextElement131() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement126() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement131() + return p.cur.onSingleQuoteBoldTextElement126() } -func (c *current) onDoubleQuoteItalicTextElement127(name interface{}) (interface{}, error) { +func (c *current) onSingleQuoteBoldTextElement122(name interface{}) (interface{}, error) { log.Debug("matching escaped attribute reference") // return types.NewStringElement("{"+name.(string)+"}") @@ -95280,568 +93294,660 @@ func (c *current) onDoubleQuoteItalicTextElement127(name interface{}) (interface } -func (p *parser) callonDoubleQuoteItalicTextElement127() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement122() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement127(stack["name"]) + return p.cur.onSingleQuoteBoldTextElement122(stack["name"]) } -func (c *current) onDoubleQuoteItalicTextElement141() (interface{}, error) { +func (c *current) onSingleQuoteBoldTextElement136() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDoubleQuoteItalicTextElement141() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement136() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement141() + return p.cur.onSingleQuoteBoldTextElement136() } -func (c *current) onDoubleQuoteItalicTextElement137(name interface{}) (interface{}, error) { +func (c *current) onSingleQuoteBoldTextElement132(name interface{}) (interface{}, error) { return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonDoubleQuoteItalicTextElement137() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement132() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement137(stack["name"]) + return p.cur.onSingleQuoteBoldTextElement132(stack["name"]) } -func (c *current) onDoubleQuoteItalicTextElement147() (interface{}, error) { +func (c *current) onSingleQuoteBoldTextElement142() (interface{}, error) { return types.NewStringElement(string(c.text)) } -func (p *parser) callonDoubleQuoteItalicTextElement147() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement142() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement147() + return p.cur.onSingleQuoteBoldTextElement142() } -func (c *current) onDoubleQuoteItalicTextElement108(id, label interface{}) (interface{}, error) { +func (c *current) onSingleQuoteBoldTextElement103(id, label interface{}) (interface{}, error) { return types.NewInternalCrossReference(id, label) } -func (p *parser) callonDoubleQuoteItalicTextElement108() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement103() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement108(stack["id"], stack["label"]) + return p.cur.onSingleQuoteBoldTextElement103(stack["id"], stack["label"]) } -func (c *current) onDoubleQuoteItalicTextElement154() (interface{}, error) { +func (c *current) onSingleQuoteBoldTextElement149() (interface{}, error) { // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ return string(c.text), nil } -func (p *parser) callonDoubleQuoteItalicTextElement154() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement149() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement154() + return p.cur.onSingleQuoteBoldTextElement149() } -func (c *current) onDoubleQuoteItalicTextElement150(id interface{}) (interface{}, error) { +func (c *current) onSingleQuoteBoldTextElement145(id interface{}) (interface{}, error) { return types.NewInternalCrossReference(id, nil) } -func (p *parser) callonDoubleQuoteItalicTextElement150() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement145() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement150(stack["id"]) + return p.cur.onSingleQuoteBoldTextElement145(stack["id"]) } -func (c *current) onDoubleQuoteItalicTextElement106() (interface{}, error) { +func (c *current) onSingleQuoteBoldTextElement101() (interface{}, error) { return types.NewStringElement(string(c.text)) } -func (p *parser) callonDoubleQuoteItalicTextElement106() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement101() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement106() + return p.cur.onSingleQuoteBoldTextElement101() } -func (c *current) onDoubleQuoteItalicTextElement158() (interface{}, error) { +func (c *current) onSingleQuoteBoldTextElement153() (interface{}, error) { return types.NewSpecialCharacter(string(c.text)) } -func (p *parser) callonDoubleQuoteItalicTextElement158() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement153() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement158() + return p.cur.onSingleQuoteBoldTextElement153() } -func (c *current) onDoubleQuoteItalicTextElement101(element interface{}) (interface{}, error) { +func (c *current) onSingleQuoteBoldTextElement96(element interface{}) (interface{}, error) { return element, nil } -func (p *parser) callonDoubleQuoteItalicTextElement101() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement96() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement101(stack["element"]) + return p.cur.onSingleQuoteBoldTextElement96(stack["element"]) } -func (c *current) onDoubleQuoteItalicTextElement164() (interface{}, error) { +func (c *current) onSingleQuoteBoldTextElement159() (interface{}, error) { + return types.NewSymbol("\"`") + +} + +func (p *parser) callonSingleQuoteBoldTextElement159() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteBoldTextElement159() +} + +func (c *current) onSingleQuoteBoldTextElement161() (interface{}, error) { + return types.NewSymbol("`\"") + +} + +func (p *parser) callonSingleQuoteBoldTextElement161() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteBoldTextElement161() +} + +func (c *current) onSingleQuoteBoldTextElement163() (interface{}, error) { + return types.NewSymbol("'`") + +} + +func (p *parser) callonSingleQuoteBoldTextElement163() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteBoldTextElement163() +} + +func (c *current) onSingleQuoteBoldTextElement165() (interface{}, error) { return types.NewSymbol("`'") } -func (p *parser) callonDoubleQuoteItalicTextElement164() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement165() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement164() + return p.cur.onSingleQuoteBoldTextElement165() } -func (c *current) onDoubleQuoteItalicTextElement166() (interface{}, error) { +func (c *current) onSingleQuoteBoldTextElement167() (interface{}, error) { return types.NewSymbol("(C)") } -func (p *parser) callonDoubleQuoteItalicTextElement166() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement167() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement166() + return p.cur.onSingleQuoteBoldTextElement167() } -func (c *current) onDoubleQuoteItalicTextElement168() (interface{}, error) { +func (c *current) onSingleQuoteBoldTextElement169() (interface{}, error) { return types.NewSymbol("(TM)") } -func (p *parser) callonDoubleQuoteItalicTextElement168() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement169() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement168() + return p.cur.onSingleQuoteBoldTextElement169() } -func (c *current) onDoubleQuoteItalicTextElement170() (interface{}, error) { +func (c *current) onSingleQuoteBoldTextElement171() (interface{}, error) { return types.NewSymbol("(R)") } -func (p *parser) callonDoubleQuoteItalicTextElement170() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement171() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement170() + return p.cur.onSingleQuoteBoldTextElement171() } -func (c *current) onDoubleQuoteItalicTextElement172() (interface{}, error) { +func (c *current) onSingleQuoteBoldTextElement173() (interface{}, error) { return types.NewSymbol("...") } -func (p *parser) callonDoubleQuoteItalicTextElement172() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement173() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement172() + return p.cur.onSingleQuoteBoldTextElement173() } -func (c *current) onDoubleQuoteItalicTextElement160() (interface{}, error) { +func (c *current) onSingleQuoteBoldTextElement155() (interface{}, error) { return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) } -func (p *parser) callonDoubleQuoteItalicTextElement160() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement155() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement160() + return p.cur.onSingleQuoteBoldTextElement155() } -func (c *current) onDoubleQuoteItalicTextElement174() (interface{}, error) { +func (c *current) onSingleQuoteBoldTextElement175() (interface{}, error) { + return types.NewSymbol("\"`") + +} + +func (p *parser) callonSingleQuoteBoldTextElement175() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteBoldTextElement175() +} + +func (c *current) onSingleQuoteBoldTextElement177() (interface{}, error) { + return types.NewSymbol("`\"") + +} + +func (p *parser) callonSingleQuoteBoldTextElement177() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteBoldTextElement177() +} + +func (c *current) onSingleQuoteBoldTextElement179() (interface{}, error) { + return types.NewSymbol("'`") + +} + +func (p *parser) callonSingleQuoteBoldTextElement179() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteBoldTextElement179() +} + +func (c *current) onSingleQuoteBoldTextElement181() (interface{}, error) { return types.NewSymbol("`'") } -func (p *parser) callonDoubleQuoteItalicTextElement174() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement181() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement174() + return p.cur.onSingleQuoteBoldTextElement181() } -func (c *current) onDoubleQuoteItalicTextElement176() (interface{}, error) { +func (c *current) onSingleQuoteBoldTextElement183() (interface{}, error) { return types.NewSymbol("(C)") } -func (p *parser) callonDoubleQuoteItalicTextElement176() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement183() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement176() + return p.cur.onSingleQuoteBoldTextElement183() } -func (c *current) onDoubleQuoteItalicTextElement178() (interface{}, error) { +func (c *current) onSingleQuoteBoldTextElement185() (interface{}, error) { return types.NewSymbol("(TM)") } -func (p *parser) callonDoubleQuoteItalicTextElement178() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement185() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement178() + return p.cur.onSingleQuoteBoldTextElement185() } -func (c *current) onDoubleQuoteItalicTextElement180() (interface{}, error) { +func (c *current) onSingleQuoteBoldTextElement187() (interface{}, error) { return types.NewSymbol("(R)") } -func (p *parser) callonDoubleQuoteItalicTextElement180() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement187() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement180() + return p.cur.onSingleQuoteBoldTextElement187() } -func (c *current) onDoubleQuoteItalicTextElement182() (interface{}, error) { +func (c *current) onSingleQuoteBoldTextElement189() (interface{}, error) { return types.NewSymbol("...") } -func (p *parser) callonDoubleQuoteItalicTextElement182() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement189() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement182() + return p.cur.onSingleQuoteBoldTextElement189() } -func (c *current) onDoubleQuoteItalicTextElement184() (interface{}, error) { +func (c *current) onSingleQuoteBoldTextElement191() (interface{}, error) { log.Debug("matched escaped apostrophe") return types.NewStringElement(strings.TrimSuffix(string(c.text), `\'`) + `'`) // retain the apostrophe, but discard the `\` escape char } -func (p *parser) callonDoubleQuoteItalicTextElement184() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement191() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement184() + return p.cur.onSingleQuoteBoldTextElement191() } -func (c *current) onDoubleQuoteItalicTextElement190() (interface{}, error) { +func (c *current) onSingleQuoteBoldTextElement197() (interface{}, error) { return types.NewSymbolWithForeword("'", strings.TrimSuffix(string(c.text), `'`)) } -func (p *parser) callonDoubleQuoteItalicTextElement190() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement197() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement190() + return p.cur.onSingleQuoteBoldTextElement197() } -func (c *current) onDoubleQuoteItalicTextElement202() (interface{}, error) { +func (c *current) onSingleQuoteBoldTextElement208() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDoubleQuoteItalicTextElement202() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement208() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement202() + return p.cur.onSingleQuoteBoldTextElement208() } -func (c *current) onDoubleQuoteItalicTextElement198(ref interface{}) (interface{}, error) { +func (c *current) onSingleQuoteBoldTextElement204(ref interface{}) (interface{}, error) { return types.NewElementPlaceHolder(ref.(string)) } -func (p *parser) callonDoubleQuoteItalicTextElement198() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement204() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement198(stack["ref"]) + return p.cur.onSingleQuoteBoldTextElement204(stack["ref"]) } -func (c *current) onDoubleQuoteItalicTextElement210() (interface{}, error) { +func (c *current) onSingleQuoteBoldTextElement216() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDoubleQuoteItalicTextElement210() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement216() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement210() + return p.cur.onSingleQuoteBoldTextElement216() } -func (c *current) onDoubleQuoteItalicTextElement207() (interface{}, error) { - // or a italic delimiter when immediately followed by an alphanum (ie, in the middle of some text) +func (c *current) onSingleQuoteBoldTextElement213() (interface{}, error) { + // or a bold delimiter when immediately followed by an alphanum (ie, in the middle of some text) return types.NewStringElement(string(c.text)) } -func (p *parser) callonDoubleQuoteItalicTextElement207() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement213() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement207() + return p.cur.onSingleQuoteBoldTextElement213() } -func (c *current) onDoubleQuoteItalicTextElement1(element interface{}) (interface{}, error) { +func (c *current) onQuotedTextInSingleQuoteBoldText2(element interface{}) (interface{}, error) { return element, nil } -func (p *parser) callonDoubleQuoteItalicTextElement1() (interface{}, error) { +func (p *parser) callonQuotedTextInSingleQuoteBoldText2() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement1(stack["element"]) + return p.cur.onQuotedTextInSingleQuoteBoldText2(stack["element"]) } -func (c *current) onQuotedTextInDoubleQuoteItalicText2(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onQuotedTextInSingleQuoteBoldText13(attributes, text interface{}) (interface{}, error) { + return text.(*types.QuotedText).WithAttributes(attributes) } -func (p *parser) callonQuotedTextInDoubleQuoteItalicText2() (interface{}, error) { +func (p *parser) callonQuotedTextInSingleQuoteBoldText13() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onQuotedTextInDoubleQuoteItalicText2(stack["element"]) + return p.cur.onQuotedTextInSingleQuoteBoldText13(stack["attributes"], stack["text"]) } -func (c *current) onQuotedTextInDoubleQuoteItalicText13(attributes, text interface{}) (interface{}, error) { - return text.(*types.QuotedText).WithAttributes(attributes) +func (c *current) onEscapedBoldText5() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonQuotedTextInDoubleQuoteItalicText13() (interface{}, error) { +func (p *parser) callonEscapedBoldText5() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onQuotedTextInDoubleQuoteItalicText13(stack["attributes"], stack["text"]) + return p.cur.onEscapedBoldText5() } -func (c *current) onSingleQuoteItalicText1(elements interface{}) (interface{}, error) { +func (c *current) onEscapedBoldText2(backslashes, elements interface{}) (interface{}, error) { - return types.NewQuotedText(types.SingleQuoteItalic, elements.([]interface{})) + return types.NewEscapedQuotedText(backslashes.(string), "**", elements.([]interface{})) } -func (p *parser) callonSingleQuoteItalicText1() (interface{}, error) { +func (p *parser) callonEscapedBoldText2() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicText1(stack["elements"]) + return p.cur.onEscapedBoldText2(stack["backslashes"], stack["elements"]) } -func (c *current) onSingleQuoteItalicTextElements7() (interface{}, error) { +func (c *current) onEscapedBoldText17() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonSingleQuoteItalicTextElements7() (interface{}, error) { +func (p *parser) callonEscapedBoldText17() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElements7() + return p.cur.onEscapedBoldText17() } -func (c *current) onSingleQuoteItalicTextElements12(elements interface{}) (bool, error) { - return validateSingleQuoteElements(elements.([]interface{})) // cannot end with spaces +func (c *current) onEscapedBoldText14(backslashes, elements interface{}) (interface{}, error) { + + result := append([]interface{}{"*"}, elements.([]interface{})) + return types.NewEscapedQuotedText(backslashes.(string), "*", result) } -func (p *parser) callonSingleQuoteItalicTextElements12() (bool, error) { +func (p *parser) callonEscapedBoldText14() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElements12(stack["elements"]) + return p.cur.onEscapedBoldText14(stack["backslashes"], stack["elements"]) } -func (c *current) onSingleQuoteItalicTextElements1(elements interface{}) (interface{}, error) { - return elements, nil +func (c *current) onEscapedBoldText27() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonSingleQuoteItalicTextElements1() (interface{}, error) { +func (p *parser) callonEscapedBoldText27() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElements1(stack["elements"]) + return p.cur.onEscapedBoldText27() } -func (c *current) onSingleQuoteItalicTextElement8() (interface{}, error) { +func (c *current) onEscapedBoldText24(backslashes, elements interface{}) (interface{}, error) { + + return types.NewEscapedQuotedText(backslashes.(string), "*", elements.([]interface{})) + +} + +func (p *parser) callonEscapedBoldText24() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onEscapedBoldText24(stack["backslashes"], stack["elements"]) +} + +func (c *current) onDoubleQuoteItalicText1(elements interface{}) (interface{}, error) { + // double punctuation must be evaluated first + return types.NewQuotedText(types.DoubleQuoteItalic, elements.([]interface{})) + +} + +func (p *parser) callonDoubleQuoteItalicText1() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteItalicText1(stack["elements"]) +} + +func (c *current) onDoubleQuoteItalicTextElement13() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonSingleQuoteItalicTextElement8() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement13() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement8() + return p.cur.onDoubleQuoteItalicTextElement13() } -func (c *current) onSingleQuoteItalicTextElement2() (interface{}, error) { +func (c *current) onDoubleQuoteItalicTextElement7() (interface{}, error) { return types.NewStringElement(string(c.text)) } -func (p *parser) callonSingleQuoteItalicTextElement2() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement7() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement2() + return p.cur.onDoubleQuoteItalicTextElement7() } -func (c *current) onSingleQuoteItalicTextElement11() (interface{}, error) { +func (c *current) onDoubleQuoteItalicTextElement16() (interface{}, error) { // log.Debug("matched multiple spaces") return string(c.text), nil } -func (p *parser) callonSingleQuoteItalicTextElement11() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement16() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement11() + return p.cur.onDoubleQuoteItalicTextElement16() } -func (c *current) onSingleQuoteItalicTextElement15() (interface{}, error) { +func (c *current) onDoubleQuoteItalicTextElement20() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonSingleQuoteItalicTextElement15() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement20() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement15() + return p.cur.onDoubleQuoteItalicTextElement20() } -func (c *current) onSingleQuoteItalicTextElement21() (interface{}, error) { +func (c *current) onDoubleQuoteItalicTextElement26() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonSingleQuoteItalicTextElement21() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement26() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement21() + return p.cur.onDoubleQuoteItalicTextElement26() } -func (c *current) onSingleQuoteItalicTextElement28() (bool, error) { +func (c *current) onDoubleQuoteItalicTextElement33() (bool, error) { return c.isSubstitutionEnabled(Attributes), nil } -func (p *parser) callonSingleQuoteItalicTextElement28() (bool, error) { +func (p *parser) callonDoubleQuoteItalicTextElement33() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement28() + return p.cur.onDoubleQuoteItalicTextElement33() } -func (c *current) onSingleQuoteItalicTextElement35() (interface{}, error) { +func (c *current) onDoubleQuoteItalicTextElement40() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonSingleQuoteItalicTextElement35() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement40() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement35() + return p.cur.onDoubleQuoteItalicTextElement40() } -func (c *current) onSingleQuoteItalicTextElement47() (interface{}, error) { +func (c *current) onDoubleQuoteItalicTextElement52() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonSingleQuoteItalicTextElement47() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement52() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement47() + return p.cur.onDoubleQuoteItalicTextElement52() } -func (c *current) onSingleQuoteItalicTextElement49() (interface{}, error) { +func (c *current) onDoubleQuoteItalicTextElement54() (interface{}, error) { return strconv.Atoi(string(c.text)) } -func (p *parser) callonSingleQuoteItalicTextElement49() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement54() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement49() + return p.cur.onDoubleQuoteItalicTextElement54() } -func (c *current) onSingleQuoteItalicTextElement42(start interface{}) (interface{}, error) { +func (c *current) onDoubleQuoteItalicTextElement47(start interface{}) (interface{}, error) { return start, nil } -func (p *parser) callonSingleQuoteItalicTextElement42() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement47() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement42(stack["start"]) + return p.cur.onDoubleQuoteItalicTextElement47(stack["start"]) } -func (c *current) onSingleQuoteItalicTextElement31(name, start interface{}) (interface{}, error) { +func (c *current) onDoubleQuoteItalicTextElement36(name, start interface{}) (interface{}, error) { return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) } -func (p *parser) callonSingleQuoteItalicTextElement31() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement36() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement31(stack["name"], stack["start"]) + return p.cur.onDoubleQuoteItalicTextElement36(stack["name"], stack["start"]) } -func (c *current) onSingleQuoteItalicTextElement57() (interface{}, error) { +func (c *current) onDoubleQuoteItalicTextElement62() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonSingleQuoteItalicTextElement57() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement62() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement57() + return p.cur.onDoubleQuoteItalicTextElement62() } -func (c *current) onSingleQuoteItalicTextElement69() (interface{}, error) { +func (c *current) onDoubleQuoteItalicTextElement74() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonSingleQuoteItalicTextElement69() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement74() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement69() + return p.cur.onDoubleQuoteItalicTextElement74() } -func (c *current) onSingleQuoteItalicTextElement71() (interface{}, error) { +func (c *current) onDoubleQuoteItalicTextElement76() (interface{}, error) { return strconv.Atoi(string(c.text)) } -func (p *parser) callonSingleQuoteItalicTextElement71() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement76() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement71() + return p.cur.onDoubleQuoteItalicTextElement76() } -func (c *current) onSingleQuoteItalicTextElement64(start interface{}) (interface{}, error) { +func (c *current) onDoubleQuoteItalicTextElement69(start interface{}) (interface{}, error) { return start, nil } -func (p *parser) callonSingleQuoteItalicTextElement64() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement69() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement64(stack["start"]) + return p.cur.onDoubleQuoteItalicTextElement69(stack["start"]) } -func (c *current) onSingleQuoteItalicTextElement53(name, start interface{}) (interface{}, error) { +func (c *current) onDoubleQuoteItalicTextElement58(name, start interface{}) (interface{}, error) { return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) } -func (p *parser) callonSingleQuoteItalicTextElement53() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement58() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement53(stack["name"], stack["start"]) + return p.cur.onDoubleQuoteItalicTextElement58(stack["name"], stack["start"]) } -func (c *current) onSingleQuoteItalicTextElement79() (interface{}, error) { +func (c *current) onDoubleQuoteItalicTextElement84() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonSingleQuoteItalicTextElement79() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement84() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement79() + return p.cur.onDoubleQuoteItalicTextElement84() } -func (c *current) onSingleQuoteItalicTextElement75(name interface{}) (interface{}, error) { +func (c *current) onDoubleQuoteItalicTextElement80(name interface{}) (interface{}, error) { log.Debug("matching escaped attribute reference") // return types.NewStringElement("{"+name.(string)+"}") @@ -95849,104 +93955,104 @@ func (c *current) onSingleQuoteItalicTextElement75(name interface{}) (interface{ } -func (p *parser) callonSingleQuoteItalicTextElement75() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement80() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement75(stack["name"]) + return p.cur.onDoubleQuoteItalicTextElement80(stack["name"]) } -func (c *current) onSingleQuoteItalicTextElement89() (interface{}, error) { +func (c *current) onDoubleQuoteItalicTextElement94() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonSingleQuoteItalicTextElement89() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement94() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement89() + return p.cur.onDoubleQuoteItalicTextElement94() } -func (c *current) onSingleQuoteItalicTextElement85(name interface{}) (interface{}, error) { +func (c *current) onDoubleQuoteItalicTextElement90(name interface{}) (interface{}, error) { return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonSingleQuoteItalicTextElement85() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement90() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement85(stack["name"]) + return p.cur.onDoubleQuoteItalicTextElement90(stack["name"]) } -func (c *current) onSingleQuoteItalicTextElement26(element interface{}) (interface{}, error) { +func (c *current) onDoubleQuoteItalicTextElement31(element interface{}) (interface{}, error) { return element, nil } -func (p *parser) callonSingleQuoteItalicTextElement26() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement31() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement26(stack["element"]) + return p.cur.onDoubleQuoteItalicTextElement31(stack["element"]) } -func (c *current) onSingleQuoteItalicTextElement98() (bool, error) { +func (c *current) onDoubleQuoteItalicTextElement103() (bool, error) { return c.isSubstitutionEnabled(SpecialCharacters), nil } -func (p *parser) callonSingleQuoteItalicTextElement98() (bool, error) { +func (p *parser) callonDoubleQuoteItalicTextElement103() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement98() + return p.cur.onDoubleQuoteItalicTextElement103() } -func (c *current) onSingleQuoteItalicTextElement107() (interface{}, error) { +func (c *current) onDoubleQuoteItalicTextElement112() (interface{}, error) { // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ return string(c.text), nil } -func (p *parser) callonSingleQuoteItalicTextElement107() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement112() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement107() + return p.cur.onDoubleQuoteItalicTextElement112() } -func (c *current) onSingleQuoteItalicTextElement111() (interface{}, error) { +func (c *current) onDoubleQuoteItalicTextElement116() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonSingleQuoteItalicTextElement111() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement116() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement111() + return p.cur.onDoubleQuoteItalicTextElement116() } -func (c *current) onSingleQuoteItalicTextElement117() (interface{}, error) { +func (c *current) onDoubleQuoteItalicTextElement122() (interface{}, error) { // `{`, `>` and `>` characters are not allowed as they are used for attribute substitutions and cross-references return types.NewStringElement(string(c.text)) } -func (p *parser) callonSingleQuoteItalicTextElement117() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement122() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement117() + return p.cur.onDoubleQuoteItalicTextElement122() } -func (c *current) onSingleQuoteItalicTextElement126() (interface{}, error) { +func (c *current) onDoubleQuoteItalicTextElement131() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonSingleQuoteItalicTextElement126() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement131() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement126() + return p.cur.onDoubleQuoteItalicTextElement131() } -func (c *current) onSingleQuoteItalicTextElement122(name interface{}) (interface{}, error) { +func (c *current) onDoubleQuoteItalicTextElement127(name interface{}) (interface{}, error) { log.Debug("matching escaped attribute reference") // return types.NewStringElement("{"+name.(string)+"}") @@ -95954,698 +94060,634 @@ func (c *current) onSingleQuoteItalicTextElement122(name interface{}) (interface } -func (p *parser) callonSingleQuoteItalicTextElement122() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement127() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement122(stack["name"]) + return p.cur.onDoubleQuoteItalicTextElement127(stack["name"]) } -func (c *current) onSingleQuoteItalicTextElement136() (interface{}, error) { +func (c *current) onDoubleQuoteItalicTextElement141() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonSingleQuoteItalicTextElement136() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement141() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement136() + return p.cur.onDoubleQuoteItalicTextElement141() } -func (c *current) onSingleQuoteItalicTextElement132(name interface{}) (interface{}, error) { +func (c *current) onDoubleQuoteItalicTextElement137(name interface{}) (interface{}, error) { return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonSingleQuoteItalicTextElement132() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement137() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement132(stack["name"]) + return p.cur.onDoubleQuoteItalicTextElement137(stack["name"]) } -func (c *current) onSingleQuoteItalicTextElement142() (interface{}, error) { +func (c *current) onDoubleQuoteItalicTextElement147() (interface{}, error) { return types.NewStringElement(string(c.text)) } -func (p *parser) callonSingleQuoteItalicTextElement142() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement147() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement142() + return p.cur.onDoubleQuoteItalicTextElement147() } -func (c *current) onSingleQuoteItalicTextElement103(id, label interface{}) (interface{}, error) { +func (c *current) onDoubleQuoteItalicTextElement108(id, label interface{}) (interface{}, error) { return types.NewInternalCrossReference(id, label) } -func (p *parser) callonSingleQuoteItalicTextElement103() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement108() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement103(stack["id"], stack["label"]) + return p.cur.onDoubleQuoteItalicTextElement108(stack["id"], stack["label"]) } -func (c *current) onSingleQuoteItalicTextElement149() (interface{}, error) { +func (c *current) onDoubleQuoteItalicTextElement154() (interface{}, error) { // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ return string(c.text), nil } -func (p *parser) callonSingleQuoteItalicTextElement149() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement154() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement149() + return p.cur.onDoubleQuoteItalicTextElement154() } -func (c *current) onSingleQuoteItalicTextElement145(id interface{}) (interface{}, error) { +func (c *current) onDoubleQuoteItalicTextElement150(id interface{}) (interface{}, error) { return types.NewInternalCrossReference(id, nil) } -func (p *parser) callonSingleQuoteItalicTextElement145() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement150() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement145(stack["id"]) + return p.cur.onDoubleQuoteItalicTextElement150(stack["id"]) } -func (c *current) onSingleQuoteItalicTextElement101() (interface{}, error) { +func (c *current) onDoubleQuoteItalicTextElement106() (interface{}, error) { return types.NewStringElement(string(c.text)) } -func (p *parser) callonSingleQuoteItalicTextElement101() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement106() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement101() + return p.cur.onDoubleQuoteItalicTextElement106() } -func (c *current) onSingleQuoteItalicTextElement153() (interface{}, error) { +func (c *current) onDoubleQuoteItalicTextElement158() (interface{}, error) { return types.NewSpecialCharacter(string(c.text)) } -func (p *parser) callonSingleQuoteItalicTextElement153() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement158() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement153() + return p.cur.onDoubleQuoteItalicTextElement158() } -func (c *current) onSingleQuoteItalicTextElement96(element interface{}) (interface{}, error) { +func (c *current) onDoubleQuoteItalicTextElement101(element interface{}) (interface{}, error) { return element, nil } -func (p *parser) callonSingleQuoteItalicTextElement96() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onSingleQuoteItalicTextElement96(stack["element"]) -} - -func (c *current) onSingleQuoteItalicTextElement159() (interface{}, error) { - return types.NewSymbol("`'") - -} - -func (p *parser) callonSingleQuoteItalicTextElement159() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onSingleQuoteItalicTextElement159() -} - -func (c *current) onSingleQuoteItalicTextElement161() (interface{}, error) { - return types.NewSymbol("(C)") - -} - -func (p *parser) callonSingleQuoteItalicTextElement161() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onSingleQuoteItalicTextElement161() -} - -func (c *current) onSingleQuoteItalicTextElement163() (interface{}, error) { - return types.NewSymbol("(TM)") - -} - -func (p *parser) callonSingleQuoteItalicTextElement163() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement101() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement163() + return p.cur.onDoubleQuoteItalicTextElement101(stack["element"]) } -func (c *current) onSingleQuoteItalicTextElement165() (interface{}, error) { - return types.NewSymbol("(R)") +func (c *current) onDoubleQuoteItalicTextElement164() (interface{}, error) { + return types.NewSymbol("\"`") } -func (p *parser) callonSingleQuoteItalicTextElement165() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement164() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement165() + return p.cur.onDoubleQuoteItalicTextElement164() } -func (c *current) onSingleQuoteItalicTextElement167() (interface{}, error) { - return types.NewSymbol("...") +func (c *current) onDoubleQuoteItalicTextElement166() (interface{}, error) { + return types.NewSymbol("`\"") } -func (p *parser) callonSingleQuoteItalicTextElement167() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement166() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement167() + return p.cur.onDoubleQuoteItalicTextElement166() } -func (c *current) onSingleQuoteItalicTextElement155() (interface{}, error) { - return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) +func (c *current) onDoubleQuoteItalicTextElement168() (interface{}, error) { + return types.NewSymbol("'`") } -func (p *parser) callonSingleQuoteItalicTextElement155() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement168() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement155() + return p.cur.onDoubleQuoteItalicTextElement168() } -func (c *current) onSingleQuoteItalicTextElement169() (interface{}, error) { +func (c *current) onDoubleQuoteItalicTextElement170() (interface{}, error) { return types.NewSymbol("`'") } -func (p *parser) callonSingleQuoteItalicTextElement169() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement170() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement169() + return p.cur.onDoubleQuoteItalicTextElement170() } -func (c *current) onSingleQuoteItalicTextElement171() (interface{}, error) { +func (c *current) onDoubleQuoteItalicTextElement172() (interface{}, error) { return types.NewSymbol("(C)") } -func (p *parser) callonSingleQuoteItalicTextElement171() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement172() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement171() + return p.cur.onDoubleQuoteItalicTextElement172() } -func (c *current) onSingleQuoteItalicTextElement173() (interface{}, error) { +func (c *current) onDoubleQuoteItalicTextElement174() (interface{}, error) { return types.NewSymbol("(TM)") } -func (p *parser) callonSingleQuoteItalicTextElement173() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement174() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement173() + return p.cur.onDoubleQuoteItalicTextElement174() } -func (c *current) onSingleQuoteItalicTextElement175() (interface{}, error) { +func (c *current) onDoubleQuoteItalicTextElement176() (interface{}, error) { return types.NewSymbol("(R)") } -func (p *parser) callonSingleQuoteItalicTextElement175() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement176() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement175() + return p.cur.onDoubleQuoteItalicTextElement176() } -func (c *current) onSingleQuoteItalicTextElement177() (interface{}, error) { +func (c *current) onDoubleQuoteItalicTextElement178() (interface{}, error) { return types.NewSymbol("...") } -func (p *parser) callonSingleQuoteItalicTextElement177() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement178() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement177() + return p.cur.onDoubleQuoteItalicTextElement178() } -func (c *current) onSingleQuoteItalicTextElement179() (interface{}, error) { - log.Debug("matched escaped apostrophe") - return types.NewStringElement(strings.TrimSuffix(string(c.text), `\'`) + `'`) // retain the apostrophe, but discard the `\` escape char +func (c *current) onDoubleQuoteItalicTextElement160() (interface{}, error) { + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) } -func (p *parser) callonSingleQuoteItalicTextElement179() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement160() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement179() + return p.cur.onDoubleQuoteItalicTextElement160() } -func (c *current) onSingleQuoteItalicTextElement185() (interface{}, error) { - return types.NewSymbolWithForeword("'", strings.TrimSuffix(string(c.text), `'`)) +func (c *current) onDoubleQuoteItalicTextElement180() (interface{}, error) { + return types.NewSymbol("\"`") } -func (p *parser) callonSingleQuoteItalicTextElement185() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement180() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement185() -} - -func (c *current) onSingleQuoteItalicTextElement197() (interface{}, error) { - return string(c.text), nil + return p.cur.onDoubleQuoteItalicTextElement180() } -func (p *parser) callonSingleQuoteItalicTextElement197() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onSingleQuoteItalicTextElement197() -} +func (c *current) onDoubleQuoteItalicTextElement182() (interface{}, error) { + return types.NewSymbol("`\"") -func (c *current) onSingleQuoteItalicTextElement193(ref interface{}) (interface{}, error) { - return types.NewElementPlaceHolder(ref.(string)) } -func (p *parser) callonSingleQuoteItalicTextElement193() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement182() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement193(stack["ref"]) + return p.cur.onDoubleQuoteItalicTextElement182() } -func (c *current) onSingleQuoteItalicTextElement205() (interface{}, error) { - return string(c.text), nil +func (c *current) onDoubleQuoteItalicTextElement184() (interface{}, error) { + return types.NewSymbol("'`") } -func (p *parser) callonSingleQuoteItalicTextElement205() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement184() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement205() + return p.cur.onDoubleQuoteItalicTextElement184() } -func (c *current) onSingleQuoteItalicTextElement202() (interface{}, error) { - // or an italic delimiter when immediately followed by an alphanum (ie, in the middle of some text) - return types.NewStringElement(string(c.text)) +func (c *current) onDoubleQuoteItalicTextElement186() (interface{}, error) { + return types.NewSymbol("`'") } -func (p *parser) callonSingleQuoteItalicTextElement202() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement186() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement202() + return p.cur.onDoubleQuoteItalicTextElement186() } -func (c *current) onQuotedTextInSingleQuoteItalicText2(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onDoubleQuoteItalicTextElement188() (interface{}, error) { + return types.NewSymbol("(C)") } -func (p *parser) callonQuotedTextInSingleQuoteItalicText2() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement188() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onQuotedTextInSingleQuoteItalicText2(stack["element"]) + return p.cur.onDoubleQuoteItalicTextElement188() } -func (c *current) onQuotedTextInSingleQuoteItalicText13(attributes, text interface{}) (interface{}, error) { - return text.(*types.QuotedText).WithAttributes(attributes) +func (c *current) onDoubleQuoteItalicTextElement190() (interface{}, error) { + return types.NewSymbol("(TM)") } -func (p *parser) callonQuotedTextInSingleQuoteItalicText13() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement190() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onQuotedTextInSingleQuoteItalicText13(stack["attributes"], stack["text"]) + return p.cur.onDoubleQuoteItalicTextElement190() } -func (c *current) onEscapedItalicText5() (interface{}, error) { - return string(c.text), nil +func (c *current) onDoubleQuoteItalicTextElement192() (interface{}, error) { + return types.NewSymbol("(R)") } -func (p *parser) callonEscapedItalicText5() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement192() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onEscapedItalicText5() + return p.cur.onDoubleQuoteItalicTextElement192() } -func (c *current) onEscapedItalicText2(backslashes, elements interface{}) (interface{}, error) { - return types.NewEscapedQuotedText(backslashes.(string), "__", elements.([]interface{})) +func (c *current) onDoubleQuoteItalicTextElement194() (interface{}, error) { + return types.NewSymbol("...") } -func (p *parser) callonEscapedItalicText2() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement194() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onEscapedItalicText2(stack["backslashes"], stack["elements"]) + return p.cur.onDoubleQuoteItalicTextElement194() } -func (c *current) onEscapedItalicText17() (interface{}, error) { - return string(c.text), nil +func (c *current) onDoubleQuoteItalicTextElement196() (interface{}, error) { + log.Debug("matched escaped apostrophe") + return types.NewStringElement(strings.TrimSuffix(string(c.text), `\'`) + `'`) // retain the apostrophe, but discard the `\` escape char } -func (p *parser) callonEscapedItalicText17() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement196() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onEscapedItalicText17() + return p.cur.onDoubleQuoteItalicTextElement196() } -func (c *current) onEscapedItalicText14(backslashes, elements interface{}) (interface{}, error) { - // unbalanced `__` vs `_` punctuation - result := append([]interface{}{"_"}, elements.([]interface{})) - return types.NewEscapedQuotedText(backslashes.(string), "_", result) +func (c *current) onDoubleQuoteItalicTextElement202() (interface{}, error) { + return types.NewSymbolWithForeword("'", strings.TrimSuffix(string(c.text), `'`)) } -func (p *parser) callonEscapedItalicText14() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement202() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onEscapedItalicText14(stack["backslashes"], stack["elements"]) + return p.cur.onDoubleQuoteItalicTextElement202() } -func (c *current) onEscapedItalicText27() (interface{}, error) { +func (c *current) onDoubleQuoteItalicTextElement213() (interface{}, error) { return string(c.text), nil - -} - -func (p *parser) callonEscapedItalicText27() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onEscapedItalicText27() -} - -func (c *current) onEscapedItalicText24(backslashes, elements interface{}) (interface{}, error) { - // simple punctuation must be evaluated last - return types.NewEscapedQuotedText(backslashes.(string), "_", elements.([]interface{})) - } -func (p *parser) callonEscapedItalicText24() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement213() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onEscapedItalicText24(stack["backslashes"], stack["elements"]) + return p.cur.onDoubleQuoteItalicTextElement213() } -func (c *current) onDoubleQuoteMonospaceText1(elements interface{}) (interface{}, error) { - - return types.NewQuotedText(types.DoubleQuoteMonospace, elements.([]interface{})) - +func (c *current) onDoubleQuoteItalicTextElement209(ref interface{}) (interface{}, error) { + return types.NewElementPlaceHolder(ref.(string)) } -func (p *parser) callonDoubleQuoteMonospaceText1() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement209() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceText1(stack["elements"]) + return p.cur.onDoubleQuoteItalicTextElement209(stack["ref"]) } -func (c *current) onDoubleQuoteMonospaceTextElement13() (interface{}, error) { +func (c *current) onDoubleQuoteItalicTextElement221() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDoubleQuoteMonospaceTextElement13() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement221() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement13() + return p.cur.onDoubleQuoteItalicTextElement221() } -func (c *current) onDoubleQuoteMonospaceTextElement7() (interface{}, error) { +func (c *current) onDoubleQuoteItalicTextElement218() (interface{}, error) { + // or a italic delimiter when immediately followed by an alphanum (ie, in the middle of some text) return types.NewStringElement(string(c.text)) } -func (p *parser) callonDoubleQuoteMonospaceTextElement7() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement218() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement7() + return p.cur.onDoubleQuoteItalicTextElement218() } -func (c *current) onDoubleQuoteMonospaceTextElement16() (interface{}, error) { - // log.Debug("matched multiple spaces") - return string(c.text), nil +func (c *current) onDoubleQuoteItalicTextElement1(element interface{}) (interface{}, error) { + return element, nil } -func (p *parser) callonDoubleQuoteMonospaceTextElement16() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement16() + return p.cur.onDoubleQuoteItalicTextElement1(stack["element"]) } -func (c *current) onDoubleQuoteMonospaceTextElement20() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onQuotedTextInDoubleQuoteItalicText2(element interface{}) (interface{}, error) { + return element, nil + } -func (p *parser) callonDoubleQuoteMonospaceTextElement20() (interface{}, error) { +func (p *parser) callonQuotedTextInDoubleQuoteItalicText2() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement20() + return p.cur.onQuotedTextInDoubleQuoteItalicText2(stack["element"]) } -func (c *current) onDoubleQuoteMonospaceTextElement26() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onQuotedTextInDoubleQuoteItalicText13(attributes, text interface{}) (interface{}, error) { + return text.(*types.QuotedText).WithAttributes(attributes) + } -func (p *parser) callonDoubleQuoteMonospaceTextElement26() (interface{}, error) { +func (p *parser) callonQuotedTextInDoubleQuoteItalicText13() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement26() + return p.cur.onQuotedTextInDoubleQuoteItalicText13(stack["attributes"], stack["text"]) } -func (c *current) onDoubleQuoteMonospaceTextElement33() (bool, error) { - return c.isSubstitutionEnabled(Attributes), nil +func (c *current) onSingleQuoteItalicText1(elements interface{}) (interface{}, error) { + + return types.NewQuotedText(types.SingleQuoteItalic, elements.([]interface{})) } -func (p *parser) callonDoubleQuoteMonospaceTextElement33() (bool, error) { +func (p *parser) callonSingleQuoteItalicText1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement33() + return p.cur.onSingleQuoteItalicText1(stack["elements"]) } -func (c *current) onDoubleQuoteMonospaceTextElement40() (interface{}, error) { +func (c *current) onSingleQuoteItalicTextElements7() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDoubleQuoteMonospaceTextElement40() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElements7() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement40() + return p.cur.onSingleQuoteItalicTextElements7() } -func (c *current) onDoubleQuoteMonospaceTextElement52() (interface{}, error) { - return string(c.text), nil +func (c *current) onSingleQuoteItalicTextElements12(elements interface{}) (bool, error) { + return validateSingleQuoteElements(elements.([]interface{})) // cannot end with spaces } -func (p *parser) callonDoubleQuoteMonospaceTextElement52() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElements12() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement52() + return p.cur.onSingleQuoteItalicTextElements12(stack["elements"]) } -func (c *current) onDoubleQuoteMonospaceTextElement54() (interface{}, error) { - - return strconv.Atoi(string(c.text)) +func (c *current) onSingleQuoteItalicTextElements1(elements interface{}) (interface{}, error) { + return elements, nil } -func (p *parser) callonDoubleQuoteMonospaceTextElement54() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElements1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement54() + return p.cur.onSingleQuoteItalicTextElements1(stack["elements"]) } -func (c *current) onDoubleQuoteMonospaceTextElement47(start interface{}) (interface{}, error) { - return start, nil +func (c *current) onSingleQuoteItalicTextElement8() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDoubleQuoteMonospaceTextElement47() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement8() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement47(stack["start"]) + return p.cur.onSingleQuoteItalicTextElement8() } -func (c *current) onDoubleQuoteMonospaceTextElement36(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) +func (c *current) onSingleQuoteItalicTextElement2() (interface{}, error) { + return types.NewStringElement(string(c.text)) + } -func (p *parser) callonDoubleQuoteMonospaceTextElement36() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement2() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement36(stack["name"], stack["start"]) + return p.cur.onSingleQuoteItalicTextElement2() } -func (c *current) onDoubleQuoteMonospaceTextElement62() (interface{}, error) { +func (c *current) onSingleQuoteItalicTextElement11() (interface{}, error) { + // log.Debug("matched multiple spaces") return string(c.text), nil } -func (p *parser) callonDoubleQuoteMonospaceTextElement62() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement11() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement62() + return p.cur.onSingleQuoteItalicTextElement11() } -func (c *current) onDoubleQuoteMonospaceTextElement74() (interface{}, error) { +func (c *current) onSingleQuoteItalicTextElement15() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonDoubleQuoteMonospaceTextElement74() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement15() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement74() + return p.cur.onSingleQuoteItalicTextElement15() } -func (c *current) onDoubleQuoteMonospaceTextElement76() (interface{}, error) { - - return strconv.Atoi(string(c.text)) - +func (c *current) onSingleQuoteItalicTextElement21() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonDoubleQuoteMonospaceTextElement76() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement21() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement76() + return p.cur.onSingleQuoteItalicTextElement21() } -func (c *current) onDoubleQuoteMonospaceTextElement69(start interface{}) (interface{}, error) { - return start, nil +func (c *current) onSingleQuoteItalicTextElement28() (bool, error) { + return c.isSubstitutionEnabled(Attributes), nil } -func (p *parser) callonDoubleQuoteMonospaceTextElement69() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement28() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement69(stack["start"]) + return p.cur.onSingleQuoteItalicTextElement28() } -func (c *current) onDoubleQuoteMonospaceTextElement58(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) +func (c *current) onSingleQuoteItalicTextElement35() (interface{}, error) { + return string(c.text), nil + } -func (p *parser) callonDoubleQuoteMonospaceTextElement58() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement35() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement58(stack["name"], stack["start"]) + return p.cur.onSingleQuoteItalicTextElement35() } -func (c *current) onDoubleQuoteMonospaceTextElement84() (interface{}, error) { +func (c *current) onSingleQuoteItalicTextElement47() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDoubleQuoteMonospaceTextElement84() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement47() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement84() + return p.cur.onSingleQuoteItalicTextElement47() } -func (c *current) onDoubleQuoteMonospaceTextElement80(name interface{}) (interface{}, error) { +func (c *current) onSingleQuoteItalicTextElement49() (interface{}, error) { - log.Debug("matching escaped attribute reference") - // return types.NewStringElement("{"+name.(string)+"}") - return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) + return strconv.Atoi(string(c.text)) } -func (p *parser) callonDoubleQuoteMonospaceTextElement80() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement49() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement80(stack["name"]) + return p.cur.onSingleQuoteItalicTextElement49() } -func (c *current) onDoubleQuoteMonospaceTextElement94() (interface{}, error) { - return string(c.text), nil +func (c *current) onSingleQuoteItalicTextElement42(start interface{}) (interface{}, error) { + return start, nil } -func (p *parser) callonDoubleQuoteMonospaceTextElement94() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement42() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement94() -} - -func (c *current) onDoubleQuoteMonospaceTextElement90(name interface{}) (interface{}, error) { - - return types.NewAttributeSubstitution(name.(string), string(c.text)) + return p.cur.onSingleQuoteItalicTextElement42(stack["start"]) +} +func (c *current) onSingleQuoteItalicTextElement31(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) } -func (p *parser) callonDoubleQuoteMonospaceTextElement90() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement31() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement90(stack["name"]) + return p.cur.onSingleQuoteItalicTextElement31(stack["name"], stack["start"]) } -func (c *current) onDoubleQuoteMonospaceTextElement31(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onSingleQuoteItalicTextElement57() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDoubleQuoteMonospaceTextElement31() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement57() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement31(stack["element"]) + return p.cur.onSingleQuoteItalicTextElement57() } -func (c *current) onDoubleQuoteMonospaceTextElement103() (bool, error) { - return c.isSubstitutionEnabled(SpecialCharacters), nil +func (c *current) onSingleQuoteItalicTextElement69() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDoubleQuoteMonospaceTextElement103() (bool, error) { +func (p *parser) callonSingleQuoteItalicTextElement69() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement103() + return p.cur.onSingleQuoteItalicTextElement69() } -func (c *current) onDoubleQuoteMonospaceTextElement112() (interface{}, error) { - // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ - return string(c.text), nil +func (c *current) onSingleQuoteItalicTextElement71() (interface{}, error) { + + return strconv.Atoi(string(c.text)) } -func (p *parser) callonDoubleQuoteMonospaceTextElement112() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement71() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement112() + return p.cur.onSingleQuoteItalicTextElement71() } -func (c *current) onDoubleQuoteMonospaceTextElement116() (interface{}, error) { - return string(c.text), nil +func (c *current) onSingleQuoteItalicTextElement64(start interface{}) (interface{}, error) { + return start, nil } -func (p *parser) callonDoubleQuoteMonospaceTextElement116() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement64() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement116() + return p.cur.onSingleQuoteItalicTextElement64(stack["start"]) } -func (c *current) onDoubleQuoteMonospaceTextElement122() (interface{}, error) { - // `{`, `>` and `>` characters are not allowed as they are used for attribute substitutions and cross-references - return types.NewStringElement(string(c.text)) - +func (c *current) onSingleQuoteItalicTextElement53(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) } -func (p *parser) callonDoubleQuoteMonospaceTextElement122() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement53() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement122() + return p.cur.onSingleQuoteItalicTextElement53(stack["name"], stack["start"]) } -func (c *current) onDoubleQuoteMonospaceTextElement131() (interface{}, error) { +func (c *current) onSingleQuoteItalicTextElement79() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDoubleQuoteMonospaceTextElement131() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement79() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement131() + return p.cur.onSingleQuoteItalicTextElement79() } -func (c *current) onDoubleQuoteMonospaceTextElement127(name interface{}) (interface{}, error) { +func (c *current) onSingleQuoteItalicTextElement75(name interface{}) (interface{}, error) { log.Debug("matching escaped attribute reference") // return types.NewStringElement("{"+name.(string)+"}") @@ -96653,3713 +94695,3662 @@ func (c *current) onDoubleQuoteMonospaceTextElement127(name interface{}) (interf } -func (p *parser) callonDoubleQuoteMonospaceTextElement127() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement75() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement127(stack["name"]) + return p.cur.onSingleQuoteItalicTextElement75(stack["name"]) } -func (c *current) onDoubleQuoteMonospaceTextElement141() (interface{}, error) { +func (c *current) onSingleQuoteItalicTextElement89() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDoubleQuoteMonospaceTextElement141() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement89() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement141() + return p.cur.onSingleQuoteItalicTextElement89() } -func (c *current) onDoubleQuoteMonospaceTextElement137(name interface{}) (interface{}, error) { +func (c *current) onSingleQuoteItalicTextElement85(name interface{}) (interface{}, error) { return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonDoubleQuoteMonospaceTextElement137() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement85() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement137(stack["name"]) + return p.cur.onSingleQuoteItalicTextElement85(stack["name"]) } -func (c *current) onDoubleQuoteMonospaceTextElement147() (interface{}, error) { - - return types.NewStringElement(string(c.text)) +func (c *current) onSingleQuoteItalicTextElement26(element interface{}) (interface{}, error) { + return element, nil } -func (p *parser) callonDoubleQuoteMonospaceTextElement147() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement26() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement147() + return p.cur.onSingleQuoteItalicTextElement26(stack["element"]) } -func (c *current) onDoubleQuoteMonospaceTextElement108(id, label interface{}) (interface{}, error) { - return types.NewInternalCrossReference(id, label) +func (c *current) onSingleQuoteItalicTextElement98() (bool, error) { + return c.isSubstitutionEnabled(SpecialCharacters), nil } -func (p *parser) callonDoubleQuoteMonospaceTextElement108() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement98() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement108(stack["id"], stack["label"]) + return p.cur.onSingleQuoteItalicTextElement98() } -func (c *current) onDoubleQuoteMonospaceTextElement154() (interface{}, error) { +func (c *current) onSingleQuoteItalicTextElement107() (interface{}, error) { // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ return string(c.text), nil } -func (p *parser) callonDoubleQuoteMonospaceTextElement154() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement107() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement154() + return p.cur.onSingleQuoteItalicTextElement107() } -func (c *current) onDoubleQuoteMonospaceTextElement150(id interface{}) (interface{}, error) { - return types.NewInternalCrossReference(id, nil) +func (c *current) onSingleQuoteItalicTextElement111() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDoubleQuoteMonospaceTextElement150() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement111() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement150(stack["id"]) + return p.cur.onSingleQuoteItalicTextElement111() } -func (c *current) onDoubleQuoteMonospaceTextElement106() (interface{}, error) { +func (c *current) onSingleQuoteItalicTextElement117() (interface{}, error) { + // `{`, `>` and `>` characters are not allowed as they are used for attribute substitutions and cross-references return types.NewStringElement(string(c.text)) } -func (p *parser) callonDoubleQuoteMonospaceTextElement106() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement117() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement106() + return p.cur.onSingleQuoteItalicTextElement117() } -func (c *current) onDoubleQuoteMonospaceTextElement158() (interface{}, error) { - return types.NewSpecialCharacter(string(c.text)) +func (c *current) onSingleQuoteItalicTextElement126() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDoubleQuoteMonospaceTextElement158() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement126() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement158() + return p.cur.onSingleQuoteItalicTextElement126() } -func (c *current) onDoubleQuoteMonospaceTextElement101(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onSingleQuoteItalicTextElement122(name interface{}) (interface{}, error) { + + log.Debug("matching escaped attribute reference") + // return types.NewStringElement("{"+name.(string)+"}") + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) } -func (p *parser) callonDoubleQuoteMonospaceTextElement101() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement122() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement101(stack["element"]) + return p.cur.onSingleQuoteItalicTextElement122(stack["name"]) } -func (c *current) onDoubleQuoteMonospaceTextElement164() (interface{}, error) { - return types.NewSymbol("`'") +func (c *current) onSingleQuoteItalicTextElement136() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDoubleQuoteMonospaceTextElement164() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement136() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement164() + return p.cur.onSingleQuoteItalicTextElement136() } -func (c *current) onDoubleQuoteMonospaceTextElement166() (interface{}, error) { - return types.NewSymbol("(C)") +func (c *current) onSingleQuoteItalicTextElement132(name interface{}) (interface{}, error) { + + return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonDoubleQuoteMonospaceTextElement166() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement132() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement166() + return p.cur.onSingleQuoteItalicTextElement132(stack["name"]) } -func (c *current) onDoubleQuoteMonospaceTextElement168() (interface{}, error) { - return types.NewSymbol("(TM)") +func (c *current) onSingleQuoteItalicTextElement142() (interface{}, error) { + + return types.NewStringElement(string(c.text)) } -func (p *parser) callonDoubleQuoteMonospaceTextElement168() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement142() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement168() + return p.cur.onSingleQuoteItalicTextElement142() } -func (c *current) onDoubleQuoteMonospaceTextElement170() (interface{}, error) { - return types.NewSymbol("(R)") +func (c *current) onSingleQuoteItalicTextElement103(id, label interface{}) (interface{}, error) { + return types.NewInternalCrossReference(id, label) } -func (p *parser) callonDoubleQuoteMonospaceTextElement170() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement103() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement170() + return p.cur.onSingleQuoteItalicTextElement103(stack["id"], stack["label"]) } -func (c *current) onDoubleQuoteMonospaceTextElement172() (interface{}, error) { - return types.NewSymbol("...") +func (c *current) onSingleQuoteItalicTextElement149() (interface{}, error) { + // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ + return string(c.text), nil } -func (p *parser) callonDoubleQuoteMonospaceTextElement172() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement149() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement172() + return p.cur.onSingleQuoteItalicTextElement149() } -func (c *current) onDoubleQuoteMonospaceTextElement160() (interface{}, error) { - return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) +func (c *current) onSingleQuoteItalicTextElement145(id interface{}) (interface{}, error) { + return types.NewInternalCrossReference(id, nil) } -func (p *parser) callonDoubleQuoteMonospaceTextElement160() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement145() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement160() + return p.cur.onSingleQuoteItalicTextElement145(stack["id"]) } -func (c *current) onDoubleQuoteMonospaceTextElement174() (interface{}, error) { - return types.NewSymbol("`'") +func (c *current) onSingleQuoteItalicTextElement101() (interface{}, error) { + return types.NewStringElement(string(c.text)) } -func (p *parser) callonDoubleQuoteMonospaceTextElement174() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement101() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement174() + return p.cur.onSingleQuoteItalicTextElement101() } -func (c *current) onDoubleQuoteMonospaceTextElement176() (interface{}, error) { - return types.NewSymbol("(C)") +func (c *current) onSingleQuoteItalicTextElement153() (interface{}, error) { + return types.NewSpecialCharacter(string(c.text)) } -func (p *parser) callonDoubleQuoteMonospaceTextElement176() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement153() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement176() + return p.cur.onSingleQuoteItalicTextElement153() } -func (c *current) onDoubleQuoteMonospaceTextElement178() (interface{}, error) { - return types.NewSymbol("(TM)") +func (c *current) onSingleQuoteItalicTextElement96(element interface{}) (interface{}, error) { + return element, nil } -func (p *parser) callonDoubleQuoteMonospaceTextElement178() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement96() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement178() + return p.cur.onSingleQuoteItalicTextElement96(stack["element"]) } -func (c *current) onDoubleQuoteMonospaceTextElement180() (interface{}, error) { - return types.NewSymbol("(R)") +func (c *current) onSingleQuoteItalicTextElement159() (interface{}, error) { + return types.NewSymbol("\"`") } -func (p *parser) callonDoubleQuoteMonospaceTextElement180() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement159() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement180() + return p.cur.onSingleQuoteItalicTextElement159() } -func (c *current) onDoubleQuoteMonospaceTextElement182() (interface{}, error) { - return types.NewSymbol("...") +func (c *current) onSingleQuoteItalicTextElement161() (interface{}, error) { + return types.NewSymbol("`\"") } -func (p *parser) callonDoubleQuoteMonospaceTextElement182() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement161() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement182() + return p.cur.onSingleQuoteItalicTextElement161() } -func (c *current) onDoubleQuoteMonospaceTextElement184() (interface{}, error) { - log.Debug("matched escaped apostrophe") - return types.NewStringElement(strings.TrimSuffix(string(c.text), `\'`) + `'`) // retain the apostrophe, but discard the `\` escape char +func (c *current) onSingleQuoteItalicTextElement163() (interface{}, error) { + return types.NewSymbol("'`") } -func (p *parser) callonDoubleQuoteMonospaceTextElement184() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement163() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement184() + return p.cur.onSingleQuoteItalicTextElement163() } -func (c *current) onDoubleQuoteMonospaceTextElement190() (interface{}, error) { - return types.NewSymbolWithForeword("'", strings.TrimSuffix(string(c.text), `'`)) +func (c *current) onSingleQuoteItalicTextElement165() (interface{}, error) { + return types.NewSymbol("`'") } -func (p *parser) callonDoubleQuoteMonospaceTextElement190() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement165() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement190() -} - -func (c *current) onDoubleQuoteMonospaceTextElement203() (interface{}, error) { - return string(c.text), nil + return p.cur.onSingleQuoteItalicTextElement165() } -func (p *parser) callonDoubleQuoteMonospaceTextElement203() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement203() -} +func (c *current) onSingleQuoteItalicTextElement167() (interface{}, error) { + return types.NewSymbol("(C)") -func (c *current) onDoubleQuoteMonospaceTextElement199(ref interface{}) (interface{}, error) { - return types.NewElementPlaceHolder(ref.(string)) } -func (p *parser) callonDoubleQuoteMonospaceTextElement199() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement167() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement199(stack["ref"]) + return p.cur.onSingleQuoteItalicTextElement167() } -func (c *current) onDoubleQuoteMonospaceTextElement211() (interface{}, error) { - return string(c.text), nil +func (c *current) onSingleQuoteItalicTextElement169() (interface{}, error) { + return types.NewSymbol("(TM)") } -func (p *parser) callonDoubleQuoteMonospaceTextElement211() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement169() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement211() + return p.cur.onSingleQuoteItalicTextElement169() } -func (c *current) onDoubleQuoteMonospaceTextElement208() (interface{}, error) { - // ` or a monospace delimiter when immediately followed by an alphanum (ie, in the middle of some text) - return types.NewStringElement(string(c.text)) +func (c *current) onSingleQuoteItalicTextElement171() (interface{}, error) { + return types.NewSymbol("(R)") } -func (p *parser) callonDoubleQuoteMonospaceTextElement208() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement171() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement208() + return p.cur.onSingleQuoteItalicTextElement171() } -func (c *current) onDoubleQuoteMonospaceTextElement1(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onSingleQuoteItalicTextElement173() (interface{}, error) { + return types.NewSymbol("...") } -func (p *parser) callonDoubleQuoteMonospaceTextElement1() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement173() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement1(stack["element"]) + return p.cur.onSingleQuoteItalicTextElement173() } -func (c *current) onQuotedTextInDoubleQuoteMonospaceText2(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onSingleQuoteItalicTextElement155() (interface{}, error) { + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) } -func (p *parser) callonQuotedTextInDoubleQuoteMonospaceText2() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement155() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onQuotedTextInDoubleQuoteMonospaceText2(stack["element"]) + return p.cur.onSingleQuoteItalicTextElement155() } -func (c *current) onQuotedTextInDoubleQuoteMonospaceText13(attributes, text interface{}) (interface{}, error) { - return text.(*types.QuotedText).WithAttributes(attributes) +func (c *current) onSingleQuoteItalicTextElement175() (interface{}, error) { + return types.NewSymbol("\"`") } -func (p *parser) callonQuotedTextInDoubleQuoteMonospaceText13() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement175() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onQuotedTextInDoubleQuoteMonospaceText13(stack["attributes"], stack["text"]) + return p.cur.onSingleQuoteItalicTextElement175() } -func (c *current) onSingleQuoteMonospaceText1(elements interface{}) (interface{}, error) { - - return types.NewQuotedText(types.SingleQuoteMonospace, elements.([]interface{})) +func (c *current) onSingleQuoteItalicTextElement177() (interface{}, error) { + return types.NewSymbol("`\"") } -func (p *parser) callonSingleQuoteMonospaceText1() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement177() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceText1(stack["elements"]) + return p.cur.onSingleQuoteItalicTextElement177() } -func (c *current) onSingleQuoteMonospaceTextElements7() (interface{}, error) { - return string(c.text), nil +func (c *current) onSingleQuoteItalicTextElement179() (interface{}, error) { + return types.NewSymbol("'`") } -func (p *parser) callonSingleQuoteMonospaceTextElements7() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement179() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElements7() + return p.cur.onSingleQuoteItalicTextElement179() } -func (c *current) onSingleQuoteMonospaceTextElements12(elements interface{}) (bool, error) { - return validateSingleQuoteElements(elements.([]interface{})) // cannot end with spaces +func (c *current) onSingleQuoteItalicTextElement181() (interface{}, error) { + return types.NewSymbol("`'") } -func (p *parser) callonSingleQuoteMonospaceTextElements12() (bool, error) { +func (p *parser) callonSingleQuoteItalicTextElement181() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElements12(stack["elements"]) + return p.cur.onSingleQuoteItalicTextElement181() } -func (c *current) onSingleQuoteMonospaceTextElements1(elements interface{}) (interface{}, error) { - return elements, nil +func (c *current) onSingleQuoteItalicTextElement183() (interface{}, error) { + return types.NewSymbol("(C)") } -func (p *parser) callonSingleQuoteMonospaceTextElements1() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement183() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElements1(stack["elements"]) + return p.cur.onSingleQuoteItalicTextElement183() } -func (c *current) onSingleQuoteMonospaceTextElement2() (interface{}, error) { - return types.NewStringElement(string(c.text)) +func (c *current) onSingleQuoteItalicTextElement185() (interface{}, error) { + return types.NewSymbol("(TM)") } -func (p *parser) callonSingleQuoteMonospaceTextElement2() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement185() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement2() + return p.cur.onSingleQuoteItalicTextElement185() } -func (c *current) onSingleQuoteMonospaceTextElement11() (interface{}, error) { - // allow ` - return types.NewStringElement(string(c.text)) +func (c *current) onSingleQuoteItalicTextElement187() (interface{}, error) { + return types.NewSymbol("(R)") } -func (p *parser) callonSingleQuoteMonospaceTextElement11() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement187() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement11() + return p.cur.onSingleQuoteItalicTextElement187() } -func (c *current) onSingleQuoteMonospaceTextElement20() (interface{}, error) { - // log.Debug("matched multiple spaces") - return string(c.text), nil +func (c *current) onSingleQuoteItalicTextElement189() (interface{}, error) { + return types.NewSymbol("...") } -func (p *parser) callonSingleQuoteMonospaceTextElement20() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement189() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement20() + return p.cur.onSingleQuoteItalicTextElement189() } -func (c *current) onSingleQuoteMonospaceTextElement24() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil -} - -func (p *parser) callonSingleQuoteMonospaceTextElement24() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onSingleQuoteMonospaceTextElement24() -} +func (c *current) onSingleQuoteItalicTextElement191() (interface{}, error) { + log.Debug("matched escaped apostrophe") + return types.NewStringElement(strings.TrimSuffix(string(c.text), `\'`) + `'`) // retain the apostrophe, but discard the `\` escape char -func (c *current) onSingleQuoteMonospaceTextElement30() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil } -func (p *parser) callonSingleQuoteMonospaceTextElement30() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement191() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement30() + return p.cur.onSingleQuoteItalicTextElement191() } -func (c *current) onSingleQuoteMonospaceTextElement37() (bool, error) { - return c.isSubstitutionEnabled(Attributes), nil +func (c *current) onSingleQuoteItalicTextElement197() (interface{}, error) { + return types.NewSymbolWithForeword("'", strings.TrimSuffix(string(c.text), `'`)) } -func (p *parser) callonSingleQuoteMonospaceTextElement37() (bool, error) { +func (p *parser) callonSingleQuoteItalicTextElement197() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement37() + return p.cur.onSingleQuoteItalicTextElement197() } -func (c *current) onSingleQuoteMonospaceTextElement44() (interface{}, error) { +func (c *current) onSingleQuoteItalicTextElement208() (interface{}, error) { return string(c.text), nil - } -func (p *parser) callonSingleQuoteMonospaceTextElement44() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement208() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement44() + return p.cur.onSingleQuoteItalicTextElement208() } -func (c *current) onSingleQuoteMonospaceTextElement56() (interface{}, error) { - return string(c.text), nil - +func (c *current) onSingleQuoteItalicTextElement204(ref interface{}) (interface{}, error) { + return types.NewElementPlaceHolder(ref.(string)) } -func (p *parser) callonSingleQuoteMonospaceTextElement56() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement204() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement56() + return p.cur.onSingleQuoteItalicTextElement204(stack["ref"]) } -func (c *current) onSingleQuoteMonospaceTextElement58() (interface{}, error) { - - return strconv.Atoi(string(c.text)) +func (c *current) onSingleQuoteItalicTextElement216() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonSingleQuoteMonospaceTextElement58() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement216() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement58() + return p.cur.onSingleQuoteItalicTextElement216() } -func (c *current) onSingleQuoteMonospaceTextElement51(start interface{}) (interface{}, error) { - return start, nil +func (c *current) onSingleQuoteItalicTextElement213() (interface{}, error) { + // or an italic delimiter when immediately followed by an alphanum (ie, in the middle of some text) + return types.NewStringElement(string(c.text)) } -func (p *parser) callonSingleQuoteMonospaceTextElement51() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement213() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement51(stack["start"]) + return p.cur.onSingleQuoteItalicTextElement213() } -func (c *current) onSingleQuoteMonospaceTextElement40(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) +func (c *current) onQuotedTextInSingleQuoteItalicText2(element interface{}) (interface{}, error) { + return element, nil + } -func (p *parser) callonSingleQuoteMonospaceTextElement40() (interface{}, error) { +func (p *parser) callonQuotedTextInSingleQuoteItalicText2() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement40(stack["name"], stack["start"]) + return p.cur.onQuotedTextInSingleQuoteItalicText2(stack["element"]) } -func (c *current) onSingleQuoteMonospaceTextElement66() (interface{}, error) { - return string(c.text), nil +func (c *current) onQuotedTextInSingleQuoteItalicText13(attributes, text interface{}) (interface{}, error) { + return text.(*types.QuotedText).WithAttributes(attributes) } -func (p *parser) callonSingleQuoteMonospaceTextElement66() (interface{}, error) { +func (p *parser) callonQuotedTextInSingleQuoteItalicText13() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement66() + return p.cur.onQuotedTextInSingleQuoteItalicText13(stack["attributes"], stack["text"]) } -func (c *current) onSingleQuoteMonospaceTextElement78() (interface{}, error) { +func (c *current) onEscapedItalicText5() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonSingleQuoteMonospaceTextElement78() (interface{}, error) { +func (p *parser) callonEscapedItalicText5() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement78() + return p.cur.onEscapedItalicText5() } -func (c *current) onSingleQuoteMonospaceTextElement80() (interface{}, error) { - - return strconv.Atoi(string(c.text)) +func (c *current) onEscapedItalicText2(backslashes, elements interface{}) (interface{}, error) { + return types.NewEscapedQuotedText(backslashes.(string), "__", elements.([]interface{})) } -func (p *parser) callonSingleQuoteMonospaceTextElement80() (interface{}, error) { +func (p *parser) callonEscapedItalicText2() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement80() -} - -func (c *current) onSingleQuoteMonospaceTextElement73(start interface{}) (interface{}, error) { - return start, nil - + return p.cur.onEscapedItalicText2(stack["backslashes"], stack["elements"]) } -func (p *parser) callonSingleQuoteMonospaceTextElement73() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onSingleQuoteMonospaceTextElement73(stack["start"]) -} +func (c *current) onEscapedItalicText17() (interface{}, error) { + return string(c.text), nil -func (c *current) onSingleQuoteMonospaceTextElement62(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) } -func (p *parser) callonSingleQuoteMonospaceTextElement62() (interface{}, error) { +func (p *parser) callonEscapedItalicText17() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement62(stack["name"], stack["start"]) + return p.cur.onEscapedItalicText17() } -func (c *current) onSingleQuoteMonospaceTextElement88() (interface{}, error) { - return string(c.text), nil +func (c *current) onEscapedItalicText14(backslashes, elements interface{}) (interface{}, error) { + // unbalanced `__` vs `_` punctuation + result := append([]interface{}{"_"}, elements.([]interface{})) + return types.NewEscapedQuotedText(backslashes.(string), "_", result) } -func (p *parser) callonSingleQuoteMonospaceTextElement88() (interface{}, error) { +func (p *parser) callonEscapedItalicText14() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement88() + return p.cur.onEscapedItalicText14(stack["backslashes"], stack["elements"]) } -func (c *current) onSingleQuoteMonospaceTextElement84(name interface{}) (interface{}, error) { - - log.Debug("matching escaped attribute reference") - // return types.NewStringElement("{"+name.(string)+"}") - return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) +func (c *current) onEscapedItalicText27() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonSingleQuoteMonospaceTextElement84() (interface{}, error) { +func (p *parser) callonEscapedItalicText27() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement84(stack["name"]) + return p.cur.onEscapedItalicText27() } -func (c *current) onSingleQuoteMonospaceTextElement98() (interface{}, error) { - return string(c.text), nil +func (c *current) onEscapedItalicText24(backslashes, elements interface{}) (interface{}, error) { + // simple punctuation must be evaluated last + return types.NewEscapedQuotedText(backslashes.(string), "_", elements.([]interface{})) } -func (p *parser) callonSingleQuoteMonospaceTextElement98() (interface{}, error) { +func (p *parser) callonEscapedItalicText24() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement98() + return p.cur.onEscapedItalicText24(stack["backslashes"], stack["elements"]) } -func (c *current) onSingleQuoteMonospaceTextElement94(name interface{}) (interface{}, error) { +func (c *current) onDoubleQuoteMonospaceText1(elements interface{}) (interface{}, error) { - return types.NewAttributeSubstitution(name.(string), string(c.text)) + return types.NewQuotedText(types.DoubleQuoteMonospace, elements.([]interface{})) } -func (p *parser) callonSingleQuoteMonospaceTextElement94() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceText1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement94(stack["name"]) + return p.cur.onDoubleQuoteMonospaceText1(stack["elements"]) } -func (c *current) onSingleQuoteMonospaceTextElement35(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onDoubleQuoteMonospaceTextElement13() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonSingleQuoteMonospaceTextElement35() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement13() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement35(stack["element"]) + return p.cur.onDoubleQuoteMonospaceTextElement13() } -func (c *current) onSingleQuoteMonospaceTextElement107() (bool, error) { - return c.isSubstitutionEnabled(SpecialCharacters), nil +func (c *current) onDoubleQuoteMonospaceTextElement7() (interface{}, error) { + return types.NewStringElement(string(c.text)) } -func (p *parser) callonSingleQuoteMonospaceTextElement107() (bool, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement7() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement107() + return p.cur.onDoubleQuoteMonospaceTextElement7() } -func (c *current) onSingleQuoteMonospaceTextElement116() (interface{}, error) { - // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ +func (c *current) onDoubleQuoteMonospaceTextElement16() (interface{}, error) { + // log.Debug("matched multiple spaces") return string(c.text), nil } -func (p *parser) callonSingleQuoteMonospaceTextElement116() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement16() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement116() + return p.cur.onDoubleQuoteMonospaceTextElement16() } -func (c *current) onSingleQuoteMonospaceTextElement120() (interface{}, error) { +func (c *current) onDoubleQuoteMonospaceTextElement20() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonSingleQuoteMonospaceTextElement120() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement20() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement120() + return p.cur.onDoubleQuoteMonospaceTextElement20() } -func (c *current) onSingleQuoteMonospaceTextElement126() (interface{}, error) { - // `{`, `>` and `>` characters are not allowed as they are used for attribute substitutions and cross-references - return types.NewStringElement(string(c.text)) - +func (c *current) onDoubleQuoteMonospaceTextElement26() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonSingleQuoteMonospaceTextElement126() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement26() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement126() + return p.cur.onDoubleQuoteMonospaceTextElement26() } -func (c *current) onSingleQuoteMonospaceTextElement135() (interface{}, error) { - return string(c.text), nil +func (c *current) onDoubleQuoteMonospaceTextElement33() (bool, error) { + return c.isSubstitutionEnabled(Attributes), nil } -func (p *parser) callonSingleQuoteMonospaceTextElement135() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement33() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement135() + return p.cur.onDoubleQuoteMonospaceTextElement33() } -func (c *current) onSingleQuoteMonospaceTextElement131(name interface{}) (interface{}, error) { - - log.Debug("matching escaped attribute reference") - // return types.NewStringElement("{"+name.(string)+"}") - return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) +func (c *current) onDoubleQuoteMonospaceTextElement40() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonSingleQuoteMonospaceTextElement131() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement40() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement131(stack["name"]) + return p.cur.onDoubleQuoteMonospaceTextElement40() } -func (c *current) onSingleQuoteMonospaceTextElement145() (interface{}, error) { +func (c *current) onDoubleQuoteMonospaceTextElement52() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonSingleQuoteMonospaceTextElement145() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement52() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement145() + return p.cur.onDoubleQuoteMonospaceTextElement52() } -func (c *current) onSingleQuoteMonospaceTextElement141(name interface{}) (interface{}, error) { +func (c *current) onDoubleQuoteMonospaceTextElement54() (interface{}, error) { - return types.NewAttributeSubstitution(name.(string), string(c.text)) + return strconv.Atoi(string(c.text)) } -func (p *parser) callonSingleQuoteMonospaceTextElement141() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement54() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement141(stack["name"]) + return p.cur.onDoubleQuoteMonospaceTextElement54() } -func (c *current) onSingleQuoteMonospaceTextElement151() (interface{}, error) { - - return types.NewStringElement(string(c.text)) +func (c *current) onDoubleQuoteMonospaceTextElement47(start interface{}) (interface{}, error) { + return start, nil } -func (p *parser) callonSingleQuoteMonospaceTextElement151() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement47() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement151() + return p.cur.onDoubleQuoteMonospaceTextElement47(stack["start"]) } -func (c *current) onSingleQuoteMonospaceTextElement112(id, label interface{}) (interface{}, error) { - return types.NewInternalCrossReference(id, label) - +func (c *current) onDoubleQuoteMonospaceTextElement36(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) } -func (p *parser) callonSingleQuoteMonospaceTextElement112() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement36() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement112(stack["id"], stack["label"]) + return p.cur.onDoubleQuoteMonospaceTextElement36(stack["name"], stack["start"]) } -func (c *current) onSingleQuoteMonospaceTextElement158() (interface{}, error) { - // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ +func (c *current) onDoubleQuoteMonospaceTextElement62() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonSingleQuoteMonospaceTextElement158() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement62() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement158() + return p.cur.onDoubleQuoteMonospaceTextElement62() } -func (c *current) onSingleQuoteMonospaceTextElement154(id interface{}) (interface{}, error) { - return types.NewInternalCrossReference(id, nil) +func (c *current) onDoubleQuoteMonospaceTextElement74() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonSingleQuoteMonospaceTextElement154() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement74() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement154(stack["id"]) + return p.cur.onDoubleQuoteMonospaceTextElement74() } -func (c *current) onSingleQuoteMonospaceTextElement110() (interface{}, error) { - return types.NewStringElement(string(c.text)) +func (c *current) onDoubleQuoteMonospaceTextElement76() (interface{}, error) { + + return strconv.Atoi(string(c.text)) } -func (p *parser) callonSingleQuoteMonospaceTextElement110() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement76() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement110() + return p.cur.onDoubleQuoteMonospaceTextElement76() } -func (c *current) onSingleQuoteMonospaceTextElement162() (interface{}, error) { - return types.NewSpecialCharacter(string(c.text)) +func (c *current) onDoubleQuoteMonospaceTextElement69(start interface{}) (interface{}, error) { + return start, nil } -func (p *parser) callonSingleQuoteMonospaceTextElement162() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement69() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement162() + return p.cur.onDoubleQuoteMonospaceTextElement69(stack["start"]) } -func (c *current) onSingleQuoteMonospaceTextElement105(element interface{}) (interface{}, error) { - return element, nil - +func (c *current) onDoubleQuoteMonospaceTextElement58(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) } -func (p *parser) callonSingleQuoteMonospaceTextElement105() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement58() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement105(stack["element"]) + return p.cur.onDoubleQuoteMonospaceTextElement58(stack["name"], stack["start"]) } -func (c *current) onSingleQuoteMonospaceTextElement168() (interface{}, error) { - return types.NewSymbol("`'") +func (c *current) onDoubleQuoteMonospaceTextElement84() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonSingleQuoteMonospaceTextElement168() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement84() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement168() + return p.cur.onDoubleQuoteMonospaceTextElement84() } -func (c *current) onSingleQuoteMonospaceTextElement170() (interface{}, error) { - return types.NewSymbol("(C)") +func (c *current) onDoubleQuoteMonospaceTextElement80(name interface{}) (interface{}, error) { + + log.Debug("matching escaped attribute reference") + // return types.NewStringElement("{"+name.(string)+"}") + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) } -func (p *parser) callonSingleQuoteMonospaceTextElement170() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement80() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement170() + return p.cur.onDoubleQuoteMonospaceTextElement80(stack["name"]) } -func (c *current) onSingleQuoteMonospaceTextElement172() (interface{}, error) { - return types.NewSymbol("(TM)") +func (c *current) onDoubleQuoteMonospaceTextElement94() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonSingleQuoteMonospaceTextElement172() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement94() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement172() + return p.cur.onDoubleQuoteMonospaceTextElement94() } -func (c *current) onSingleQuoteMonospaceTextElement174() (interface{}, error) { - return types.NewSymbol("(R)") +func (c *current) onDoubleQuoteMonospaceTextElement90(name interface{}) (interface{}, error) { + + return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonSingleQuoteMonospaceTextElement174() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement90() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement174() + return p.cur.onDoubleQuoteMonospaceTextElement90(stack["name"]) } -func (c *current) onSingleQuoteMonospaceTextElement176() (interface{}, error) { - return types.NewSymbol("...") +func (c *current) onDoubleQuoteMonospaceTextElement31(element interface{}) (interface{}, error) { + return element, nil } -func (p *parser) callonSingleQuoteMonospaceTextElement176() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement31() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement176() + return p.cur.onDoubleQuoteMonospaceTextElement31(stack["element"]) } -func (c *current) onSingleQuoteMonospaceTextElement164() (interface{}, error) { - return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) +func (c *current) onDoubleQuoteMonospaceTextElement103() (bool, error) { + return c.isSubstitutionEnabled(SpecialCharacters), nil } -func (p *parser) callonSingleQuoteMonospaceTextElement164() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement103() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement164() + return p.cur.onDoubleQuoteMonospaceTextElement103() } -func (c *current) onSingleQuoteMonospaceTextElement178() (interface{}, error) { - return types.NewSymbol("`'") +func (c *current) onDoubleQuoteMonospaceTextElement112() (interface{}, error) { + // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ + return string(c.text), nil } -func (p *parser) callonSingleQuoteMonospaceTextElement178() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement112() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement178() + return p.cur.onDoubleQuoteMonospaceTextElement112() } -func (c *current) onSingleQuoteMonospaceTextElement180() (interface{}, error) { - return types.NewSymbol("(C)") +func (c *current) onDoubleQuoteMonospaceTextElement116() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonSingleQuoteMonospaceTextElement180() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement116() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement180() + return p.cur.onDoubleQuoteMonospaceTextElement116() } -func (c *current) onSingleQuoteMonospaceTextElement182() (interface{}, error) { - return types.NewSymbol("(TM)") +func (c *current) onDoubleQuoteMonospaceTextElement122() (interface{}, error) { + // `{`, `>` and `>` characters are not allowed as they are used for attribute substitutions and cross-references + return types.NewStringElement(string(c.text)) } -func (p *parser) callonSingleQuoteMonospaceTextElement182() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement122() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement182() + return p.cur.onDoubleQuoteMonospaceTextElement122() } -func (c *current) onSingleQuoteMonospaceTextElement184() (interface{}, error) { - return types.NewSymbol("(R)") +func (c *current) onDoubleQuoteMonospaceTextElement131() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonSingleQuoteMonospaceTextElement184() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement131() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement184() + return p.cur.onDoubleQuoteMonospaceTextElement131() } -func (c *current) onSingleQuoteMonospaceTextElement186() (interface{}, error) { - return types.NewSymbol("...") +func (c *current) onDoubleQuoteMonospaceTextElement127(name interface{}) (interface{}, error) { + + log.Debug("matching escaped attribute reference") + // return types.NewStringElement("{"+name.(string)+"}") + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) } -func (p *parser) callonSingleQuoteMonospaceTextElement186() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement127() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement186() + return p.cur.onDoubleQuoteMonospaceTextElement127(stack["name"]) } -func (c *current) onSingleQuoteMonospaceTextElement188() (interface{}, error) { - log.Debug("matched escaped apostrophe") - return types.NewStringElement(strings.TrimSuffix(string(c.text), `\'`) + `'`) // retain the apostrophe, but discard the `\` escape char +func (c *current) onDoubleQuoteMonospaceTextElement141() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonSingleQuoteMonospaceTextElement188() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement141() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement188() + return p.cur.onDoubleQuoteMonospaceTextElement141() } -func (c *current) onSingleQuoteMonospaceTextElement194() (interface{}, error) { - return types.NewSymbolWithForeword("'", strings.TrimSuffix(string(c.text), `'`)) +func (c *current) onDoubleQuoteMonospaceTextElement137(name interface{}) (interface{}, error) { + + return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonSingleQuoteMonospaceTextElement194() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement137() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement194() + return p.cur.onDoubleQuoteMonospaceTextElement137(stack["name"]) } -func (c *current) onSingleQuoteMonospaceTextElement207() (interface{}, error) { - return string(c.text), nil -} +func (c *current) onDoubleQuoteMonospaceTextElement147() (interface{}, error) { -func (p *parser) callonSingleQuoteMonospaceTextElement207() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onSingleQuoteMonospaceTextElement207() -} + return types.NewStringElement(string(c.text)) -func (c *current) onSingleQuoteMonospaceTextElement203(ref interface{}) (interface{}, error) { - return types.NewElementPlaceHolder(ref.(string)) } -func (p *parser) callonSingleQuoteMonospaceTextElement203() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement147() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement203(stack["ref"]) + return p.cur.onDoubleQuoteMonospaceTextElement147() } -func (c *current) onSingleQuoteMonospaceTextElement216() (interface{}, error) { - return string(c.text), nil +func (c *current) onDoubleQuoteMonospaceTextElement108(id, label interface{}) (interface{}, error) { + return types.NewInternalCrossReference(id, label) } -func (p *parser) callonSingleQuoteMonospaceTextElement216() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement108() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement216() + return p.cur.onDoubleQuoteMonospaceTextElement108(stack["id"], stack["label"]) } -func (c *current) onSingleQuoteMonospaceTextElement211() (interface{}, error) { - // or an monospace delimiter when immediately followed by an alphanum (ie, in the middle of some text) - return types.NewStringElement(string(c.text)) +func (c *current) onDoubleQuoteMonospaceTextElement154() (interface{}, error) { + // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ + return string(c.text), nil } -func (p *parser) callonSingleQuoteMonospaceTextElement211() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement154() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement211() + return p.cur.onDoubleQuoteMonospaceTextElement154() } -func (c *current) onQuotedTextInSingleQuoteMonospaceText2(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onDoubleQuoteMonospaceTextElement150(id interface{}) (interface{}, error) { + return types.NewInternalCrossReference(id, nil) } -func (p *parser) callonQuotedTextInSingleQuoteMonospaceText2() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement150() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onQuotedTextInSingleQuoteMonospaceText2(stack["element"]) + return p.cur.onDoubleQuoteMonospaceTextElement150(stack["id"]) } -func (c *current) onQuotedTextInSingleQuoteMonospaceText13(attributes, text interface{}) (interface{}, error) { - return text.(*types.QuotedText).WithAttributes(attributes) +func (c *current) onDoubleQuoteMonospaceTextElement106() (interface{}, error) { + return types.NewStringElement(string(c.text)) } -func (p *parser) callonQuotedTextInSingleQuoteMonospaceText13() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement106() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onQuotedTextInSingleQuoteMonospaceText13(stack["attributes"], stack["text"]) + return p.cur.onDoubleQuoteMonospaceTextElement106() } -func (c *current) onEscapedMonospaceText5() (interface{}, error) { - return string(c.text), nil +func (c *current) onDoubleQuoteMonospaceTextElement158() (interface{}, error) { + return types.NewSpecialCharacter(string(c.text)) } -func (p *parser) callonEscapedMonospaceText5() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement158() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onEscapedMonospaceText5() + return p.cur.onDoubleQuoteMonospaceTextElement158() } -func (c *current) onEscapedMonospaceText2(backslashes, elements interface{}) (interface{}, error) { - return types.NewEscapedQuotedText(backslashes.(string), "``", elements.([]interface{})) +func (c *current) onDoubleQuoteMonospaceTextElement101(element interface{}) (interface{}, error) { + return element, nil } -func (p *parser) callonEscapedMonospaceText2() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement101() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onEscapedMonospaceText2(stack["backslashes"], stack["elements"]) + return p.cur.onDoubleQuoteMonospaceTextElement101(stack["element"]) } -func (c *current) onEscapedMonospaceText17() (interface{}, error) { - return string(c.text), nil +func (c *current) onDoubleQuoteMonospaceTextElement164() (interface{}, error) { + return types.NewSymbol("\"`") } -func (p *parser) callonEscapedMonospaceText17() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement164() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onEscapedMonospaceText17() + return p.cur.onDoubleQuoteMonospaceTextElement164() } -func (c *current) onEscapedMonospaceText14(backslashes, elements interface{}) (interface{}, error) { - result := append([]interface{}{"`"}, elements.([]interface{})) - return types.NewEscapedQuotedText(backslashes.(string), "`", result) +func (c *current) onDoubleQuoteMonospaceTextElement166() (interface{}, error) { + return types.NewSymbol("`\"") } -func (p *parser) callonEscapedMonospaceText14() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement166() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onEscapedMonospaceText14(stack["backslashes"], stack["elements"]) + return p.cur.onDoubleQuoteMonospaceTextElement166() } -func (c *current) onEscapedMonospaceText27() (interface{}, error) { - return string(c.text), nil +func (c *current) onDoubleQuoteMonospaceTextElement168() (interface{}, error) { + return types.NewSymbol("'`") } -func (p *parser) callonEscapedMonospaceText27() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement168() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onEscapedMonospaceText27() + return p.cur.onDoubleQuoteMonospaceTextElement168() } -func (c *current) onEscapedMonospaceText24(backslashes, elements interface{}) (interface{}, error) { - return types.NewEscapedQuotedText(backslashes.(string), "`", elements.([]interface{})) +func (c *current) onDoubleQuoteMonospaceTextElement170() (interface{}, error) { + return types.NewSymbol("`'") } -func (p *parser) callonEscapedMonospaceText24() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement170() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onEscapedMonospaceText24(stack["backslashes"], stack["elements"]) + return p.cur.onDoubleQuoteMonospaceTextElement170() } -func (c *current) onDoubleQuoteMarkedText1(elements interface{}) (interface{}, error) { - - return types.NewQuotedText(types.DoubleQuoteMarked, elements.([]interface{})) +func (c *current) onDoubleQuoteMonospaceTextElement172() (interface{}, error) { + return types.NewSymbol("(C)") } -func (p *parser) callonDoubleQuoteMarkedText1() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement172() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedText1(stack["elements"]) + return p.cur.onDoubleQuoteMonospaceTextElement172() } -func (c *current) onDoubleQuoteMarkedTextElement13() (interface{}, error) { - return string(c.text), nil +func (c *current) onDoubleQuoteMonospaceTextElement174() (interface{}, error) { + return types.NewSymbol("(TM)") } -func (p *parser) callonDoubleQuoteMarkedTextElement13() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement174() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement13() + return p.cur.onDoubleQuoteMonospaceTextElement174() } -func (c *current) onDoubleQuoteMarkedTextElement7() (interface{}, error) { - return types.NewStringElement(string(c.text)) +func (c *current) onDoubleQuoteMonospaceTextElement176() (interface{}, error) { + return types.NewSymbol("(R)") } -func (p *parser) callonDoubleQuoteMarkedTextElement7() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement176() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement7() + return p.cur.onDoubleQuoteMonospaceTextElement176() } -func (c *current) onDoubleQuoteMarkedTextElement16() (interface{}, error) { - // log.Debug("matched multiple spaces") - return string(c.text), nil +func (c *current) onDoubleQuoteMonospaceTextElement178() (interface{}, error) { + return types.NewSymbol("...") } -func (p *parser) callonDoubleQuoteMarkedTextElement16() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement178() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement16() + return p.cur.onDoubleQuoteMonospaceTextElement178() } -func (c *current) onDoubleQuoteMarkedTextElement20() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onDoubleQuoteMonospaceTextElement160() (interface{}, error) { + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) + } -func (p *parser) callonDoubleQuoteMarkedTextElement20() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement160() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement20() + return p.cur.onDoubleQuoteMonospaceTextElement160() } -func (c *current) onDoubleQuoteMarkedTextElement26() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onDoubleQuoteMonospaceTextElement180() (interface{}, error) { + return types.NewSymbol("\"`") + } -func (p *parser) callonDoubleQuoteMarkedTextElement26() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement180() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement26() + return p.cur.onDoubleQuoteMonospaceTextElement180() } -func (c *current) onDoubleQuoteMarkedTextElement33() (bool, error) { - return c.isSubstitutionEnabled(Attributes), nil +func (c *current) onDoubleQuoteMonospaceTextElement182() (interface{}, error) { + return types.NewSymbol("`\"") } -func (p *parser) callonDoubleQuoteMarkedTextElement33() (bool, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement182() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement33() + return p.cur.onDoubleQuoteMonospaceTextElement182() } -func (c *current) onDoubleQuoteMarkedTextElement40() (interface{}, error) { - return string(c.text), nil +func (c *current) onDoubleQuoteMonospaceTextElement184() (interface{}, error) { + return types.NewSymbol("'`") } -func (p *parser) callonDoubleQuoteMarkedTextElement40() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement184() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement40() + return p.cur.onDoubleQuoteMonospaceTextElement184() } -func (c *current) onDoubleQuoteMarkedTextElement52() (interface{}, error) { - return string(c.text), nil +func (c *current) onDoubleQuoteMonospaceTextElement186() (interface{}, error) { + return types.NewSymbol("`'") } -func (p *parser) callonDoubleQuoteMarkedTextElement52() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement186() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement52() + return p.cur.onDoubleQuoteMonospaceTextElement186() } -func (c *current) onDoubleQuoteMarkedTextElement54() (interface{}, error) { - - return strconv.Atoi(string(c.text)) +func (c *current) onDoubleQuoteMonospaceTextElement188() (interface{}, error) { + return types.NewSymbol("(C)") } -func (p *parser) callonDoubleQuoteMarkedTextElement54() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement188() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement54() + return p.cur.onDoubleQuoteMonospaceTextElement188() } -func (c *current) onDoubleQuoteMarkedTextElement47(start interface{}) (interface{}, error) { - return start, nil +func (c *current) onDoubleQuoteMonospaceTextElement190() (interface{}, error) { + return types.NewSymbol("(TM)") } -func (p *parser) callonDoubleQuoteMarkedTextElement47() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement190() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement47(stack["start"]) + return p.cur.onDoubleQuoteMonospaceTextElement190() } -func (c *current) onDoubleQuoteMarkedTextElement36(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) +func (c *current) onDoubleQuoteMonospaceTextElement192() (interface{}, error) { + return types.NewSymbol("(R)") + } -func (p *parser) callonDoubleQuoteMarkedTextElement36() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement192() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement36(stack["name"], stack["start"]) + return p.cur.onDoubleQuoteMonospaceTextElement192() } -func (c *current) onDoubleQuoteMarkedTextElement62() (interface{}, error) { - return string(c.text), nil +func (c *current) onDoubleQuoteMonospaceTextElement194() (interface{}, error) { + return types.NewSymbol("...") } -func (p *parser) callonDoubleQuoteMarkedTextElement62() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement194() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement62() + return p.cur.onDoubleQuoteMonospaceTextElement194() } -func (c *current) onDoubleQuoteMarkedTextElement74() (interface{}, error) { - return string(c.text), nil +func (c *current) onDoubleQuoteMonospaceTextElement196() (interface{}, error) { + log.Debug("matched escaped apostrophe") + return types.NewStringElement(strings.TrimSuffix(string(c.text), `\'`) + `'`) // retain the apostrophe, but discard the `\` escape char } -func (p *parser) callonDoubleQuoteMarkedTextElement74() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement196() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement74() + return p.cur.onDoubleQuoteMonospaceTextElement196() } -func (c *current) onDoubleQuoteMarkedTextElement76() (interface{}, error) { - - return strconv.Atoi(string(c.text)) +func (c *current) onDoubleQuoteMonospaceTextElement202() (interface{}, error) { + return types.NewSymbolWithForeword("'", strings.TrimSuffix(string(c.text), `'`)) } -func (p *parser) callonDoubleQuoteMarkedTextElement76() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement202() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement76() + return p.cur.onDoubleQuoteMonospaceTextElement202() } -func (c *current) onDoubleQuoteMarkedTextElement69(start interface{}) (interface{}, error) { - return start, nil - +func (c *current) onDoubleQuoteMonospaceTextElement214() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDoubleQuoteMarkedTextElement69() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement214() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement69(stack["start"]) + return p.cur.onDoubleQuoteMonospaceTextElement214() } -func (c *current) onDoubleQuoteMarkedTextElement58(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) +func (c *current) onDoubleQuoteMonospaceTextElement210(ref interface{}) (interface{}, error) { + return types.NewElementPlaceHolder(ref.(string)) } -func (p *parser) callonDoubleQuoteMarkedTextElement58() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement210() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement58(stack["name"], stack["start"]) + return p.cur.onDoubleQuoteMonospaceTextElement210(stack["ref"]) } -func (c *current) onDoubleQuoteMarkedTextElement84() (interface{}, error) { +func (c *current) onDoubleQuoteMonospaceTextElement222() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDoubleQuoteMarkedTextElement84() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement222() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement84() + return p.cur.onDoubleQuoteMonospaceTextElement222() } -func (c *current) onDoubleQuoteMarkedTextElement80(name interface{}) (interface{}, error) { - - log.Debug("matching escaped attribute reference") - // return types.NewStringElement("{"+name.(string)+"}") - return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) +func (c *current) onDoubleQuoteMonospaceTextElement219() (interface{}, error) { + // ` or a monospace delimiter when immediately followed by an alphanum (ie, in the middle of some text) + return types.NewStringElement(string(c.text)) } -func (p *parser) callonDoubleQuoteMarkedTextElement80() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement219() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement80(stack["name"]) + return p.cur.onDoubleQuoteMonospaceTextElement219() } -func (c *current) onDoubleQuoteMarkedTextElement94() (interface{}, error) { - return string(c.text), nil +func (c *current) onDoubleQuoteMonospaceTextElement1(element interface{}) (interface{}, error) { + return element, nil } -func (p *parser) callonDoubleQuoteMarkedTextElement94() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement94() + return p.cur.onDoubleQuoteMonospaceTextElement1(stack["element"]) } -func (c *current) onDoubleQuoteMarkedTextElement90(name interface{}) (interface{}, error) { - - return types.NewAttributeSubstitution(name.(string), string(c.text)) +func (c *current) onQuotedTextInDoubleQuoteMonospaceText2(element interface{}) (interface{}, error) { + return element, nil } -func (p *parser) callonDoubleQuoteMarkedTextElement90() (interface{}, error) { +func (p *parser) callonQuotedTextInDoubleQuoteMonospaceText2() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement90(stack["name"]) + return p.cur.onQuotedTextInDoubleQuoteMonospaceText2(stack["element"]) } -func (c *current) onDoubleQuoteMarkedTextElement31(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onQuotedTextInDoubleQuoteMonospaceText13(attributes, text interface{}) (interface{}, error) { + return text.(*types.QuotedText).WithAttributes(attributes) } -func (p *parser) callonDoubleQuoteMarkedTextElement31() (interface{}, error) { +func (p *parser) callonQuotedTextInDoubleQuoteMonospaceText13() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement31(stack["element"]) + return p.cur.onQuotedTextInDoubleQuoteMonospaceText13(stack["attributes"], stack["text"]) } -func (c *current) onDoubleQuoteMarkedTextElement103() (bool, error) { - return c.isSubstitutionEnabled(SpecialCharacters), nil +func (c *current) onSingleQuoteMonospaceText1(elements interface{}) (interface{}, error) { + + return types.NewQuotedText(types.SingleQuoteMonospace, elements.([]interface{})) } -func (p *parser) callonDoubleQuoteMarkedTextElement103() (bool, error) { +func (p *parser) callonSingleQuoteMonospaceText1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement103() + return p.cur.onSingleQuoteMonospaceText1(stack["elements"]) } -func (c *current) onDoubleQuoteMarkedTextElement112() (interface{}, error) { - // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ +func (c *current) onSingleQuoteMonospaceTextElements7() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDoubleQuoteMarkedTextElement112() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElements7() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement112() + return p.cur.onSingleQuoteMonospaceTextElements7() } -func (c *current) onDoubleQuoteMarkedTextElement116() (interface{}, error) { - return string(c.text), nil +func (c *current) onSingleQuoteMonospaceTextElements12(elements interface{}) (bool, error) { + return validateSingleQuoteElements(elements.([]interface{})) // cannot end with spaces } -func (p *parser) callonDoubleQuoteMarkedTextElement116() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElements12() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement116() + return p.cur.onSingleQuoteMonospaceTextElements12(stack["elements"]) } -func (c *current) onDoubleQuoteMarkedTextElement122() (interface{}, error) { - // `{`, `>` and `>` characters are not allowed as they are used for attribute substitutions and cross-references - return types.NewStringElement(string(c.text)) +func (c *current) onSingleQuoteMonospaceTextElements1(elements interface{}) (interface{}, error) { + return elements, nil } -func (p *parser) callonDoubleQuoteMarkedTextElement122() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElements1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement122() + return p.cur.onSingleQuoteMonospaceTextElements1(stack["elements"]) } -func (c *current) onDoubleQuoteMarkedTextElement131() (interface{}, error) { - return string(c.text), nil +func (c *current) onSingleQuoteMonospaceTextElement2() (interface{}, error) { + return types.NewStringElement(string(c.text)) } -func (p *parser) callonDoubleQuoteMarkedTextElement131() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement2() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement131() + return p.cur.onSingleQuoteMonospaceTextElement2() } -func (c *current) onDoubleQuoteMarkedTextElement127(name interface{}) (interface{}, error) { - - log.Debug("matching escaped attribute reference") - // return types.NewStringElement("{"+name.(string)+"}") - return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) +func (c *current) onSingleQuoteMonospaceTextElement11() (interface{}, error) { + // allow ` + return types.NewStringElement(string(c.text)) } -func (p *parser) callonDoubleQuoteMarkedTextElement127() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement11() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement127(stack["name"]) + return p.cur.onSingleQuoteMonospaceTextElement11() } -func (c *current) onDoubleQuoteMarkedTextElement141() (interface{}, error) { +func (c *current) onSingleQuoteMonospaceTextElement20() (interface{}, error) { + // log.Debug("matched multiple spaces") return string(c.text), nil } -func (p *parser) callonDoubleQuoteMarkedTextElement141() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement20() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement141() + return p.cur.onSingleQuoteMonospaceTextElement20() } -func (c *current) onDoubleQuoteMarkedTextElement137(name interface{}) (interface{}, error) { +func (c *current) onSingleQuoteMonospaceTextElement24() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} - return types.NewAttributeSubstitution(name.(string), string(c.text)) +func (p *parser) callonSingleQuoteMonospaceTextElement24() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteMonospaceTextElement24() +} +func (c *current) onSingleQuoteMonospaceTextElement30() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonDoubleQuoteMarkedTextElement137() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement30() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement137(stack["name"]) + return p.cur.onSingleQuoteMonospaceTextElement30() } -func (c *current) onDoubleQuoteMarkedTextElement147() (interface{}, error) { - - return types.NewStringElement(string(c.text)) +func (c *current) onSingleQuoteMonospaceTextElement37() (bool, error) { + return c.isSubstitutionEnabled(Attributes), nil } -func (p *parser) callonDoubleQuoteMarkedTextElement147() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement37() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement147() + return p.cur.onSingleQuoteMonospaceTextElement37() } -func (c *current) onDoubleQuoteMarkedTextElement108(id, label interface{}) (interface{}, error) { - return types.NewInternalCrossReference(id, label) +func (c *current) onSingleQuoteMonospaceTextElement44() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDoubleQuoteMarkedTextElement108() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement44() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement108(stack["id"], stack["label"]) + return p.cur.onSingleQuoteMonospaceTextElement44() } -func (c *current) onDoubleQuoteMarkedTextElement154() (interface{}, error) { - // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ +func (c *current) onSingleQuoteMonospaceTextElement56() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDoubleQuoteMarkedTextElement154() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement56() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement154() + return p.cur.onSingleQuoteMonospaceTextElement56() } -func (c *current) onDoubleQuoteMarkedTextElement150(id interface{}) (interface{}, error) { - return types.NewInternalCrossReference(id, nil) +func (c *current) onSingleQuoteMonospaceTextElement58() (interface{}, error) { + + return strconv.Atoi(string(c.text)) } -func (p *parser) callonDoubleQuoteMarkedTextElement150() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement58() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement150(stack["id"]) + return p.cur.onSingleQuoteMonospaceTextElement58() } -func (c *current) onDoubleQuoteMarkedTextElement106() (interface{}, error) { - return types.NewStringElement(string(c.text)) +func (c *current) onSingleQuoteMonospaceTextElement51(start interface{}) (interface{}, error) { + return start, nil } -func (p *parser) callonDoubleQuoteMarkedTextElement106() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement51() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement106() + return p.cur.onSingleQuoteMonospaceTextElement51(stack["start"]) } -func (c *current) onDoubleQuoteMarkedTextElement158() (interface{}, error) { - return types.NewSpecialCharacter(string(c.text)) - +func (c *current) onSingleQuoteMonospaceTextElement40(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) } -func (p *parser) callonDoubleQuoteMarkedTextElement158() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement40() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement158() + return p.cur.onSingleQuoteMonospaceTextElement40(stack["name"], stack["start"]) } -func (c *current) onDoubleQuoteMarkedTextElement101(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onSingleQuoteMonospaceTextElement66() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDoubleQuoteMarkedTextElement101() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement66() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement101(stack["element"]) + return p.cur.onSingleQuoteMonospaceTextElement66() } -func (c *current) onDoubleQuoteMarkedTextElement164() (interface{}, error) { - return types.NewSymbol("`'") +func (c *current) onSingleQuoteMonospaceTextElement78() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDoubleQuoteMarkedTextElement164() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement78() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement164() + return p.cur.onSingleQuoteMonospaceTextElement78() } -func (c *current) onDoubleQuoteMarkedTextElement166() (interface{}, error) { - return types.NewSymbol("(C)") +func (c *current) onSingleQuoteMonospaceTextElement80() (interface{}, error) { + + return strconv.Atoi(string(c.text)) } -func (p *parser) callonDoubleQuoteMarkedTextElement166() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement80() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement166() + return p.cur.onSingleQuoteMonospaceTextElement80() } -func (c *current) onDoubleQuoteMarkedTextElement168() (interface{}, error) { - return types.NewSymbol("(TM)") +func (c *current) onSingleQuoteMonospaceTextElement73(start interface{}) (interface{}, error) { + return start, nil } -func (p *parser) callonDoubleQuoteMarkedTextElement168() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement73() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement168() + return p.cur.onSingleQuoteMonospaceTextElement73(stack["start"]) } -func (c *current) onDoubleQuoteMarkedTextElement170() (interface{}, error) { - return types.NewSymbol("(R)") - +func (c *current) onSingleQuoteMonospaceTextElement62(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) } -func (p *parser) callonDoubleQuoteMarkedTextElement170() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement62() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement170() + return p.cur.onSingleQuoteMonospaceTextElement62(stack["name"], stack["start"]) } -func (c *current) onDoubleQuoteMarkedTextElement172() (interface{}, error) { - return types.NewSymbol("...") +func (c *current) onSingleQuoteMonospaceTextElement88() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDoubleQuoteMarkedTextElement172() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement88() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement172() + return p.cur.onSingleQuoteMonospaceTextElement88() } -func (c *current) onDoubleQuoteMarkedTextElement160() (interface{}, error) { +func (c *current) onSingleQuoteMonospaceTextElement84(name interface{}) (interface{}, error) { + + log.Debug("matching escaped attribute reference") + // return types.NewStringElement("{"+name.(string)+"}") return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) } -func (p *parser) callonDoubleQuoteMarkedTextElement160() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement84() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement160() + return p.cur.onSingleQuoteMonospaceTextElement84(stack["name"]) } -func (c *current) onDoubleQuoteMarkedTextElement174() (interface{}, error) { - return types.NewSymbol("`'") +func (c *current) onSingleQuoteMonospaceTextElement98() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDoubleQuoteMarkedTextElement174() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement98() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement174() + return p.cur.onSingleQuoteMonospaceTextElement98() } -func (c *current) onDoubleQuoteMarkedTextElement176() (interface{}, error) { - return types.NewSymbol("(C)") +func (c *current) onSingleQuoteMonospaceTextElement94(name interface{}) (interface{}, error) { + + return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonDoubleQuoteMarkedTextElement176() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement94() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement176() + return p.cur.onSingleQuoteMonospaceTextElement94(stack["name"]) } -func (c *current) onDoubleQuoteMarkedTextElement178() (interface{}, error) { - return types.NewSymbol("(TM)") +func (c *current) onSingleQuoteMonospaceTextElement35(element interface{}) (interface{}, error) { + return element, nil } -func (p *parser) callonDoubleQuoteMarkedTextElement178() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement35() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement178() + return p.cur.onSingleQuoteMonospaceTextElement35(stack["element"]) } -func (c *current) onDoubleQuoteMarkedTextElement180() (interface{}, error) { - return types.NewSymbol("(R)") +func (c *current) onSingleQuoteMonospaceTextElement107() (bool, error) { + return c.isSubstitutionEnabled(SpecialCharacters), nil } -func (p *parser) callonDoubleQuoteMarkedTextElement180() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement107() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement180() + return p.cur.onSingleQuoteMonospaceTextElement107() } -func (c *current) onDoubleQuoteMarkedTextElement182() (interface{}, error) { - return types.NewSymbol("...") +func (c *current) onSingleQuoteMonospaceTextElement116() (interface{}, error) { + // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ + return string(c.text), nil } -func (p *parser) callonDoubleQuoteMarkedTextElement182() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement116() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement182() + return p.cur.onSingleQuoteMonospaceTextElement116() } -func (c *current) onDoubleQuoteMarkedTextElement184() (interface{}, error) { - log.Debug("matched escaped apostrophe") - return types.NewStringElement(strings.TrimSuffix(string(c.text), `\'`) + `'`) // retain the apostrophe, but discard the `\` escape char +func (c *current) onSingleQuoteMonospaceTextElement120() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDoubleQuoteMarkedTextElement184() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement120() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement184() + return p.cur.onSingleQuoteMonospaceTextElement120() } -func (c *current) onDoubleQuoteMarkedTextElement190() (interface{}, error) { - return types.NewSymbolWithForeword("'", strings.TrimSuffix(string(c.text), `'`)) +func (c *current) onSingleQuoteMonospaceTextElement126() (interface{}, error) { + // `{`, `>` and `>` characters are not allowed as they are used for attribute substitutions and cross-references + return types.NewStringElement(string(c.text)) } -func (p *parser) callonDoubleQuoteMarkedTextElement190() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement126() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement190() + return p.cur.onSingleQuoteMonospaceTextElement126() } -func (c *current) onDoubleQuoteMarkedTextElement202() (interface{}, error) { +func (c *current) onSingleQuoteMonospaceTextElement135() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonDoubleQuoteMarkedTextElement202() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement135() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement202() + return p.cur.onSingleQuoteMonospaceTextElement135() } -func (c *current) onDoubleQuoteMarkedTextElement198(ref interface{}) (interface{}, error) { - return types.NewElementPlaceHolder(ref.(string)) +func (c *current) onSingleQuoteMonospaceTextElement131(name interface{}) (interface{}, error) { + + log.Debug("matching escaped attribute reference") + // return types.NewStringElement("{"+name.(string)+"}") + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) + } -func (p *parser) callonDoubleQuoteMarkedTextElement198() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement131() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement198(stack["ref"]) + return p.cur.onSingleQuoteMonospaceTextElement131(stack["name"]) } -func (c *current) onDoubleQuoteMarkedTextElement210() (interface{}, error) { +func (c *current) onSingleQuoteMonospaceTextElement145() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDoubleQuoteMarkedTextElement210() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement145() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement210() + return p.cur.onSingleQuoteMonospaceTextElement145() } -func (c *current) onDoubleQuoteMarkedTextElement207() (interface{}, error) { - // or a marked delimiter when immediately followed by an alphanum (ie, in the middle of some text) - return types.NewStringElement(string(c.text)) +func (c *current) onSingleQuoteMonospaceTextElement141(name interface{}) (interface{}, error) { + + return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonDoubleQuoteMarkedTextElement207() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement141() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement207() + return p.cur.onSingleQuoteMonospaceTextElement141(stack["name"]) } -func (c *current) onDoubleQuoteMarkedTextElement1(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onSingleQuoteMonospaceTextElement151() (interface{}, error) { + + return types.NewStringElement(string(c.text)) } -func (p *parser) callonDoubleQuoteMarkedTextElement1() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement151() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement1(stack["element"]) + return p.cur.onSingleQuoteMonospaceTextElement151() } -func (c *current) onQuotedTextInDoubleMarkedBoldText2(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onSingleQuoteMonospaceTextElement112(id, label interface{}) (interface{}, error) { + return types.NewInternalCrossReference(id, label) } -func (p *parser) callonQuotedTextInDoubleMarkedBoldText2() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement112() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onQuotedTextInDoubleMarkedBoldText2(stack["element"]) + return p.cur.onSingleQuoteMonospaceTextElement112(stack["id"], stack["label"]) } -func (c *current) onQuotedTextInDoubleMarkedBoldText13(attributes, text interface{}) (interface{}, error) { - return text.(*types.QuotedText).WithAttributes(attributes) +func (c *current) onSingleQuoteMonospaceTextElement158() (interface{}, error) { + // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ + return string(c.text), nil } -func (p *parser) callonQuotedTextInDoubleMarkedBoldText13() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement158() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onQuotedTextInDoubleMarkedBoldText13(stack["attributes"], stack["text"]) + return p.cur.onSingleQuoteMonospaceTextElement158() } -func (c *current) onSingleQuoteMarkedText1(elements interface{}) (interface{}, error) { - - return types.NewQuotedText(types.SingleQuoteMarked, elements.([]interface{})) +func (c *current) onSingleQuoteMonospaceTextElement154(id interface{}) (interface{}, error) { + return types.NewInternalCrossReference(id, nil) } -func (p *parser) callonSingleQuoteMarkedText1() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement154() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedText1(stack["elements"]) + return p.cur.onSingleQuoteMonospaceTextElement154(stack["id"]) } -func (c *current) onSingleQuoteMarkedTextElements7() (interface{}, error) { - return string(c.text), nil +func (c *current) onSingleQuoteMonospaceTextElement110() (interface{}, error) { + return types.NewStringElement(string(c.text)) } -func (p *parser) callonSingleQuoteMarkedTextElements7() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement110() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElements7() + return p.cur.onSingleQuoteMonospaceTextElement110() } -func (c *current) onSingleQuoteMarkedTextElements12(elements interface{}) (bool, error) { - return validateSingleQuoteElements(elements.([]interface{})) // cannot end with spaces +func (c *current) onSingleQuoteMonospaceTextElement162() (interface{}, error) { + return types.NewSpecialCharacter(string(c.text)) } -func (p *parser) callonSingleQuoteMarkedTextElements12() (bool, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement162() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElements12(stack["elements"]) + return p.cur.onSingleQuoteMonospaceTextElement162() } -func (c *current) onSingleQuoteMarkedTextElements1(elements interface{}) (interface{}, error) { - return elements, nil +func (c *current) onSingleQuoteMonospaceTextElement105(element interface{}) (interface{}, error) { + return element, nil } -func (p *parser) callonSingleQuoteMarkedTextElements1() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement105() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElements1(stack["elements"]) + return p.cur.onSingleQuoteMonospaceTextElement105(stack["element"]) } -func (c *current) onSingleQuoteMarkedTextElement8() (interface{}, error) { - return string(c.text), nil +func (c *current) onSingleQuoteMonospaceTextElement168() (interface{}, error) { + return types.NewSymbol("\"`") } -func (p *parser) callonSingleQuoteMarkedTextElement8() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement168() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement8() + return p.cur.onSingleQuoteMonospaceTextElement168() } -func (c *current) onSingleQuoteMarkedTextElement2() (interface{}, error) { - return types.NewStringElement(string(c.text)) +func (c *current) onSingleQuoteMonospaceTextElement170() (interface{}, error) { + return types.NewSymbol("`\"") } -func (p *parser) callonSingleQuoteMarkedTextElement2() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement170() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement2() + return p.cur.onSingleQuoteMonospaceTextElement170() } -func (c *current) onSingleQuoteMarkedTextElement11() (interface{}, error) { - // log.Debug("matched multiple spaces") - return string(c.text), nil +func (c *current) onSingleQuoteMonospaceTextElement172() (interface{}, error) { + return types.NewSymbol("'`") } -func (p *parser) callonSingleQuoteMarkedTextElement11() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement172() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement11() + return p.cur.onSingleQuoteMonospaceTextElement172() } -func (c *current) onSingleQuoteMarkedTextElement15() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onSingleQuoteMonospaceTextElement174() (interface{}, error) { + return types.NewSymbol("`'") + } -func (p *parser) callonSingleQuoteMarkedTextElement15() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement174() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement15() + return p.cur.onSingleQuoteMonospaceTextElement174() } -func (c *current) onSingleQuoteMarkedTextElement21() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onSingleQuoteMonospaceTextElement176() (interface{}, error) { + return types.NewSymbol("(C)") + } -func (p *parser) callonSingleQuoteMarkedTextElement21() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement176() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement21() + return p.cur.onSingleQuoteMonospaceTextElement176() } -func (c *current) onSingleQuoteMarkedTextElement28() (bool, error) { - return c.isSubstitutionEnabled(Attributes), nil +func (c *current) onSingleQuoteMonospaceTextElement178() (interface{}, error) { + return types.NewSymbol("(TM)") } -func (p *parser) callonSingleQuoteMarkedTextElement28() (bool, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement178() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement28() + return p.cur.onSingleQuoteMonospaceTextElement178() } -func (c *current) onSingleQuoteMarkedTextElement35() (interface{}, error) { - return string(c.text), nil +func (c *current) onSingleQuoteMonospaceTextElement180() (interface{}, error) { + return types.NewSymbol("(R)") } -func (p *parser) callonSingleQuoteMarkedTextElement35() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement180() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement35() + return p.cur.onSingleQuoteMonospaceTextElement180() } -func (c *current) onSingleQuoteMarkedTextElement47() (interface{}, error) { - return string(c.text), nil +func (c *current) onSingleQuoteMonospaceTextElement182() (interface{}, error) { + return types.NewSymbol("...") } -func (p *parser) callonSingleQuoteMarkedTextElement47() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement182() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement47() + return p.cur.onSingleQuoteMonospaceTextElement182() } -func (c *current) onSingleQuoteMarkedTextElement49() (interface{}, error) { - - return strconv.Atoi(string(c.text)) +func (c *current) onSingleQuoteMonospaceTextElement164() (interface{}, error) { + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) } -func (p *parser) callonSingleQuoteMarkedTextElement49() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement164() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement49() + return p.cur.onSingleQuoteMonospaceTextElement164() } -func (c *current) onSingleQuoteMarkedTextElement42(start interface{}) (interface{}, error) { - return start, nil +func (c *current) onSingleQuoteMonospaceTextElement184() (interface{}, error) { + return types.NewSymbol("\"`") } -func (p *parser) callonSingleQuoteMarkedTextElement42() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement184() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement42(stack["start"]) + return p.cur.onSingleQuoteMonospaceTextElement184() } -func (c *current) onSingleQuoteMarkedTextElement31(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) +func (c *current) onSingleQuoteMonospaceTextElement186() (interface{}, error) { + return types.NewSymbol("`\"") + } -func (p *parser) callonSingleQuoteMarkedTextElement31() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement186() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement31(stack["name"], stack["start"]) + return p.cur.onSingleQuoteMonospaceTextElement186() } -func (c *current) onSingleQuoteMarkedTextElement57() (interface{}, error) { - return string(c.text), nil +func (c *current) onSingleQuoteMonospaceTextElement188() (interface{}, error) { + return types.NewSymbol("'`") } -func (p *parser) callonSingleQuoteMarkedTextElement57() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement188() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement57() + return p.cur.onSingleQuoteMonospaceTextElement188() } -func (c *current) onSingleQuoteMarkedTextElement69() (interface{}, error) { - return string(c.text), nil +func (c *current) onSingleQuoteMonospaceTextElement190() (interface{}, error) { + return types.NewSymbol("`'") } -func (p *parser) callonSingleQuoteMarkedTextElement69() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement190() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement69() + return p.cur.onSingleQuoteMonospaceTextElement190() } -func (c *current) onSingleQuoteMarkedTextElement71() (interface{}, error) { - - return strconv.Atoi(string(c.text)) +func (c *current) onSingleQuoteMonospaceTextElement192() (interface{}, error) { + return types.NewSymbol("(C)") } -func (p *parser) callonSingleQuoteMarkedTextElement71() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement192() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement71() + return p.cur.onSingleQuoteMonospaceTextElement192() } -func (c *current) onSingleQuoteMarkedTextElement64(start interface{}) (interface{}, error) { - return start, nil +func (c *current) onSingleQuoteMonospaceTextElement194() (interface{}, error) { + return types.NewSymbol("(TM)") } -func (p *parser) callonSingleQuoteMarkedTextElement64() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement194() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement64(stack["start"]) + return p.cur.onSingleQuoteMonospaceTextElement194() } -func (c *current) onSingleQuoteMarkedTextElement53(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) +func (c *current) onSingleQuoteMonospaceTextElement196() (interface{}, error) { + return types.NewSymbol("(R)") + } -func (p *parser) callonSingleQuoteMarkedTextElement53() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement196() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement53(stack["name"], stack["start"]) + return p.cur.onSingleQuoteMonospaceTextElement196() } -func (c *current) onSingleQuoteMarkedTextElement79() (interface{}, error) { - return string(c.text), nil +func (c *current) onSingleQuoteMonospaceTextElement198() (interface{}, error) { + return types.NewSymbol("...") } -func (p *parser) callonSingleQuoteMarkedTextElement79() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement198() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement79() + return p.cur.onSingleQuoteMonospaceTextElement198() } -func (c *current) onSingleQuoteMarkedTextElement75(name interface{}) (interface{}, error) { - - log.Debug("matching escaped attribute reference") - // return types.NewStringElement("{"+name.(string)+"}") - return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) +func (c *current) onSingleQuoteMonospaceTextElement200() (interface{}, error) { + log.Debug("matched escaped apostrophe") + return types.NewStringElement(strings.TrimSuffix(string(c.text), `\'`) + `'`) // retain the apostrophe, but discard the `\` escape char } -func (p *parser) callonSingleQuoteMarkedTextElement75() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement200() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement75(stack["name"]) + return p.cur.onSingleQuoteMonospaceTextElement200() } -func (c *current) onSingleQuoteMarkedTextElement89() (interface{}, error) { - return string(c.text), nil +func (c *current) onSingleQuoteMonospaceTextElement206() (interface{}, error) { + return types.NewSymbolWithForeword("'", strings.TrimSuffix(string(c.text), `'`)) } -func (p *parser) callonSingleQuoteMarkedTextElement89() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement206() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement89() + return p.cur.onSingleQuoteMonospaceTextElement206() } -func (c *current) onSingleQuoteMarkedTextElement85(name interface{}) (interface{}, error) { - - return types.NewAttributeSubstitution(name.(string), string(c.text)) - +func (c *current) onSingleQuoteMonospaceTextElement218() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonSingleQuoteMarkedTextElement85() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement218() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement85(stack["name"]) + return p.cur.onSingleQuoteMonospaceTextElement218() } -func (c *current) onSingleQuoteMarkedTextElement26(element interface{}) (interface{}, error) { - return element, nil - +func (c *current) onSingleQuoteMonospaceTextElement214(ref interface{}) (interface{}, error) { + return types.NewElementPlaceHolder(ref.(string)) } -func (p *parser) callonSingleQuoteMarkedTextElement26() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement214() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement26(stack["element"]) + return p.cur.onSingleQuoteMonospaceTextElement214(stack["ref"]) } -func (c *current) onSingleQuoteMarkedTextElement98() (bool, error) { - return c.isSubstitutionEnabled(SpecialCharacters), nil +func (c *current) onSingleQuoteMonospaceTextElement227() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonSingleQuoteMarkedTextElement98() (bool, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement227() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement98() + return p.cur.onSingleQuoteMonospaceTextElement227() } -func (c *current) onSingleQuoteMarkedTextElement107() (interface{}, error) { - // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ - return string(c.text), nil +func (c *current) onSingleQuoteMonospaceTextElement222() (interface{}, error) { + // or an monospace delimiter when immediately followed by an alphanum (ie, in the middle of some text) + return types.NewStringElement(string(c.text)) } -func (p *parser) callonSingleQuoteMarkedTextElement107() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement222() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement107() + return p.cur.onSingleQuoteMonospaceTextElement222() } -func (c *current) onSingleQuoteMarkedTextElement111() (interface{}, error) { - return string(c.text), nil +func (c *current) onQuotedTextInSingleQuoteMonospaceText2(element interface{}) (interface{}, error) { + return element, nil } -func (p *parser) callonSingleQuoteMarkedTextElement111() (interface{}, error) { +func (p *parser) callonQuotedTextInSingleQuoteMonospaceText2() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement111() + return p.cur.onQuotedTextInSingleQuoteMonospaceText2(stack["element"]) } -func (c *current) onSingleQuoteMarkedTextElement117() (interface{}, error) { - // `{`, `>` and `>` characters are not allowed as they are used for attribute substitutions and cross-references - return types.NewStringElement(string(c.text)) +func (c *current) onQuotedTextInSingleQuoteMonospaceText13(attributes, text interface{}) (interface{}, error) { + return text.(*types.QuotedText).WithAttributes(attributes) } -func (p *parser) callonSingleQuoteMarkedTextElement117() (interface{}, error) { +func (p *parser) callonQuotedTextInSingleQuoteMonospaceText13() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement117() + return p.cur.onQuotedTextInSingleQuoteMonospaceText13(stack["attributes"], stack["text"]) } -func (c *current) onSingleQuoteMarkedTextElement126() (interface{}, error) { +func (c *current) onEscapedMonospaceText5() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonSingleQuoteMarkedTextElement126() (interface{}, error) { +func (p *parser) callonEscapedMonospaceText5() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement126() + return p.cur.onEscapedMonospaceText5() } -func (c *current) onSingleQuoteMarkedTextElement122(name interface{}) (interface{}, error) { - - log.Debug("matching escaped attribute reference") - // return types.NewStringElement("{"+name.(string)+"}") - return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) +func (c *current) onEscapedMonospaceText2(backslashes, elements interface{}) (interface{}, error) { + return types.NewEscapedQuotedText(backslashes.(string), "``", elements.([]interface{})) } -func (p *parser) callonSingleQuoteMarkedTextElement122() (interface{}, error) { +func (p *parser) callonEscapedMonospaceText2() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement122(stack["name"]) + return p.cur.onEscapedMonospaceText2(stack["backslashes"], stack["elements"]) } -func (c *current) onSingleQuoteMarkedTextElement136() (interface{}, error) { +func (c *current) onEscapedMonospaceText17() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonSingleQuoteMarkedTextElement136() (interface{}, error) { +func (p *parser) callonEscapedMonospaceText17() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement136() + return p.cur.onEscapedMonospaceText17() } -func (c *current) onSingleQuoteMarkedTextElement132(name interface{}) (interface{}, error) { - - return types.NewAttributeSubstitution(name.(string), string(c.text)) +func (c *current) onEscapedMonospaceText14(backslashes, elements interface{}) (interface{}, error) { + result := append([]interface{}{"`"}, elements.([]interface{})) + return types.NewEscapedQuotedText(backslashes.(string), "`", result) } -func (p *parser) callonSingleQuoteMarkedTextElement132() (interface{}, error) { +func (p *parser) callonEscapedMonospaceText14() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement132(stack["name"]) + return p.cur.onEscapedMonospaceText14(stack["backslashes"], stack["elements"]) } -func (c *current) onSingleQuoteMarkedTextElement142() (interface{}, error) { - - return types.NewStringElement(string(c.text)) +func (c *current) onEscapedMonospaceText27() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonSingleQuoteMarkedTextElement142() (interface{}, error) { +func (p *parser) callonEscapedMonospaceText27() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement142() + return p.cur.onEscapedMonospaceText27() } -func (c *current) onSingleQuoteMarkedTextElement103(id, label interface{}) (interface{}, error) { - return types.NewInternalCrossReference(id, label) +func (c *current) onEscapedMonospaceText24(backslashes, elements interface{}) (interface{}, error) { + return types.NewEscapedQuotedText(backslashes.(string), "`", elements.([]interface{})) } -func (p *parser) callonSingleQuoteMarkedTextElement103() (interface{}, error) { +func (p *parser) callonEscapedMonospaceText24() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement103(stack["id"], stack["label"]) + return p.cur.onEscapedMonospaceText24(stack["backslashes"], stack["elements"]) } -func (c *current) onSingleQuoteMarkedTextElement149() (interface{}, error) { - // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ - return string(c.text), nil +func (c *current) onDoubleQuoteMarkedText1(elements interface{}) (interface{}, error) { + + return types.NewQuotedText(types.DoubleQuoteMarked, elements.([]interface{})) } -func (p *parser) callonSingleQuoteMarkedTextElement149() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedText1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement149() + return p.cur.onDoubleQuoteMarkedText1(stack["elements"]) } -func (c *current) onSingleQuoteMarkedTextElement145(id interface{}) (interface{}, error) { - return types.NewInternalCrossReference(id, nil) +func (c *current) onDoubleQuoteMarkedTextElement13() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonSingleQuoteMarkedTextElement145() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement13() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement145(stack["id"]) + return p.cur.onDoubleQuoteMarkedTextElement13() } -func (c *current) onSingleQuoteMarkedTextElement101() (interface{}, error) { +func (c *current) onDoubleQuoteMarkedTextElement7() (interface{}, error) { return types.NewStringElement(string(c.text)) } -func (p *parser) callonSingleQuoteMarkedTextElement101() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement7() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement101() + return p.cur.onDoubleQuoteMarkedTextElement7() } -func (c *current) onSingleQuoteMarkedTextElement153() (interface{}, error) { - return types.NewSpecialCharacter(string(c.text)) +func (c *current) onDoubleQuoteMarkedTextElement16() (interface{}, error) { + // log.Debug("matched multiple spaces") + return string(c.text), nil } -func (p *parser) callonSingleQuoteMarkedTextElement153() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement16() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement153() + return p.cur.onDoubleQuoteMarkedTextElement16() } -func (c *current) onSingleQuoteMarkedTextElement96(element interface{}) (interface{}, error) { - return element, nil - +func (c *current) onDoubleQuoteMarkedTextElement20() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonSingleQuoteMarkedTextElement96() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement20() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement96(stack["element"]) + return p.cur.onDoubleQuoteMarkedTextElement20() } -func (c *current) onSingleQuoteMarkedTextElement159() (interface{}, error) { - return types.NewSymbol("`'") - +func (c *current) onDoubleQuoteMarkedTextElement26() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonSingleQuoteMarkedTextElement159() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement26() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement159() + return p.cur.onDoubleQuoteMarkedTextElement26() } -func (c *current) onSingleQuoteMarkedTextElement161() (interface{}, error) { - return types.NewSymbol("(C)") +func (c *current) onDoubleQuoteMarkedTextElement33() (bool, error) { + return c.isSubstitutionEnabled(Attributes), nil } -func (p *parser) callonSingleQuoteMarkedTextElement161() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement33() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement161() + return p.cur.onDoubleQuoteMarkedTextElement33() } -func (c *current) onSingleQuoteMarkedTextElement163() (interface{}, error) { - return types.NewSymbol("(TM)") +func (c *current) onDoubleQuoteMarkedTextElement40() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonSingleQuoteMarkedTextElement163() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement40() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement163() + return p.cur.onDoubleQuoteMarkedTextElement40() } -func (c *current) onSingleQuoteMarkedTextElement165() (interface{}, error) { - return types.NewSymbol("(R)") +func (c *current) onDoubleQuoteMarkedTextElement52() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonSingleQuoteMarkedTextElement165() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement52() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement165() + return p.cur.onDoubleQuoteMarkedTextElement52() } -func (c *current) onSingleQuoteMarkedTextElement167() (interface{}, error) { - return types.NewSymbol("...") +func (c *current) onDoubleQuoteMarkedTextElement54() (interface{}, error) { + + return strconv.Atoi(string(c.text)) } -func (p *parser) callonSingleQuoteMarkedTextElement167() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement54() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement167() + return p.cur.onDoubleQuoteMarkedTextElement54() } -func (c *current) onSingleQuoteMarkedTextElement155() (interface{}, error) { - return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) +func (c *current) onDoubleQuoteMarkedTextElement47(start interface{}) (interface{}, error) { + return start, nil } -func (p *parser) callonSingleQuoteMarkedTextElement155() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement47() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement155() + return p.cur.onDoubleQuoteMarkedTextElement47(stack["start"]) } -func (c *current) onSingleQuoteMarkedTextElement169() (interface{}, error) { - return types.NewSymbol("`'") - +func (c *current) onDoubleQuoteMarkedTextElement36(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) } -func (p *parser) callonSingleQuoteMarkedTextElement169() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement36() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement169() + return p.cur.onDoubleQuoteMarkedTextElement36(stack["name"], stack["start"]) } -func (c *current) onSingleQuoteMarkedTextElement171() (interface{}, error) { - return types.NewSymbol("(C)") +func (c *current) onDoubleQuoteMarkedTextElement62() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonSingleQuoteMarkedTextElement171() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement62() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement171() + return p.cur.onDoubleQuoteMarkedTextElement62() } -func (c *current) onSingleQuoteMarkedTextElement173() (interface{}, error) { - return types.NewSymbol("(TM)") +func (c *current) onDoubleQuoteMarkedTextElement74() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonSingleQuoteMarkedTextElement173() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement74() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement173() + return p.cur.onDoubleQuoteMarkedTextElement74() } -func (c *current) onSingleQuoteMarkedTextElement175() (interface{}, error) { - return types.NewSymbol("(R)") +func (c *current) onDoubleQuoteMarkedTextElement76() (interface{}, error) { + + return strconv.Atoi(string(c.text)) } -func (p *parser) callonSingleQuoteMarkedTextElement175() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement76() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement175() + return p.cur.onDoubleQuoteMarkedTextElement76() } -func (c *current) onSingleQuoteMarkedTextElement177() (interface{}, error) { - return types.NewSymbol("...") +func (c *current) onDoubleQuoteMarkedTextElement69(start interface{}) (interface{}, error) { + return start, nil } -func (p *parser) callonSingleQuoteMarkedTextElement177() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement69() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement177() + return p.cur.onDoubleQuoteMarkedTextElement69(stack["start"]) } -func (c *current) onSingleQuoteMarkedTextElement179() (interface{}, error) { - log.Debug("matched escaped apostrophe") - return types.NewStringElement(strings.TrimSuffix(string(c.text), `\'`) + `'`) // retain the apostrophe, but discard the `\` escape char - +func (c *current) onDoubleQuoteMarkedTextElement58(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) } -func (p *parser) callonSingleQuoteMarkedTextElement179() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement58() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement179() + return p.cur.onDoubleQuoteMarkedTextElement58(stack["name"], stack["start"]) } -func (c *current) onSingleQuoteMarkedTextElement185() (interface{}, error) { - return types.NewSymbolWithForeword("'", strings.TrimSuffix(string(c.text), `'`)) +func (c *current) onDoubleQuoteMarkedTextElement84() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonSingleQuoteMarkedTextElement185() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement84() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement185() + return p.cur.onDoubleQuoteMarkedTextElement84() } -func (c *current) onSingleQuoteMarkedTextElement197() (interface{}, error) { - return string(c.text), nil +func (c *current) onDoubleQuoteMarkedTextElement80(name interface{}) (interface{}, error) { + + log.Debug("matching escaped attribute reference") + // return types.NewStringElement("{"+name.(string)+"}") + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) + } -func (p *parser) callonSingleQuoteMarkedTextElement197() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement80() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement197() + return p.cur.onDoubleQuoteMarkedTextElement80(stack["name"]) } -func (c *current) onSingleQuoteMarkedTextElement193(ref interface{}) (interface{}, error) { - return types.NewElementPlaceHolder(ref.(string)) +func (c *current) onDoubleQuoteMarkedTextElement94() (interface{}, error) { + return string(c.text), nil + } -func (p *parser) callonSingleQuoteMarkedTextElement193() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement94() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement193(stack["ref"]) + return p.cur.onDoubleQuoteMarkedTextElement94() } -func (c *current) onSingleQuoteMarkedTextElement205() (interface{}, error) { - return string(c.text), nil +func (c *current) onDoubleQuoteMarkedTextElement90(name interface{}) (interface{}, error) { + + return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonSingleQuoteMarkedTextElement205() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement90() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement205() + return p.cur.onDoubleQuoteMarkedTextElement90(stack["name"]) } -func (c *current) onSingleQuoteMarkedTextElement202() (interface{}, error) { - // or a mark delimiter when immediately followed by an alphanum (ie, in the middle of some text) - return types.NewStringElement(string(c.text)) +func (c *current) onDoubleQuoteMarkedTextElement31(element interface{}) (interface{}, error) { + return element, nil } -func (p *parser) callonSingleQuoteMarkedTextElement202() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement31() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement202() + return p.cur.onDoubleQuoteMarkedTextElement31(stack["element"]) } -func (c *current) onQuotedTextInSingleQuoteMarkedText2(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onDoubleQuoteMarkedTextElement103() (bool, error) { + return c.isSubstitutionEnabled(SpecialCharacters), nil } -func (p *parser) callonQuotedTextInSingleQuoteMarkedText2() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement103() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onQuotedTextInSingleQuoteMarkedText2(stack["element"]) + return p.cur.onDoubleQuoteMarkedTextElement103() } -func (c *current) onQuotedTextInSingleQuoteMarkedText13(attributes, text interface{}) (interface{}, error) { - return text.(*types.QuotedText).WithAttributes(attributes) +func (c *current) onDoubleQuoteMarkedTextElement112() (interface{}, error) { + // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ + return string(c.text), nil } -func (p *parser) callonQuotedTextInSingleQuoteMarkedText13() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement112() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onQuotedTextInSingleQuoteMarkedText13(stack["attributes"], stack["text"]) + return p.cur.onDoubleQuoteMarkedTextElement112() } -func (c *current) onEscapedMarkedText5() (interface{}, error) { +func (c *current) onDoubleQuoteMarkedTextElement116() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonEscapedMarkedText5() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement116() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onEscapedMarkedText5() + return p.cur.onDoubleQuoteMarkedTextElement116() } -func (c *current) onEscapedMarkedText2(backslashes, elements interface{}) (interface{}, error) { - return types.NewEscapedQuotedText(backslashes.(string), "##", elements.([]interface{})) +func (c *current) onDoubleQuoteMarkedTextElement122() (interface{}, error) { + // `{`, `>` and `>` characters are not allowed as they are used for attribute substitutions and cross-references + return types.NewStringElement(string(c.text)) } -func (p *parser) callonEscapedMarkedText2() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement122() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onEscapedMarkedText2(stack["backslashes"], stack["elements"]) + return p.cur.onDoubleQuoteMarkedTextElement122() } -func (c *current) onEscapedMarkedText17() (interface{}, error) { +func (c *current) onDoubleQuoteMarkedTextElement131() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonEscapedMarkedText17() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement131() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onEscapedMarkedText17() + return p.cur.onDoubleQuoteMarkedTextElement131() } -func (c *current) onEscapedMarkedText14(backslashes, elements interface{}) (interface{}, error) { - result := append([]interface{}{"#"}, elements.([]interface{})) - return types.NewEscapedQuotedText(backslashes.(string), "#", result) +func (c *current) onDoubleQuoteMarkedTextElement127(name interface{}) (interface{}, error) { + + log.Debug("matching escaped attribute reference") + // return types.NewStringElement("{"+name.(string)+"}") + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) } -func (p *parser) callonEscapedMarkedText14() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement127() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onEscapedMarkedText14(stack["backslashes"], stack["elements"]) + return p.cur.onDoubleQuoteMarkedTextElement127(stack["name"]) } -func (c *current) onEscapedMarkedText27() (interface{}, error) { +func (c *current) onDoubleQuoteMarkedTextElement141() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonEscapedMarkedText27() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement141() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onEscapedMarkedText27() + return p.cur.onDoubleQuoteMarkedTextElement141() } -func (c *current) onEscapedMarkedText24(backslashes, elements interface{}) (interface{}, error) { - return types.NewEscapedQuotedText(backslashes.(string), "#", elements.([]interface{})) +func (c *current) onDoubleQuoteMarkedTextElement137(name interface{}) (interface{}, error) { + + return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonEscapedMarkedText24() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement137() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onEscapedMarkedText24(stack["backslashes"], stack["elements"]) + return p.cur.onDoubleQuoteMarkedTextElement137(stack["name"]) } -func (c *current) onSubscriptText1(element interface{}) (interface{}, error) { - // wraps a single word - return types.NewQuotedText(types.SingleQuoteSubscript, element) +func (c *current) onDoubleQuoteMarkedTextElement147() (interface{}, error) { + + return types.NewStringElement(string(c.text)) } -func (p *parser) callonSubscriptText1() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement147() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSubscriptText1(stack["element"]) + return p.cur.onDoubleQuoteMarkedTextElement147() } -func (c *current) onSubscriptTextElement3() (interface{}, error) { - // anything except spaces, EOL or '~' - return c.text, nil +func (c *current) onDoubleQuoteMarkedTextElement108(id, label interface{}) (interface{}, error) { + return types.NewInternalCrossReference(id, label) } -func (p *parser) callonSubscriptTextElement3() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement108() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSubscriptTextElement3() + return p.cur.onDoubleQuoteMarkedTextElement108(stack["id"], stack["label"]) } -func (c *current) onEscapedSubscriptText4() (interface{}, error) { +func (c *current) onDoubleQuoteMarkedTextElement154() (interface{}, error) { + // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ return string(c.text), nil } -func (p *parser) callonEscapedSubscriptText4() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement154() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onEscapedSubscriptText4() + return p.cur.onDoubleQuoteMarkedTextElement154() } -func (c *current) onEscapedSubscriptText1(backslashes, element interface{}) (interface{}, error) { - // simple punctuation must be evaluated last - return types.NewEscapedQuotedText(backslashes.(string), "~", element) +func (c *current) onDoubleQuoteMarkedTextElement150(id interface{}) (interface{}, error) { + return types.NewInternalCrossReference(id, nil) } -func (p *parser) callonEscapedSubscriptText1() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement150() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onEscapedSubscriptText1(stack["backslashes"], stack["element"]) + return p.cur.onDoubleQuoteMarkedTextElement150(stack["id"]) } -func (c *current) onSuperscriptText1(element interface{}) (interface{}, error) { - // wraps a single word - return types.NewQuotedText(types.SingleQuoteSuperscript, element) +func (c *current) onDoubleQuoteMarkedTextElement106() (interface{}, error) { + return types.NewStringElement(string(c.text)) } -func (p *parser) callonSuperscriptText1() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement106() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSuperscriptText1(stack["element"]) + return p.cur.onDoubleQuoteMarkedTextElement106() } -func (c *current) onSuperscriptTextElement3() (interface{}, error) { - // anything except spaces, EOL or '^' - return c.text, nil +func (c *current) onDoubleQuoteMarkedTextElement158() (interface{}, error) { + return types.NewSpecialCharacter(string(c.text)) } -func (p *parser) callonSuperscriptTextElement3() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement158() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSuperscriptTextElement3() + return p.cur.onDoubleQuoteMarkedTextElement158() } -func (c *current) onEscapedSuperscriptText4() (interface{}, error) { - return string(c.text), nil +func (c *current) onDoubleQuoteMarkedTextElement101(element interface{}) (interface{}, error) { + return element, nil } -func (p *parser) callonEscapedSuperscriptText4() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement101() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onEscapedSuperscriptText4() + return p.cur.onDoubleQuoteMarkedTextElement101(stack["element"]) } -func (c *current) onEscapedSuperscriptText1(backslashes, element interface{}) (interface{}, error) { - // simple punctuation must be evaluated last - return types.NewEscapedQuotedText(backslashes.(string), "^", element) +func (c *current) onDoubleQuoteMarkedTextElement164() (interface{}, error) { + return types.NewSymbol("\"`") } -func (p *parser) callonEscapedSuperscriptText1() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement164() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onEscapedSuperscriptText1(stack["backslashes"], stack["element"]) + return p.cur.onDoubleQuoteMarkedTextElement164() } -func (c *current) onSingleQuotedString1(elements interface{}) (interface{}, error) { - return types.NewQuotedString(types.SingleQuote, elements.([]interface{})) +func (c *current) onDoubleQuoteMarkedTextElement166() (interface{}, error) { + return types.NewSymbol("`\"") } -func (p *parser) callonSingleQuotedString1() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement166() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedString1(stack["elements"]) + return p.cur.onDoubleQuoteMarkedTextElement166() } -func (c *current) onSingleQuotedStringElements1(elements interface{}) (interface{}, error) { - c.resetSpaceSuffixTracking() - return types.NewInlineElements(elements) +func (c *current) onDoubleQuoteMarkedTextElement168() (interface{}, error) { + return types.NewSymbol("'`") } -func (p *parser) callonSingleQuotedStringElements1() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement168() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedStringElements1(stack["elements"]) + return p.cur.onDoubleQuoteMarkedTextElement168() } -func (c *current) onSingleQuotedStringElement13() (interface{}, error) { - return string(c.text), nil +func (c *current) onDoubleQuoteMarkedTextElement170() (interface{}, error) { + return types.NewSymbol("`'") } -func (p *parser) callonSingleQuotedStringElement13() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement170() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedStringElement13() + return p.cur.onDoubleQuoteMarkedTextElement170() } -func (c *current) onSingleQuotedStringElement7() (interface{}, error) { - return types.NewStringElement(string(c.text)) +func (c *current) onDoubleQuoteMarkedTextElement172() (interface{}, error) { + return types.NewSymbol("(C)") } -func (p *parser) callonSingleQuotedStringElement7() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement172() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedStringElement7() + return p.cur.onDoubleQuoteMarkedTextElement172() } -func (c *current) onSingleQuotedStringElement17() (interface{}, error) { - return string(c.text), nil +func (c *current) onDoubleQuoteMarkedTextElement174() (interface{}, error) { + return types.NewSymbol("(TM)") } -func (p *parser) callonSingleQuotedStringElement17() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement174() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedStringElement17() + return p.cur.onDoubleQuoteMarkedTextElement174() } -func (c *current) onSingleQuotedStringElement22() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onDoubleQuoteMarkedTextElement176() (interface{}, error) { + return types.NewSymbol("(R)") + } -func (p *parser) callonSingleQuotedStringElement22() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement176() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedStringElement22() + return p.cur.onDoubleQuoteMarkedTextElement176() } -func (c *current) onSingleQuotedStringElement28() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onDoubleQuoteMarkedTextElement178() (interface{}, error) { + return types.NewSymbol("...") + } -func (p *parser) callonSingleQuotedStringElement28() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement178() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedStringElement28() + return p.cur.onDoubleQuoteMarkedTextElement178() } -func (c *current) onSingleQuotedStringElement35() (bool, error) { - return c.isSubstitutionEnabled(Attributes), nil +func (c *current) onDoubleQuoteMarkedTextElement160() (interface{}, error) { + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) } -func (p *parser) callonSingleQuotedStringElement35() (bool, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement160() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedStringElement35() + return p.cur.onDoubleQuoteMarkedTextElement160() } -func (c *current) onSingleQuotedStringElement42() (interface{}, error) { - return string(c.text), nil +func (c *current) onDoubleQuoteMarkedTextElement180() (interface{}, error) { + return types.NewSymbol("\"`") } -func (p *parser) callonSingleQuotedStringElement42() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement180() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedStringElement42() + return p.cur.onDoubleQuoteMarkedTextElement180() } -func (c *current) onSingleQuotedStringElement54() (interface{}, error) { - return string(c.text), nil +func (c *current) onDoubleQuoteMarkedTextElement182() (interface{}, error) { + return types.NewSymbol("`\"") } -func (p *parser) callonSingleQuotedStringElement54() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement182() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedStringElement54() + return p.cur.onDoubleQuoteMarkedTextElement182() } -func (c *current) onSingleQuotedStringElement56() (interface{}, error) { - - return strconv.Atoi(string(c.text)) +func (c *current) onDoubleQuoteMarkedTextElement184() (interface{}, error) { + return types.NewSymbol("'`") } -func (p *parser) callonSingleQuotedStringElement56() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement184() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedStringElement56() + return p.cur.onDoubleQuoteMarkedTextElement184() } -func (c *current) onSingleQuotedStringElement49(start interface{}) (interface{}, error) { - return start, nil +func (c *current) onDoubleQuoteMarkedTextElement186() (interface{}, error) { + return types.NewSymbol("`'") } -func (p *parser) callonSingleQuotedStringElement49() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement186() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedStringElement49(stack["start"]) + return p.cur.onDoubleQuoteMarkedTextElement186() } -func (c *current) onSingleQuotedStringElement38(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) +func (c *current) onDoubleQuoteMarkedTextElement188() (interface{}, error) { + return types.NewSymbol("(C)") + } -func (p *parser) callonSingleQuotedStringElement38() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement188() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedStringElement38(stack["name"], stack["start"]) + return p.cur.onDoubleQuoteMarkedTextElement188() } -func (c *current) onSingleQuotedStringElement64() (interface{}, error) { - return string(c.text), nil +func (c *current) onDoubleQuoteMarkedTextElement190() (interface{}, error) { + return types.NewSymbol("(TM)") } -func (p *parser) callonSingleQuotedStringElement64() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement190() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedStringElement64() + return p.cur.onDoubleQuoteMarkedTextElement190() } -func (c *current) onSingleQuotedStringElement76() (interface{}, error) { - return string(c.text), nil +func (c *current) onDoubleQuoteMarkedTextElement192() (interface{}, error) { + return types.NewSymbol("(R)") } -func (p *parser) callonSingleQuotedStringElement76() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement192() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedStringElement76() + return p.cur.onDoubleQuoteMarkedTextElement192() } -func (c *current) onSingleQuotedStringElement78() (interface{}, error) { - - return strconv.Atoi(string(c.text)) +func (c *current) onDoubleQuoteMarkedTextElement194() (interface{}, error) { + return types.NewSymbol("...") } -func (p *parser) callonSingleQuotedStringElement78() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement194() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedStringElement78() + return p.cur.onDoubleQuoteMarkedTextElement194() } -func (c *current) onSingleQuotedStringElement71(start interface{}) (interface{}, error) { - return start, nil +func (c *current) onDoubleQuoteMarkedTextElement196() (interface{}, error) { + log.Debug("matched escaped apostrophe") + return types.NewStringElement(strings.TrimSuffix(string(c.text), `\'`) + `'`) // retain the apostrophe, but discard the `\` escape char } -func (p *parser) callonSingleQuotedStringElement71() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement196() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedStringElement71(stack["start"]) + return p.cur.onDoubleQuoteMarkedTextElement196() } -func (c *current) onSingleQuotedStringElement60(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) +func (c *current) onDoubleQuoteMarkedTextElement202() (interface{}, error) { + return types.NewSymbolWithForeword("'", strings.TrimSuffix(string(c.text), `'`)) + } -func (p *parser) callonSingleQuotedStringElement60() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement202() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedStringElement60(stack["name"], stack["start"]) + return p.cur.onDoubleQuoteMarkedTextElement202() } -func (c *current) onSingleQuotedStringElement86() (interface{}, error) { +func (c *current) onDoubleQuoteMarkedTextElement213() (interface{}, error) { return string(c.text), nil - } -func (p *parser) callonSingleQuotedStringElement86() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement213() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedStringElement86() + return p.cur.onDoubleQuoteMarkedTextElement213() } -func (c *current) onSingleQuotedStringElement82(name interface{}) (interface{}, error) { - - log.Debug("matching escaped attribute reference") - // return types.NewStringElement("{"+name.(string)+"}") - return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) - +func (c *current) onDoubleQuoteMarkedTextElement209(ref interface{}) (interface{}, error) { + return types.NewElementPlaceHolder(ref.(string)) } -func (p *parser) callonSingleQuotedStringElement82() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement209() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedStringElement82(stack["name"]) + return p.cur.onDoubleQuoteMarkedTextElement209(stack["ref"]) } -func (c *current) onSingleQuotedStringElement96() (interface{}, error) { +func (c *current) onDoubleQuoteMarkedTextElement221() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonSingleQuotedStringElement96() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement221() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedStringElement96() + return p.cur.onDoubleQuoteMarkedTextElement221() } -func (c *current) onSingleQuotedStringElement92(name interface{}) (interface{}, error) { - - return types.NewAttributeSubstitution(name.(string), string(c.text)) +func (c *current) onDoubleQuoteMarkedTextElement218() (interface{}, error) { + // or a marked delimiter when immediately followed by an alphanum (ie, in the middle of some text) + return types.NewStringElement(string(c.text)) } -func (p *parser) callonSingleQuotedStringElement92() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement218() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedStringElement92(stack["name"]) + return p.cur.onDoubleQuoteMarkedTextElement218() } -func (c *current) onSingleQuotedStringElement33(element interface{}) (interface{}, error) { +func (c *current) onDoubleQuoteMarkedTextElement1(element interface{}) (interface{}, error) { return element, nil } -func (p *parser) callonSingleQuotedStringElement33() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedStringElement33(stack["element"]) + return p.cur.onDoubleQuoteMarkedTextElement1(stack["element"]) } -func (c *current) onSingleQuotedStringElement105() (bool, error) { - return c.isSubstitutionEnabled(SpecialCharacters), nil +func (c *current) onQuotedTextInDoubleMarkedBoldText2(element interface{}) (interface{}, error) { + return element, nil } -func (p *parser) callonSingleQuotedStringElement105() (bool, error) { +func (p *parser) callonQuotedTextInDoubleMarkedBoldText2() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedStringElement105() + return p.cur.onQuotedTextInDoubleMarkedBoldText2(stack["element"]) } -func (c *current) onSingleQuotedStringElement114() (interface{}, error) { - // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ - return string(c.text), nil +func (c *current) onQuotedTextInDoubleMarkedBoldText13(attributes, text interface{}) (interface{}, error) { + return text.(*types.QuotedText).WithAttributes(attributes) } -func (p *parser) callonSingleQuotedStringElement114() (interface{}, error) { +func (p *parser) callonQuotedTextInDoubleMarkedBoldText13() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedStringElement114() -} - -func (c *current) onSingleQuotedStringElement118() (interface{}, error) { - return string(c.text), nil - + return p.cur.onQuotedTextInDoubleMarkedBoldText13(stack["attributes"], stack["text"]) } -func (p *parser) callonSingleQuotedStringElement118() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onSingleQuotedStringElement118() -} +func (c *current) onSingleQuoteMarkedText1(elements interface{}) (interface{}, error) { -func (c *current) onSingleQuotedStringElement124() (interface{}, error) { - // `{`, `>` and `>` characters are not allowed as they are used for attribute substitutions and cross-references - return types.NewStringElement(string(c.text)) + return types.NewQuotedText(types.SingleQuoteMarked, elements.([]interface{})) } -func (p *parser) callonSingleQuotedStringElement124() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedText1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedStringElement124() + return p.cur.onSingleQuoteMarkedText1(stack["elements"]) } -func (c *current) onSingleQuotedStringElement133() (interface{}, error) { +func (c *current) onSingleQuoteMarkedTextElements7() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonSingleQuotedStringElement133() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElements7() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedStringElement133() + return p.cur.onSingleQuoteMarkedTextElements7() } -func (c *current) onSingleQuotedStringElement129(name interface{}) (interface{}, error) { - - log.Debug("matching escaped attribute reference") - // return types.NewStringElement("{"+name.(string)+"}") - return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) +func (c *current) onSingleQuoteMarkedTextElements12(elements interface{}) (bool, error) { + return validateSingleQuoteElements(elements.([]interface{})) // cannot end with spaces } -func (p *parser) callonSingleQuotedStringElement129() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElements12() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedStringElement129(stack["name"]) + return p.cur.onSingleQuoteMarkedTextElements12(stack["elements"]) } -func (c *current) onSingleQuotedStringElement143() (interface{}, error) { - return string(c.text), nil +func (c *current) onSingleQuoteMarkedTextElements1(elements interface{}) (interface{}, error) { + return elements, nil } -func (p *parser) callonSingleQuotedStringElement143() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElements1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedStringElement143() + return p.cur.onSingleQuoteMarkedTextElements1(stack["elements"]) } -func (c *current) onSingleQuotedStringElement139(name interface{}) (interface{}, error) { - - return types.NewAttributeSubstitution(name.(string), string(c.text)) +func (c *current) onSingleQuoteMarkedTextElement8() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonSingleQuotedStringElement139() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement8() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedStringElement139(stack["name"]) + return p.cur.onSingleQuoteMarkedTextElement8() } -func (c *current) onSingleQuotedStringElement149() (interface{}, error) { - +func (c *current) onSingleQuoteMarkedTextElement2() (interface{}, error) { return types.NewStringElement(string(c.text)) } -func (p *parser) callonSingleQuotedStringElement149() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement2() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedStringElement149() + return p.cur.onSingleQuoteMarkedTextElement2() } -func (c *current) onSingleQuotedStringElement110(id, label interface{}) (interface{}, error) { - return types.NewInternalCrossReference(id, label) +func (c *current) onSingleQuoteMarkedTextElement11() (interface{}, error) { + // log.Debug("matched multiple spaces") + return string(c.text), nil } -func (p *parser) callonSingleQuotedStringElement110() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement11() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedStringElement110(stack["id"], stack["label"]) + return p.cur.onSingleQuoteMarkedTextElement11() } -func (c *current) onSingleQuotedStringElement156() (interface{}, error) { - // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ +func (c *current) onSingleQuoteMarkedTextElement15() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonSingleQuotedStringElement156() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement15() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedStringElement156() + return p.cur.onSingleQuoteMarkedTextElement15() } -func (c *current) onSingleQuotedStringElement152(id interface{}) (interface{}, error) { - return types.NewInternalCrossReference(id, nil) - +func (c *current) onSingleQuoteMarkedTextElement21() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonSingleQuotedStringElement152() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement21() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedStringElement152(stack["id"]) + return p.cur.onSingleQuoteMarkedTextElement21() } -func (c *current) onSingleQuotedStringElement108() (interface{}, error) { - return types.NewStringElement(string(c.text)) +func (c *current) onSingleQuoteMarkedTextElement28() (bool, error) { + return c.isSubstitutionEnabled(Attributes), nil } -func (p *parser) callonSingleQuotedStringElement108() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement28() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedStringElement108() + return p.cur.onSingleQuoteMarkedTextElement28() } -func (c *current) onSingleQuotedStringElement160() (interface{}, error) { - return types.NewSpecialCharacter(string(c.text)) +func (c *current) onSingleQuoteMarkedTextElement35() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonSingleQuotedStringElement160() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement35() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedStringElement160() + return p.cur.onSingleQuoteMarkedTextElement35() } -func (c *current) onSingleQuotedStringElement103(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onSingleQuoteMarkedTextElement47() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonSingleQuotedStringElement103() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement47() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedStringElement103(stack["element"]) + return p.cur.onSingleQuoteMarkedTextElement47() } -func (c *current) onSingleQuotedStringElement165() (bool, error) { +func (c *current) onSingleQuoteMarkedTextElement49() (interface{}, error) { - return c.isSubstitutionEnabled(PostReplacements) && c.isPreceededBySpace(), nil + return strconv.Atoi(string(c.text)) } -func (p *parser) callonSingleQuotedStringElement165() (bool, error) { +func (p *parser) callonSingleQuoteMarkedTextElement49() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedStringElement165() + return p.cur.onSingleQuoteMarkedTextElement49() } -func (c *current) onSingleQuotedStringElement168() (interface{}, error) { - return string(c.text), nil +func (c *current) onSingleQuoteMarkedTextElement42(start interface{}) (interface{}, error) { + return start, nil } -func (p *parser) callonSingleQuotedStringElement168() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement42() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedStringElement168() + return p.cur.onSingleQuoteMarkedTextElement42(stack["start"]) } -func (c *current) onSingleQuotedStringElement172() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onSingleQuoteMarkedTextElement31(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) } -func (p *parser) callonSingleQuotedStringElement172() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement31() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedStringElement172() + return p.cur.onSingleQuoteMarkedTextElement31(stack["name"], stack["start"]) } -func (c *current) onSingleQuotedStringElement163() (interface{}, error) { - return types.NewLineBreak() +func (c *current) onSingleQuoteMarkedTextElement57() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonSingleQuotedStringElement163() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement57() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedStringElement163() + return p.cur.onSingleQuoteMarkedTextElement57() } -func (c *current) onSingleQuotedStringElement185() (interface{}, error) { - return types.NewSymbol("`'") +func (c *current) onSingleQuoteMarkedTextElement69() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonSingleQuotedStringElement185() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement69() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedStringElement185() + return p.cur.onSingleQuoteMarkedTextElement69() } -func (c *current) onSingleQuotedStringElement187() (interface{}, error) { - return types.NewSymbol("(C)") +func (c *current) onSingleQuoteMarkedTextElement71() (interface{}, error) { + + return strconv.Atoi(string(c.text)) } -func (p *parser) callonSingleQuotedStringElement187() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement71() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedStringElement187() + return p.cur.onSingleQuoteMarkedTextElement71() } -func (c *current) onSingleQuotedStringElement189() (interface{}, error) { - return types.NewSymbol("(TM)") +func (c *current) onSingleQuoteMarkedTextElement64(start interface{}) (interface{}, error) { + return start, nil } -func (p *parser) callonSingleQuotedStringElement189() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement64() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedStringElement189() + return p.cur.onSingleQuoteMarkedTextElement64(stack["start"]) } -func (c *current) onSingleQuotedStringElement191() (interface{}, error) { - return types.NewSymbol("(R)") - +func (c *current) onSingleQuoteMarkedTextElement53(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) } -func (p *parser) callonSingleQuotedStringElement191() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement53() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedStringElement191() + return p.cur.onSingleQuoteMarkedTextElement53(stack["name"], stack["start"]) } -func (c *current) onSingleQuotedStringElement193() (interface{}, error) { - return types.NewSymbol("...") +func (c *current) onSingleQuoteMarkedTextElement79() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonSingleQuotedStringElement193() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement79() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedStringElement193() + return p.cur.onSingleQuoteMarkedTextElement79() } -func (c *current) onSingleQuotedStringElement181() (interface{}, error) { +func (c *current) onSingleQuoteMarkedTextElement75(name interface{}) (interface{}, error) { + + log.Debug("matching escaped attribute reference") + // return types.NewStringElement("{"+name.(string)+"}") return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) } -func (p *parser) callonSingleQuotedStringElement181() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement75() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedStringElement181() + return p.cur.onSingleQuoteMarkedTextElement75(stack["name"]) } -func (c *current) onSingleQuotedStringElement195() (interface{}, error) { - return types.NewSymbol("`'") +func (c *current) onSingleQuoteMarkedTextElement89() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonSingleQuotedStringElement195() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement89() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedStringElement195() + return p.cur.onSingleQuoteMarkedTextElement89() } -func (c *current) onSingleQuotedStringElement197() (interface{}, error) { - return types.NewSymbol("(C)") +func (c *current) onSingleQuoteMarkedTextElement85(name interface{}) (interface{}, error) { + + return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonSingleQuotedStringElement197() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement85() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedStringElement197() + return p.cur.onSingleQuoteMarkedTextElement85(stack["name"]) } -func (c *current) onSingleQuotedStringElement199() (interface{}, error) { - return types.NewSymbol("(TM)") +func (c *current) onSingleQuoteMarkedTextElement26(element interface{}) (interface{}, error) { + return element, nil } -func (p *parser) callonSingleQuotedStringElement199() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement26() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedStringElement199() + return p.cur.onSingleQuoteMarkedTextElement26(stack["element"]) } -func (c *current) onSingleQuotedStringElement201() (interface{}, error) { - return types.NewSymbol("(R)") +func (c *current) onSingleQuoteMarkedTextElement98() (bool, error) { + return c.isSubstitutionEnabled(SpecialCharacters), nil } -func (p *parser) callonSingleQuotedStringElement201() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement98() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedStringElement201() + return p.cur.onSingleQuoteMarkedTextElement98() } -func (c *current) onSingleQuotedStringElement203() (interface{}, error) { - return types.NewSymbol("...") +func (c *current) onSingleQuoteMarkedTextElement107() (interface{}, error) { + // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ + return string(c.text), nil } -func (p *parser) callonSingleQuotedStringElement203() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement107() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedStringElement203() + return p.cur.onSingleQuoteMarkedTextElement107() } -func (c *current) onSingleQuotedStringElement205() (interface{}, error) { - log.Debug("matched escaped apostrophe") - return types.NewStringElement(strings.TrimSuffix(string(c.text), `\'`) + `'`) // retain the apostrophe, but discard the `\` escape char +func (c *current) onSingleQuoteMarkedTextElement111() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonSingleQuotedStringElement205() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement111() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedStringElement205() + return p.cur.onSingleQuoteMarkedTextElement111() } -func (c *current) onSingleQuotedStringElement211() (interface{}, error) { - return types.NewSymbolWithForeword("'", strings.TrimSuffix(string(c.text), `'`)) +func (c *current) onSingleQuoteMarkedTextElement117() (interface{}, error) { + // `{`, `>` and `>` characters are not allowed as they are used for attribute substitutions and cross-references + return types.NewStringElement(string(c.text)) } -func (p *parser) callonSingleQuotedStringElement211() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement117() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedStringElement211() + return p.cur.onSingleQuoteMarkedTextElement117() } -func (c *current) onSingleQuotedStringElement220() (interface{}, error) { - // ' - return types.NewStringElement(string(c.text)) +func (c *current) onSingleQuoteMarkedTextElement126() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonSingleQuotedStringElement220() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement126() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedStringElement220() + return p.cur.onSingleQuoteMarkedTextElement126() } -func (c *current) onSingleQuotedStringElement1(element interface{}) (interface{}, error) { - c.trackSpaceSuffix(element) - return element, nil +func (c *current) onSingleQuoteMarkedTextElement122(name interface{}) (interface{}, error) { + + log.Debug("matching escaped attribute reference") + // return types.NewStringElement("{"+name.(string)+"}") + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) } -func (p *parser) callonSingleQuotedStringElement1() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement122() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedStringElement1(stack["element"]) + return p.cur.onSingleQuoteMarkedTextElement122(stack["name"]) } -func (c *current) onQuotedTextInSingleQuotedString10(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onSingleQuoteMarkedTextElement136() (interface{}, error) { + return string(c.text), nil + } -func (p *parser) callonQuotedTextInSingleQuotedString10() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement136() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onQuotedTextInSingleQuotedString10(stack["element"]) + return p.cur.onSingleQuoteMarkedTextElement136() } -func (c *current) onQuotedTextInSingleQuotedString1(attributes, text interface{}) (interface{}, error) { - return text.(*types.QuotedText).WithAttributes(attributes) +func (c *current) onSingleQuoteMarkedTextElement132(name interface{}) (interface{}, error) { + + return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonQuotedTextInSingleQuotedString1() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement132() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onQuotedTextInSingleQuotedString1(stack["attributes"], stack["text"]) + return p.cur.onSingleQuoteMarkedTextElement132(stack["name"]) } -func (c *current) onDoubleQuotedString1(elements interface{}) (interface{}, error) { - return types.NewQuotedString(types.DoubleQuote, elements.([]interface{})) +func (c *current) onSingleQuoteMarkedTextElement142() (interface{}, error) { + + return types.NewStringElement(string(c.text)) } -func (p *parser) callonDoubleQuotedString1() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement142() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuotedString1(stack["elements"]) + return p.cur.onSingleQuoteMarkedTextElement142() } -func (c *current) onDoubleQuotedStringElements1(elements interface{}) (interface{}, error) { - c.resetSpaceSuffixTracking() - return types.NewInlineElements(elements) +func (c *current) onSingleQuoteMarkedTextElement103(id, label interface{}) (interface{}, error) { + return types.NewInternalCrossReference(id, label) } -func (p *parser) callonDoubleQuotedStringElements1() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement103() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuotedStringElements1(stack["elements"]) + return p.cur.onSingleQuoteMarkedTextElement103(stack["id"], stack["label"]) } -func (c *current) onDoubleQuotedStringElement13() (interface{}, error) { +func (c *current) onSingleQuoteMarkedTextElement149() (interface{}, error) { + // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ return string(c.text), nil } -func (p *parser) callonDoubleQuotedStringElement13() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement149() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuotedStringElement13() + return p.cur.onSingleQuoteMarkedTextElement149() } -func (c *current) onDoubleQuotedStringElement7() (interface{}, error) { - return types.NewStringElement(string(c.text)) +func (c *current) onSingleQuoteMarkedTextElement145(id interface{}) (interface{}, error) { + return types.NewInternalCrossReference(id, nil) } -func (p *parser) callonDoubleQuotedStringElement7() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement145() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuotedStringElement7() + return p.cur.onSingleQuoteMarkedTextElement145(stack["id"]) } -func (c *current) onDoubleQuotedStringElement17() (interface{}, error) { - return string(c.text), nil +func (c *current) onSingleQuoteMarkedTextElement101() (interface{}, error) { + return types.NewStringElement(string(c.text)) } -func (p *parser) callonDoubleQuotedStringElement17() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement101() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuotedStringElement17() + return p.cur.onSingleQuoteMarkedTextElement101() } -func (c *current) onDoubleQuotedStringElement22() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onSingleQuoteMarkedTextElement153() (interface{}, error) { + return types.NewSpecialCharacter(string(c.text)) + } -func (p *parser) callonDoubleQuotedStringElement22() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement153() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuotedStringElement22() + return p.cur.onSingleQuoteMarkedTextElement153() } -func (c *current) onDoubleQuotedStringElement28() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onSingleQuoteMarkedTextElement96(element interface{}) (interface{}, error) { + return element, nil + } -func (p *parser) callonDoubleQuotedStringElement28() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement96() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuotedStringElement28() + return p.cur.onSingleQuoteMarkedTextElement96(stack["element"]) } -func (c *current) onDoubleQuotedStringElement36() (bool, error) { - - return c.isSubstitutionEnabled(PostReplacements) && c.isPreceededBySpace(), nil +func (c *current) onSingleQuoteMarkedTextElement159() (interface{}, error) { + return types.NewSymbol("\"`") } -func (p *parser) callonDoubleQuotedStringElement36() (bool, error) { +func (p *parser) callonSingleQuoteMarkedTextElement159() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuotedStringElement36() + return p.cur.onSingleQuoteMarkedTextElement159() } -func (c *current) onDoubleQuotedStringElement39() (interface{}, error) { - return string(c.text), nil +func (c *current) onSingleQuoteMarkedTextElement161() (interface{}, error) { + return types.NewSymbol("`\"") } -func (p *parser) callonDoubleQuotedStringElement39() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement161() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuotedStringElement39() + return p.cur.onSingleQuoteMarkedTextElement161() } -func (c *current) onDoubleQuotedStringElement43() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onSingleQuoteMarkedTextElement163() (interface{}, error) { + return types.NewSymbol("'`") + } -func (p *parser) callonDoubleQuotedStringElement43() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement163() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuotedStringElement43() + return p.cur.onSingleQuoteMarkedTextElement163() } -func (c *current) onDoubleQuotedStringElement34() (interface{}, error) { - return types.NewLineBreak() +func (c *current) onSingleQuoteMarkedTextElement165() (interface{}, error) { + return types.NewSymbol("`'") } -func (p *parser) callonDoubleQuotedStringElement34() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement165() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuotedStringElement34() + return p.cur.onSingleQuoteMarkedTextElement165() } -func (c *current) onDoubleQuotedStringElement54() (bool, error) { - return c.isSubstitutionEnabled(Attributes), nil +func (c *current) onSingleQuoteMarkedTextElement167() (interface{}, error) { + return types.NewSymbol("(C)") } -func (p *parser) callonDoubleQuotedStringElement54() (bool, error) { +func (p *parser) callonSingleQuoteMarkedTextElement167() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuotedStringElement54() + return p.cur.onSingleQuoteMarkedTextElement167() } -func (c *current) onDoubleQuotedStringElement61() (interface{}, error) { - return string(c.text), nil +func (c *current) onSingleQuoteMarkedTextElement169() (interface{}, error) { + return types.NewSymbol("(TM)") } -func (p *parser) callonDoubleQuotedStringElement61() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement169() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuotedStringElement61() + return p.cur.onSingleQuoteMarkedTextElement169() } -func (c *current) onDoubleQuotedStringElement73() (interface{}, error) { - return string(c.text), nil +func (c *current) onSingleQuoteMarkedTextElement171() (interface{}, error) { + return types.NewSymbol("(R)") } -func (p *parser) callonDoubleQuotedStringElement73() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement171() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuotedStringElement73() + return p.cur.onSingleQuoteMarkedTextElement171() } -func (c *current) onDoubleQuotedStringElement75() (interface{}, error) { - - return strconv.Atoi(string(c.text)) +func (c *current) onSingleQuoteMarkedTextElement173() (interface{}, error) { + return types.NewSymbol("...") } -func (p *parser) callonDoubleQuotedStringElement75() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement173() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuotedStringElement75() + return p.cur.onSingleQuoteMarkedTextElement173() } -func (c *current) onDoubleQuotedStringElement68(start interface{}) (interface{}, error) { - return start, nil +func (c *current) onSingleQuoteMarkedTextElement155() (interface{}, error) { + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) } -func (p *parser) callonDoubleQuotedStringElement68() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement155() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuotedStringElement68(stack["start"]) + return p.cur.onSingleQuoteMarkedTextElement155() } -func (c *current) onDoubleQuotedStringElement57(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) +func (c *current) onSingleQuoteMarkedTextElement175() (interface{}, error) { + return types.NewSymbol("\"`") + } -func (p *parser) callonDoubleQuotedStringElement57() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement175() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuotedStringElement57(stack["name"], stack["start"]) + return p.cur.onSingleQuoteMarkedTextElement175() } -func (c *current) onDoubleQuotedStringElement83() (interface{}, error) { - return string(c.text), nil +func (c *current) onSingleQuoteMarkedTextElement177() (interface{}, error) { + return types.NewSymbol("`\"") } -func (p *parser) callonDoubleQuotedStringElement83() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement177() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuotedStringElement83() + return p.cur.onSingleQuoteMarkedTextElement177() } -func (c *current) onDoubleQuotedStringElement95() (interface{}, error) { - return string(c.text), nil +func (c *current) onSingleQuoteMarkedTextElement179() (interface{}, error) { + return types.NewSymbol("'`") } -func (p *parser) callonDoubleQuotedStringElement95() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement179() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuotedStringElement95() + return p.cur.onSingleQuoteMarkedTextElement179() } -func (c *current) onDoubleQuotedStringElement97() (interface{}, error) { - - return strconv.Atoi(string(c.text)) +func (c *current) onSingleQuoteMarkedTextElement181() (interface{}, error) { + return types.NewSymbol("`'") } -func (p *parser) callonDoubleQuotedStringElement97() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement181() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuotedStringElement97() + return p.cur.onSingleQuoteMarkedTextElement181() } -func (c *current) onDoubleQuotedStringElement90(start interface{}) (interface{}, error) { - return start, nil +func (c *current) onSingleQuoteMarkedTextElement183() (interface{}, error) { + return types.NewSymbol("(C)") } -func (p *parser) callonDoubleQuotedStringElement90() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement183() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuotedStringElement90(stack["start"]) + return p.cur.onSingleQuoteMarkedTextElement183() } -func (c *current) onDoubleQuotedStringElement79(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) +func (c *current) onSingleQuoteMarkedTextElement185() (interface{}, error) { + return types.NewSymbol("(TM)") + } -func (p *parser) callonDoubleQuotedStringElement79() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement185() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuotedStringElement79(stack["name"], stack["start"]) + return p.cur.onSingleQuoteMarkedTextElement185() } -func (c *current) onDoubleQuotedStringElement105() (interface{}, error) { - return string(c.text), nil +func (c *current) onSingleQuoteMarkedTextElement187() (interface{}, error) { + return types.NewSymbol("(R)") } -func (p *parser) callonDoubleQuotedStringElement105() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement187() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuotedStringElement105() + return p.cur.onSingleQuoteMarkedTextElement187() } -func (c *current) onDoubleQuotedStringElement101(name interface{}) (interface{}, error) { - - log.Debug("matching escaped attribute reference") - // return types.NewStringElement("{"+name.(string)+"}") - return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) +func (c *current) onSingleQuoteMarkedTextElement189() (interface{}, error) { + return types.NewSymbol("...") } -func (p *parser) callonDoubleQuotedStringElement101() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement189() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuotedStringElement101(stack["name"]) + return p.cur.onSingleQuoteMarkedTextElement189() } -func (c *current) onDoubleQuotedStringElement115() (interface{}, error) { - return string(c.text), nil +func (c *current) onSingleQuoteMarkedTextElement191() (interface{}, error) { + log.Debug("matched escaped apostrophe") + return types.NewStringElement(strings.TrimSuffix(string(c.text), `\'`) + `'`) // retain the apostrophe, but discard the `\` escape char } -func (p *parser) callonDoubleQuotedStringElement115() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement191() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuotedStringElement115() + return p.cur.onSingleQuoteMarkedTextElement191() } -func (c *current) onDoubleQuotedStringElement111(name interface{}) (interface{}, error) { - - return types.NewAttributeSubstitution(name.(string), string(c.text)) +func (c *current) onSingleQuoteMarkedTextElement197() (interface{}, error) { + return types.NewSymbolWithForeword("'", strings.TrimSuffix(string(c.text), `'`)) } -func (p *parser) callonDoubleQuotedStringElement111() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement197() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuotedStringElement111(stack["name"]) + return p.cur.onSingleQuoteMarkedTextElement197() } -func (c *current) onDoubleQuotedStringElement52(element interface{}) (interface{}, error) { - return element, nil - +func (c *current) onSingleQuoteMarkedTextElement208() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDoubleQuotedStringElement52() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement208() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuotedStringElement52(stack["element"]) + return p.cur.onSingleQuoteMarkedTextElement208() } -func (c *current) onDoubleQuotedStringElement124() (bool, error) { - return c.isSubstitutionEnabled(SpecialCharacters), nil - +func (c *current) onSingleQuoteMarkedTextElement204(ref interface{}) (interface{}, error) { + return types.NewElementPlaceHolder(ref.(string)) } -func (p *parser) callonDoubleQuotedStringElement124() (bool, error) { +func (p *parser) callonSingleQuoteMarkedTextElement204() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuotedStringElement124() + return p.cur.onSingleQuoteMarkedTextElement204(stack["ref"]) } -func (c *current) onDoubleQuotedStringElement133() (interface{}, error) { - // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ +func (c *current) onSingleQuoteMarkedTextElement216() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDoubleQuotedStringElement133() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement216() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuotedStringElement133() + return p.cur.onSingleQuoteMarkedTextElement216() } -func (c *current) onDoubleQuotedStringElement137() (interface{}, error) { - return string(c.text), nil +func (c *current) onSingleQuoteMarkedTextElement213() (interface{}, error) { + // or a mark delimiter when immediately followed by an alphanum (ie, in the middle of some text) + return types.NewStringElement(string(c.text)) } -func (p *parser) callonDoubleQuotedStringElement137() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement213() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuotedStringElement137() + return p.cur.onSingleQuoteMarkedTextElement213() } -func (c *current) onDoubleQuotedStringElement143() (interface{}, error) { - // `{`, `>` and `>` characters are not allowed as they are used for attribute substitutions and cross-references - return types.NewStringElement(string(c.text)) +func (c *current) onQuotedTextInSingleQuoteMarkedText2(element interface{}) (interface{}, error) { + return element, nil } -func (p *parser) callonDoubleQuotedStringElement143() (interface{}, error) { +func (p *parser) callonQuotedTextInSingleQuoteMarkedText2() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuotedStringElement143() + return p.cur.onQuotedTextInSingleQuoteMarkedText2(stack["element"]) } -func (c *current) onDoubleQuotedStringElement152() (interface{}, error) { - return string(c.text), nil +func (c *current) onQuotedTextInSingleQuoteMarkedText13(attributes, text interface{}) (interface{}, error) { + return text.(*types.QuotedText).WithAttributes(attributes) } -func (p *parser) callonDoubleQuotedStringElement152() (interface{}, error) { +func (p *parser) callonQuotedTextInSingleQuoteMarkedText13() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuotedStringElement152() + return p.cur.onQuotedTextInSingleQuoteMarkedText13(stack["attributes"], stack["text"]) } -func (c *current) onDoubleQuotedStringElement148(name interface{}) (interface{}, error) { - - log.Debug("matching escaped attribute reference") - // return types.NewStringElement("{"+name.(string)+"}") - return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) +func (c *current) onEscapedMarkedText5() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDoubleQuotedStringElement148() (interface{}, error) { +func (p *parser) callonEscapedMarkedText5() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuotedStringElement148(stack["name"]) + return p.cur.onEscapedMarkedText5() } -func (c *current) onDoubleQuotedStringElement162() (interface{}, error) { - return string(c.text), nil +func (c *current) onEscapedMarkedText2(backslashes, elements interface{}) (interface{}, error) { + return types.NewEscapedQuotedText(backslashes.(string), "##", elements.([]interface{})) } -func (p *parser) callonDoubleQuotedStringElement162() (interface{}, error) { +func (p *parser) callonEscapedMarkedText2() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuotedStringElement162() + return p.cur.onEscapedMarkedText2(stack["backslashes"], stack["elements"]) } -func (c *current) onDoubleQuotedStringElement158(name interface{}) (interface{}, error) { - - return types.NewAttributeSubstitution(name.(string), string(c.text)) +func (c *current) onEscapedMarkedText17() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDoubleQuotedStringElement158() (interface{}, error) { +func (p *parser) callonEscapedMarkedText17() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuotedStringElement158(stack["name"]) + return p.cur.onEscapedMarkedText17() } -func (c *current) onDoubleQuotedStringElement168() (interface{}, error) { - - return types.NewStringElement(string(c.text)) +func (c *current) onEscapedMarkedText14(backslashes, elements interface{}) (interface{}, error) { + result := append([]interface{}{"#"}, elements.([]interface{})) + return types.NewEscapedQuotedText(backslashes.(string), "#", result) } -func (p *parser) callonDoubleQuotedStringElement168() (interface{}, error) { +func (p *parser) callonEscapedMarkedText14() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuotedStringElement168() + return p.cur.onEscapedMarkedText14(stack["backslashes"], stack["elements"]) } -func (c *current) onDoubleQuotedStringElement129(id, label interface{}) (interface{}, error) { - return types.NewInternalCrossReference(id, label) +func (c *current) onEscapedMarkedText27() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDoubleQuotedStringElement129() (interface{}, error) { +func (p *parser) callonEscapedMarkedText27() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuotedStringElement129(stack["id"], stack["label"]) + return p.cur.onEscapedMarkedText27() } -func (c *current) onDoubleQuotedStringElement175() (interface{}, error) { - // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ - return string(c.text), nil +func (c *current) onEscapedMarkedText24(backslashes, elements interface{}) (interface{}, error) { + return types.NewEscapedQuotedText(backslashes.(string), "#", elements.([]interface{})) } -func (p *parser) callonDoubleQuotedStringElement175() (interface{}, error) { +func (p *parser) callonEscapedMarkedText24() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuotedStringElement175() + return p.cur.onEscapedMarkedText24(stack["backslashes"], stack["elements"]) } -func (c *current) onDoubleQuotedStringElement171(id interface{}) (interface{}, error) { - return types.NewInternalCrossReference(id, nil) +func (c *current) onSubscriptText1(element interface{}) (interface{}, error) { + // wraps a single word + return types.NewQuotedText(types.SingleQuoteSubscript, element) } -func (p *parser) callonDoubleQuotedStringElement171() (interface{}, error) { +func (p *parser) callonSubscriptText1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuotedStringElement171(stack["id"]) + return p.cur.onSubscriptText1(stack["element"]) } -func (c *current) onDoubleQuotedStringElement127() (interface{}, error) { - return types.NewStringElement(string(c.text)) +func (c *current) onSubscriptTextElement3() (interface{}, error) { + // anything except spaces, EOL or '~' + return c.text, nil } -func (p *parser) callonDoubleQuotedStringElement127() (interface{}, error) { +func (p *parser) callonSubscriptTextElement3() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuotedStringElement127() + return p.cur.onSubscriptTextElement3() } -func (c *current) onDoubleQuotedStringElement179() (interface{}, error) { - return types.NewSpecialCharacter(string(c.text)) +func (c *current) onEscapedSubscriptText4() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDoubleQuotedStringElement179() (interface{}, error) { +func (p *parser) callonEscapedSubscriptText4() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuotedStringElement179() + return p.cur.onEscapedSubscriptText4() } -func (c *current) onDoubleQuotedStringElement122(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onEscapedSubscriptText1(backslashes, element interface{}) (interface{}, error) { + // simple punctuation must be evaluated last + return types.NewEscapedQuotedText(backslashes.(string), "~", element) } -func (p *parser) callonDoubleQuotedStringElement122() (interface{}, error) { +func (p *parser) callonEscapedSubscriptText1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuotedStringElement122(stack["element"]) + return p.cur.onEscapedSubscriptText1(stack["backslashes"], stack["element"]) } -func (c *current) onDoubleQuotedStringElement183() (interface{}, error) { - return types.NewStringElement(string(c.text)) +func (c *current) onSuperscriptText1(element interface{}) (interface{}, error) { + // wraps a single word + return types.NewQuotedText(types.SingleQuoteSuperscript, element) } -func (p *parser) callonDoubleQuotedStringElement183() (interface{}, error) { +func (p *parser) callonSuperscriptText1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuotedStringElement183() + return p.cur.onSuperscriptText1(stack["element"]) } -func (c *current) onDoubleQuotedStringElement1(element interface{}) (interface{}, error) { - c.trackSpaceSuffix(element) - return element, nil +func (c *current) onSuperscriptTextElement3() (interface{}, error) { + // anything except spaces, EOL or '^' + return c.text, nil } -func (p *parser) callonDoubleQuotedStringElement1() (interface{}, error) { +func (p *parser) callonSuperscriptTextElement3() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuotedStringElement1(stack["element"]) + return p.cur.onSuperscriptTextElement3() } -func (c *current) onQuotedTextInDoubleQuotedString10(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onEscapedSuperscriptText4() (interface{}, error) { + return string(c.text), nil + } -func (p *parser) callonQuotedTextInDoubleQuotedString10() (interface{}, error) { +func (p *parser) callonEscapedSuperscriptText4() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onQuotedTextInDoubleQuotedString10(stack["element"]) + return p.cur.onEscapedSuperscriptText4() } -func (c *current) onQuotedTextInDoubleQuotedString1(attributes, text interface{}) (interface{}, error) { - return text.(*types.QuotedText).WithAttributes(attributes) +func (c *current) onEscapedSuperscriptText1(backslashes, element interface{}) (interface{}, error) { + // simple punctuation must be evaluated last + return types.NewEscapedQuotedText(backslashes.(string), "^", element) } -func (p *parser) callonQuotedTextInDoubleQuotedString1() (interface{}, error) { +func (p *parser) callonEscapedSuperscriptText1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onQuotedTextInDoubleQuotedString1(stack["attributes"], stack["text"]) + return p.cur.onEscapedSuperscriptText1(stack["backslashes"], stack["element"]) } func (c *current) onSubstitutions17() (interface{}, error) { @@ -100889,7 +98880,7 @@ func (p *parser) callonSubstitutions210() (bool, error) { } func (c *current) onSubstitutions217() (interface{}, error) { - return types.NewSymbol("`'") + return types.NewSymbol("\"`") } @@ -100900,7 +98891,7 @@ func (p *parser) callonSubstitutions217() (interface{}, error) { } func (c *current) onSubstitutions219() (interface{}, error) { - return types.NewSymbol("(C)") + return types.NewSymbol("`\"") } @@ -100911,7 +98902,7 @@ func (p *parser) callonSubstitutions219() (interface{}, error) { } func (c *current) onSubstitutions221() (interface{}, error) { - return types.NewSymbol("(TM)") + return types.NewSymbol("'`") } @@ -100922,7 +98913,7 @@ func (p *parser) callonSubstitutions221() (interface{}, error) { } func (c *current) onSubstitutions223() (interface{}, error) { - return types.NewSymbol("(R)") + return types.NewSymbol("`'") } @@ -100933,7 +98924,7 @@ func (p *parser) callonSubstitutions223() (interface{}, error) { } func (c *current) onSubstitutions225() (interface{}, error) { - return types.NewSymbol("...") + return types.NewSymbol("(C)") } @@ -100943,19 +98934,8 @@ func (p *parser) callonSubstitutions225() (interface{}, error) { return p.cur.onSubstitutions225() } -func (c *current) onSubstitutions213() (interface{}, error) { - return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) - -} - -func (p *parser) callonSubstitutions213() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onSubstitutions213() -} - func (c *current) onSubstitutions227() (interface{}, error) { - return types.NewSymbol("`'") + return types.NewSymbol("(TM)") } @@ -100966,7 +98946,7 @@ func (p *parser) callonSubstitutions227() (interface{}, error) { } func (c *current) onSubstitutions229() (interface{}, error) { - return types.NewSymbol("(C)") + return types.NewSymbol("(R)") } @@ -100977,7 +98957,7 @@ func (p *parser) callonSubstitutions229() (interface{}, error) { } func (c *current) onSubstitutions231() (interface{}, error) { - return types.NewSymbol("(TM)") + return types.NewSymbol("...") } @@ -100987,8 +98967,19 @@ func (p *parser) callonSubstitutions231() (interface{}, error) { return p.cur.onSubstitutions231() } +func (c *current) onSubstitutions213() (interface{}, error) { + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) + +} + +func (p *parser) callonSubstitutions213() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSubstitutions213() +} + func (c *current) onSubstitutions233() (interface{}, error) { - return types.NewSymbol("(R)") + return types.NewSymbol("\"`") } @@ -100999,7 +98990,7 @@ func (p *parser) callonSubstitutions233() (interface{}, error) { } func (c *current) onSubstitutions235() (interface{}, error) { - return types.NewSymbol("...") + return types.NewSymbol("`\"") } @@ -101010,8 +99001,7 @@ func (p *parser) callonSubstitutions235() (interface{}, error) { } func (c *current) onSubstitutions237() (interface{}, error) { - log.Debug("matched escaped apostrophe") - return types.NewStringElement(strings.TrimSuffix(string(c.text), `\'`) + `'`) // retain the apostrophe, but discard the `\` escape char + return types.NewSymbol("'`") } @@ -101021,8 +99011,30 @@ func (p *parser) callonSubstitutions237() (interface{}, error) { return p.cur.onSubstitutions237() } +func (c *current) onSubstitutions239() (interface{}, error) { + return types.NewSymbol("`'") + +} + +func (p *parser) callonSubstitutions239() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSubstitutions239() +} + +func (c *current) onSubstitutions241() (interface{}, error) { + return types.NewSymbol("(C)") + +} + +func (p *parser) callonSubstitutions241() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSubstitutions241() +} + func (c *current) onSubstitutions243() (interface{}, error) { - return types.NewSymbolWithForeword("'", strings.TrimSuffix(string(c.text), `'`)) + return types.NewSymbol("(TM)") } @@ -101032,6 +99044,51 @@ func (p *parser) callonSubstitutions243() (interface{}, error) { return p.cur.onSubstitutions243() } +func (c *current) onSubstitutions245() (interface{}, error) { + return types.NewSymbol("(R)") + +} + +func (p *parser) callonSubstitutions245() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSubstitutions245() +} + +func (c *current) onSubstitutions247() (interface{}, error) { + return types.NewSymbol("...") + +} + +func (p *parser) callonSubstitutions247() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSubstitutions247() +} + +func (c *current) onSubstitutions249() (interface{}, error) { + log.Debug("matched escaped apostrophe") + return types.NewStringElement(strings.TrimSuffix(string(c.text), `\'`) + `'`) // retain the apostrophe, but discard the `\` escape char + +} + +func (p *parser) callonSubstitutions249() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSubstitutions249() +} + +func (c *current) onSubstitutions255() (interface{}, error) { + return types.NewSymbolWithForeword("'", strings.TrimSuffix(string(c.text), `'`)) + +} + +func (p *parser) callonSubstitutions255() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSubstitutions255() +} + func (c *current) onSubstitutions208(element interface{}) (interface{}, error) { return element, nil @@ -101043,16 +99100,16 @@ func (p *parser) callonSubstitutions208() (interface{}, error) { return p.cur.onSubstitutions208(stack["element"]) } -func (c *current) onSubstitutions249() (interface{}, error) { +func (c *current) onSubstitutions261() (interface{}, error) { return types.NewStringElement(string(c.text)) } -func (p *parser) callonSubstitutions249() (interface{}, error) { +func (p *parser) callonSubstitutions261() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSubstitutions249() + return p.cur.onSubstitutions261() } func (c *current) onSubstitutions5(element interface{}) (interface{}, error) { @@ -101787,7 +99844,7 @@ func (p *parser) callonHeaderGroupElement273() (bool, error) { } func (c *current) onHeaderGroupElement280() (interface{}, error) { - return types.NewSymbol("`'") + return types.NewSymbol("\"`") } @@ -101798,7 +99855,7 @@ func (p *parser) callonHeaderGroupElement280() (interface{}, error) { } func (c *current) onHeaderGroupElement282() (interface{}, error) { - return types.NewSymbol("(C)") + return types.NewSymbol("`\"") } @@ -101809,7 +99866,7 @@ func (p *parser) callonHeaderGroupElement282() (interface{}, error) { } func (c *current) onHeaderGroupElement284() (interface{}, error) { - return types.NewSymbol("(TM)") + return types.NewSymbol("'`") } @@ -101820,7 +99877,7 @@ func (p *parser) callonHeaderGroupElement284() (interface{}, error) { } func (c *current) onHeaderGroupElement286() (interface{}, error) { - return types.NewSymbol("(R)") + return types.NewSymbol("`'") } @@ -101831,7 +99888,7 @@ func (p *parser) callonHeaderGroupElement286() (interface{}, error) { } func (c *current) onHeaderGroupElement288() (interface{}, error) { - return types.NewSymbol("...") + return types.NewSymbol("(C)") } @@ -101841,19 +99898,8 @@ func (p *parser) callonHeaderGroupElement288() (interface{}, error) { return p.cur.onHeaderGroupElement288() } -func (c *current) onHeaderGroupElement276() (interface{}, error) { - return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) - -} - -func (p *parser) callonHeaderGroupElement276() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onHeaderGroupElement276() -} - func (c *current) onHeaderGroupElement290() (interface{}, error) { - return types.NewSymbol("`'") + return types.NewSymbol("(TM)") } @@ -101864,7 +99910,7 @@ func (p *parser) callonHeaderGroupElement290() (interface{}, error) { } func (c *current) onHeaderGroupElement292() (interface{}, error) { - return types.NewSymbol("(C)") + return types.NewSymbol("(R)") } @@ -101875,7 +99921,7 @@ func (p *parser) callonHeaderGroupElement292() (interface{}, error) { } func (c *current) onHeaderGroupElement294() (interface{}, error) { - return types.NewSymbol("(TM)") + return types.NewSymbol("...") } @@ -101885,8 +99931,19 @@ func (p *parser) callonHeaderGroupElement294() (interface{}, error) { return p.cur.onHeaderGroupElement294() } +func (c *current) onHeaderGroupElement276() (interface{}, error) { + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) + +} + +func (p *parser) callonHeaderGroupElement276() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onHeaderGroupElement276() +} + func (c *current) onHeaderGroupElement296() (interface{}, error) { - return types.NewSymbol("(R)") + return types.NewSymbol("\"`") } @@ -101897,7 +99954,7 @@ func (p *parser) callonHeaderGroupElement296() (interface{}, error) { } func (c *current) onHeaderGroupElement298() (interface{}, error) { - return types.NewSymbol("...") + return types.NewSymbol("`\"") } @@ -101908,8 +99965,7 @@ func (p *parser) callonHeaderGroupElement298() (interface{}, error) { } func (c *current) onHeaderGroupElement300() (interface{}, error) { - log.Debug("matched escaped apostrophe") - return types.NewStringElement(strings.TrimSuffix(string(c.text), `\'`) + `'`) // retain the apostrophe, but discard the `\` escape char + return types.NewSymbol("'`") } @@ -101919,8 +99975,30 @@ func (p *parser) callonHeaderGroupElement300() (interface{}, error) { return p.cur.onHeaderGroupElement300() } +func (c *current) onHeaderGroupElement302() (interface{}, error) { + return types.NewSymbol("`'") + +} + +func (p *parser) callonHeaderGroupElement302() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onHeaderGroupElement302() +} + +func (c *current) onHeaderGroupElement304() (interface{}, error) { + return types.NewSymbol("(C)") + +} + +func (p *parser) callonHeaderGroupElement304() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onHeaderGroupElement304() +} + func (c *current) onHeaderGroupElement306() (interface{}, error) { - return types.NewSymbolWithForeword("'", strings.TrimSuffix(string(c.text), `'`)) + return types.NewSymbol("(TM)") } @@ -101930,6 +100008,51 @@ func (p *parser) callonHeaderGroupElement306() (interface{}, error) { return p.cur.onHeaderGroupElement306() } +func (c *current) onHeaderGroupElement308() (interface{}, error) { + return types.NewSymbol("(R)") + +} + +func (p *parser) callonHeaderGroupElement308() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onHeaderGroupElement308() +} + +func (c *current) onHeaderGroupElement310() (interface{}, error) { + return types.NewSymbol("...") + +} + +func (p *parser) callonHeaderGroupElement310() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onHeaderGroupElement310() +} + +func (c *current) onHeaderGroupElement312() (interface{}, error) { + log.Debug("matched escaped apostrophe") + return types.NewStringElement(strings.TrimSuffix(string(c.text), `\'`) + `'`) // retain the apostrophe, but discard the `\` escape char + +} + +func (p *parser) callonHeaderGroupElement312() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onHeaderGroupElement312() +} + +func (c *current) onHeaderGroupElement318() (interface{}, error) { + return types.NewSymbolWithForeword("'", strings.TrimSuffix(string(c.text), `'`)) + +} + +func (p *parser) callonHeaderGroupElement318() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onHeaderGroupElement318() +} + func (c *current) onHeaderGroupElement271(element interface{}) (interface{}, error) { return element, nil @@ -101941,64 +100064,64 @@ func (p *parser) callonHeaderGroupElement271() (interface{}, error) { return p.cur.onHeaderGroupElement271(stack["element"]) } -func (c *current) onHeaderGroupElement316() (interface{}, error) { +func (c *current) onHeaderGroupElement328() (interface{}, error) { // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ return string(c.text), nil } -func (p *parser) callonHeaderGroupElement316() (interface{}, error) { +func (p *parser) callonHeaderGroupElement328() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onHeaderGroupElement316() + return p.cur.onHeaderGroupElement328() } -func (c *current) onHeaderGroupElement312(id interface{}) (interface{}, error) { +func (c *current) onHeaderGroupElement324(id interface{}) (interface{}, error) { //return types.NewStringElement("[[" + id.(string) + "]]") return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) } -func (p *parser) callonHeaderGroupElement312() (interface{}, error) { +func (p *parser) callonHeaderGroupElement324() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onHeaderGroupElement312(stack["id"]) + return p.cur.onHeaderGroupElement324(stack["id"]) } -func (c *current) onHeaderGroupElement324() (interface{}, error) { +func (c *current) onHeaderGroupElement336() (interface{}, error) { // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ return string(c.text), nil } -func (p *parser) callonHeaderGroupElement324() (interface{}, error) { +func (p *parser) callonHeaderGroupElement336() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onHeaderGroupElement324() + return p.cur.onHeaderGroupElement336() } -func (c *current) onHeaderGroupElement320(id interface{}) (interface{}, error) { +func (c *current) onHeaderGroupElement332(id interface{}) (interface{}, error) { // no EOL here since there can be multiple InlineElementID on the same line return types.NewInlineAnchor(id.(string)) } -func (p *parser) callonHeaderGroupElement320() (interface{}, error) { +func (p *parser) callonHeaderGroupElement332() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onHeaderGroupElement320(stack["id"]) + return p.cur.onHeaderGroupElement332(stack["id"]) } -func (c *current) onHeaderGroupElement329() (interface{}, error) { +func (c *current) onHeaderGroupElement341() (interface{}, error) { return types.NewStringElement(string(c.text)) } -func (p *parser) callonHeaderGroupElement329() (interface{}, error) { +func (p *parser) callonHeaderGroupElement341() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onHeaderGroupElement329() + return p.cur.onHeaderGroupElement341() } func (c *current) onHeaderGroupElement1(element interface{}) (interface{}, error) { @@ -102401,26 +100524,15 @@ func (p *parser) callonInlinePassthrough1() (interface{}, error) { return p.cur.onInlinePassthrough1(stack["element"]) } -func (c *current) onQuote3() (bool, error) { +func (c *current) onQuote2() (bool, error) { return c.isSubstitutionEnabled(Quotes), nil } -func (p *parser) callonQuote3() (bool, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onQuote3() -} - -func (c *current) onQuote1(element interface{}) (interface{}, error) { - return element, nil - -} - -func (p *parser) callonQuote1() (interface{}, error) { +func (p *parser) callonQuote2() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onQuote1(stack["element"]) + return p.cur.onQuote2() } func (c *current) onTableColumnsAttribute15() (interface{}, error) { diff --git a/pkg/parser/parser.peg b/pkg/parser/parser.peg index 5cee456b..92372f7b 100644 --- a/pkg/parser/parser.peg +++ b/pkg/parser/parser.peg @@ -513,7 +513,8 @@ ShortHandAttributeValue <- / elements:( // unquoted shorthand value may include placeholders and substitutions but NOT comma, space, equal sign and dots // also, cannot be followed by an `=` sign - ([^,=.%# \r\n\uFFFD{\]]+ { + QuotationMark + / ([^,=.%# \r\n\uFFFD{\]]+ { return types.NewStringElement(string(c.text)) }) // / ElementPlaceHolder @@ -575,6 +576,7 @@ SingleQuotedAttributeValueContent <- Alphanums / Space / Quote + / QuotationMark / AttributeReference / (`\'` { return types.NewStringElement(`'`) // escaped single quote @@ -600,6 +602,7 @@ DoubleQuotedAttributeValueContent <- Alphanums / Space / Quote + / QuotationMark / AttributeReference / (`\"` { return types.NewStringElement(`"`) // escaped double quote @@ -620,14 +623,18 @@ UnquotedAttributeValue <- // so we need to count the `[` and `]` to balance !Space // can't start with a space (eg: can't have `[ cookie ]`) elements:( - Quote // quotes can have their own attributes + Quote // quotes can have their own attributes // TODO: move down / ("[" UnquotedAttributeValue "]") // recursively within brackets (see comment above) // / ElementPlaceHolder - / ([^=,\uFFFD\]{ ]+ { // not within brackets and stop on space and `{` + / ([^=,\uFFFD\]{'"` ]+ { // not within brackets and stop on space and quotation marks (`"') return string(c.text), nil }) / Space / AttributeReference + / QuotationMark + / ("'" / "`" / "\"") { // standalone characters not used in quotation marks + return string(c.text), nil + } / "{" )+ { return types.Reduce(elements, strings.TrimSpace), nil @@ -1329,7 +1336,7 @@ IndexTerm <- "((" term:(IndexTermContent) "))" { return types.NewIndexTerm(term.([]interface{})) } -IndexTermContent <- elements:(Word / QuotedString / QuotedText / Space / SpecialCharacter / ElementPlaceHolder / (!"))" .) { +IndexTermContent <- elements:(Word / QuotedText / Space / SpecialCharacter / ElementPlaceHolder / (!"))" .) { return string(c.text), nil })+ { return types.NewInlineElements(elements.([]interface{})) @@ -1976,7 +1983,6 @@ DoubleQuoteBoldTextElement <- / InlineMacro / SpecialCharacter // must be after InlineMacro (because of BareURL) / Symbol - / QuotedString / QuotedTextInDoubleQuoteBoldText / ElementPlaceHolder / DoubleQuoteBoldTextFallbackCharacter) { @@ -2032,7 +2038,6 @@ SingleQuoteBoldTextElement <- / InlineMacro / SpecialCharacter // must be after InlineMacro (because of BareURL) / Symbol - / QuotedString / QuotedTextInSingleQuoteBoldText / ElementPlaceHolder / SingleQuoteBoldTextFallbackCharacter @@ -2120,7 +2125,6 @@ DoubleQuoteItalicTextElement <- / InlineMacro / SpecialCharacter // must be after InlineMacro (because of BareURL) / Symbol - / QuotedString / QuotedTextInDoubleQuoteItalicText / ElementPlaceHolder / DoubleQuoteItalicTextFallbackCharacter) { @@ -2188,7 +2192,6 @@ SingleQuoteItalicTextElement <- / InlineMacro // must be after InlineMacro (because of BareURL) / SpecialCharacter / Symbol - / QuotedString / QuotedTextInSingleQuoteItalicText / ElementPlaceHolder / SingleQuoteItalicTextFallbackCharacter @@ -2274,7 +2277,6 @@ DoubleQuoteMonospaceTextElement <- / InlineMacro / SpecialCharacter // must be after InlineMacro (because of BareURL) / Symbol - / QuotedString / RawApostrophe // must be before SingleQuoteMonospaceText / QuotedTextInDoubleQuoteMonospaceText / ElementPlaceHolder @@ -2346,7 +2348,6 @@ SingleQuoteMonospaceTextElement <- / InlineMacro // must be after InlineMacro (because of BareURL) / SpecialCharacter / Symbol - / QuotedString / QuotedTextInSingleQuoteMonospaceText / RawApostrophe / ElementPlaceHolder @@ -2434,7 +2435,6 @@ DoubleQuoteMarkedTextElement <- // may start and end with spaces / InlineMacro / SpecialCharacter // must be after InlineMacro (because of BareURL) / Symbol - / QuotedString / QuotedTextInDoubleMarkedBoldText / ElementPlaceHolder / DoubleQuoteMarkedTextFallbackCharacter @@ -2504,7 +2504,6 @@ SingleQuoteMarkedTextElement <- / InlineMacro / SpecialCharacter // must be after InlineMacro (because of BareURL) / Symbol - / QuotedString / QuotedTextInSingleQuoteMarkedText / ElementPlaceHolder / SingleQuoteMarkedTextFallbackCharacter @@ -2609,115 +2608,6 @@ EscapedSuperscriptText <- return types.NewEscapedQuotedText(backslashes.(string), "^", element) } -// ------------------------------------------------------------------------------------------------- -// Quoted Strings (between curly single or double quotes) -// ------------------------------------------------------------------------------------------------- - -QuotedString <- SingleQuotedString / DoubleQuotedString - -SingleQuotedString <- - SingleQuoteStringStart - elements:SingleQuotedStringElements - SingleQuoteStringEnd { - return types.NewQuotedString(types.SingleQuote, elements.([]interface{})) - } - -SingleQuotedStringElements <- - elements:(SingleQuotedStringElement)+ { - c.resetSpaceSuffixTracking() - return types.NewInlineElements(elements) - } - -SingleQuoteStringStart <- "'`" ![ \t\r\n] - -SingleQuoteStringEnd <- "`'" - -QuotedStringWord <- [\pL0-9]+ &(Space / SingleQuoteStringEnd) { - return types.NewStringElement(string(c.text)) - } - -// We have to treat this one special, because of ambiguity with monospace markup. -SingleQuotedStringElement <- - !SingleQuoteStringEnd - element:( - QuotedStringWord - / Space !SingleQuoteStringEnd - / Newline !Newline // 2 newlines split the paragraph - / AttributeReference - / InlineMacro - / SpecialCharacter // must be after InlineMacro (because of BareURL) - / LineBreak !SingleQuoteStringEnd - / Symbol - / QuotedTextInSingleQuotedString - / DoubleQuotedString - / SingleQuotedStringFallbackCharacter - ) { - c.trackSpaceSuffix(element) - return element, nil - } - -QuotedTextInSingleQuotedString <- - attributes:(LongHandAttributes)? - text:(BoldText - / ItalicText - / (!"`'" element:(MonospaceText) { return element, nil}) - / SubscriptText - / SuperscriptText - / MarkedText) { - return text.(*types.QuotedText).WithAttributes(attributes) - } - -SingleQuotedStringFallbackCharacter <- [^\r\n\t `] / "`" !"'" { // ' - return types.NewStringElement(string(c.text)) - } - -DoubleQuotedString <- DoubleQuoteStringStart elements:DoubleQuotedStringElements DoubleQuoteStringEnd { - return types.NewQuotedString(types.DoubleQuote, elements.([]interface{})) - } - -DoubleQuotedStringElements <- elements:(DoubleQuotedStringElement+) { - c.resetSpaceSuffixTracking() - return types.NewInlineElements(elements) - } - -// We have to treat this one special, because of ambiguity with monospace markup. -DoubleQuotedStringElement <- - !DoubleQuoteStringEnd - element:( - QuotedStringWord - / Space !DoubleQuoteStringEnd - / Newline !Newline // 2 newlines split the paragraph - / LineBreak !SingleQuoteStringEnd - / AttributeReference - / InlineMacro - / SpecialCharacter // must be after InlineMacro (because of BareURL) - / QuotedTextInDoubleQuotedString - / SingleQuotedString - / DoubleQuotedStringFallbackCharacter) { - c.trackSpaceSuffix(element) - return element, nil - } - -QuotedTextInDoubleQuotedString <- - attributes:(LongHandAttributes)? - text:( - BoldText - / ItalicText - / (!"`\"" element:(MonospaceText) { return element, nil}) - / SubscriptText - / SuperscriptText - / MarkedText) { - return text.(*types.QuotedText).WithAttributes(attributes) - } - -DoubleQuoteStringStart <- "\"`" ![ \t\r\n] - -DoubleQuoteStringEnd <- "`\"" - -DoubleQuotedStringFallbackCharacter <- ([^\r\n\t `] / "`" !"\"") { - return types.NewStringElement(string(c.text)) - } - // ------------------------------------------------------------------------------------- // Sections // ------------------------------------------------------------------------------------- @@ -2837,11 +2727,7 @@ Quote <- &{ return c.isSubstitutionEnabled(Quotes), nil } - element:( - QuotedText - / QuotedString) { - return element, nil - } + QuotedText Replacement <- // check if enabled with the current substitution context @@ -2889,19 +2775,29 @@ SingleLineCommentContent <- [^\r\n]* { // ------------------------------------------------------------------------------------- Symbol <- // escaped - `\` (Apostrophe / Copyright / Trademark / Registered / Ellipsis) { + `\` (QuotationMark / Copyright / Trademark / Registered / Ellipsis) { return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) } // unescaped - / Apostrophe / Copyright / Trademark / Registered / Ellipsis + / QuotationMark / Copyright / Trademark / Registered / Ellipsis // / TypographicQuote -Apostrophe <- "`'" { - return types.NewSymbol("`'") +QuotationMark <- + "\"`" { + return types.NewSymbol("\"`") } + / "`\"" { + return types.NewSymbol("`\"") + } + / "'`" { + return types.NewSymbol("'`") + } + / "`'" { + return types.NewSymbol("`'") + } -RawApostrophe <- "`'" // no conversion +RawApostrophe <- "`'" // no conversion // TODO: needed? Copyright <- "(C)" { return types.NewSymbol("(C)") diff --git a/pkg/parser/parser_ext.go b/pkg/parser/parser_ext.go index e8659a5f..fbb274b2 100644 --- a/pkg/parser/parser_ext.go +++ b/pkg/parser/parser_ext.go @@ -128,13 +128,6 @@ func (c *current) isPreceededBySpace() bool { return ok && s } -func (c *current) resetSpaceSuffixTracking() { - if log.IsLevelEnabled(log.DebugLevel) { - log.Debugf("resetting space suffix tracking") - } - delete(c.globalStore, spaceSuffixTrackingKey) -} - // verifies that the content does not end with a space func validateSingleQuoteElements(elements []interface{}) (bool, error) { // if log.IsLevelEnabled(log.DebugLevel) { diff --git a/pkg/parser/quoted_string_test.go b/pkg/parser/quoted_string_test.go index da7f7dd4..0094e32a 100644 --- a/pkg/parser/quoted_string_test.go +++ b/pkg/parser/quoted_string_test.go @@ -18,11 +18,14 @@ var _ = Describe("quoted strings", func() { Elements: []interface{}{ &types.Paragraph{ Elements: []interface{}{ - &types.QuotedString{ - Kind: types.SingleQuote, - Elements: []interface{}{ - &types.StringElement{Content: "curly was single"}, - }, + &types.Symbol{ + Name: "'`", + }, + &types.StringElement{ + Content: "curly was single", + }, + &types.Symbol{ + Name: "`'", }, }, }, @@ -37,8 +40,11 @@ var _ = Describe("quoted strings", func() { Elements: []interface{}{ &types.Paragraph{ Elements: []interface{}{ + &types.Symbol{ + Name: "'`", + }, &types.StringElement{ - Content: "'` curly was single ", + Content: " curly was single ", }, &types.Symbol{ Name: "`'", @@ -56,8 +62,11 @@ var _ = Describe("quoted strings", func() { Elements: []interface{}{ &types.Paragraph{ Elements: []interface{}{ + &types.Symbol{ + Name: "'`", + }, &types.StringElement{ - Content: "'`curly was single ", + Content: "curly was single ", }, &types.Symbol{ Name: "`'", @@ -75,8 +84,11 @@ var _ = Describe("quoted strings", func() { Elements: []interface{}{ &types.Paragraph{ Elements: []interface{}{ + &types.Symbol{ + Name: "'`", + }, &types.StringElement{ - Content: "'` curly was single", + Content: " curly was single", }, &types.Symbol{ Name: "`'", @@ -189,19 +201,26 @@ var _ = Describe("quoted strings", func() { Elements: []interface{}{ &types.Paragraph{ Elements: []interface{}{ - &types.QuotedString{ - Kind: types.SingleQuote, + &types.Symbol{ + Name: "'`", + }, + &types.StringElement{ + Content: "curly ", + }, + &types.QuotedText{ + Kind: types.SingleQuoteBold, Elements: []interface{}{ - &types.StringElement{Content: "curly "}, - &types.QuotedText{ - Kind: types.SingleQuoteBold, - Elements: []interface{}{ - &types.StringElement{Content: "was"}, - }, + &types.StringElement{ + Content: "was", }, - &types.StringElement{Content: " single"}, }, }, + &types.StringElement{ + Content: " single", + }, + &types.Symbol{ + Name: "`'", + }, }, }, }, @@ -215,19 +234,26 @@ var _ = Describe("quoted strings", func() { Elements: []interface{}{ &types.Paragraph{ Elements: []interface{}{ - &types.QuotedString{ - Kind: types.SingleQuote, + &types.Symbol{ + Name: "'`", + }, + &types.StringElement{ + Content: "curly ", + }, + &types.QuotedText{ + Kind: types.SingleQuoteItalic, Elements: []interface{}{ - &types.StringElement{Content: "curly "}, - &types.QuotedText{ - Kind: types.SingleQuoteItalic, - Elements: []interface{}{ - &types.StringElement{Content: "was"}, - }, + &types.StringElement{ + Content: "was", }, - &types.StringElement{Content: " single"}, }, }, + &types.StringElement{ + Content: " single", + }, + &types.Symbol{ + Name: "`'", + }, }, }, }, @@ -241,37 +267,37 @@ var _ = Describe("quoted strings", func() { Elements: []interface{}{ &types.Paragraph{ Elements: []interface{}{ - &types.QuotedString{ - Kind: types.SingleQuote, + &types.Symbol{ + Name: "'`", + }, + &types.StringElement{ + Content: "curly ", + }, + &types.QuotedText{ + Kind: types.SingleQuoteMarked, + Attributes: types.Attributes{ + types.AttrRoles: types.Roles{"strikeout"}, + }, Elements: []interface{}{ &types.StringElement{ - Content: "curly ", - }, - &types.QuotedText{ - Kind: types.SingleQuoteMarked, - Attributes: types.Attributes{ - types.AttrRoles: types.Roles{"strikeout"}, - }, - Elements: []interface{}{ - &types.StringElement{ - Content: "was", - }, - }, - }, - &types.QuotedText{ - Kind: types.SingleQuoteItalic, - Elements: []interface{}{ - &types.StringElement{ - Content: "is", - }, - }, + Content: "was", }, - + }, + }, + &types.QuotedText{ + Kind: types.SingleQuoteItalic, + Elements: []interface{}{ &types.StringElement{ - Content: " single", + Content: "is", }, }, }, + &types.StringElement{ + Content: " single", + }, + &types.Symbol{ + Name: "`'", + }, }, }, }, @@ -285,19 +311,26 @@ var _ = Describe("quoted strings", func() { Elements: []interface{}{ &types.Paragraph{ Elements: []interface{}{ - &types.QuotedString{ - Kind: types.SingleQuote, + &types.Symbol{ + Name: "'`", + }, + &types.StringElement{ + Content: "curly ", + }, + &types.QuotedText{ + Kind: types.SingleQuoteMonospace, Elements: []interface{}{ - &types.StringElement{Content: "curly "}, - &types.QuotedText{ - Kind: types.SingleQuoteMonospace, - Elements: []interface{}{ - &types.StringElement{Content: "is"}, - }, + &types.StringElement{ + Content: "is", }, - &types.StringElement{Content: " single"}, }, }, + &types.StringElement{ + Content: " single", + }, + &types.Symbol{ + Name: "`'", + }, }, }, }, @@ -311,17 +344,20 @@ var _ = Describe("quoted strings", func() { Elements: []interface{}{ &types.Paragraph{ Elements: []interface{}{ - &types.QuotedString{ - Kind: types.SingleQuote, + &types.Symbol{ + Name: "'`", + }, + &types.QuotedText{ + Kind: types.SingleQuoteMonospace, Elements: []interface{}{ - &types.QuotedText{ - Kind: types.SingleQuoteMonospace, - Elements: []interface{}{ - &types.StringElement{Content: "curly"}, - }, + &types.StringElement{ + Content: "curly", }, }, }, + &types.Symbol{ + Name: "`'", + }, }, }, }, @@ -335,17 +371,23 @@ var _ = Describe("quoted strings", func() { Elements: []interface{}{ &types.Paragraph{ Elements: []interface{}{ - &types.QuotedString{ - Kind: types.SingleQuote, - Elements: []interface{}{ - &types.StringElement{Content: "single"}, - &types.QuotedString{ - Kind: types.DoubleQuote, - Elements: []interface{}{ - &types.StringElement{Content: "double"}, - }, - }, - }, + &types.Symbol{ + Name: "'`", + }, + &types.StringElement{ + Content: "single", + }, + &types.Symbol{ + Name: "\"`", + }, + &types.StringElement{ + Content: "double", + }, + &types.Symbol{ + Name: "`\"", + }, + &types.Symbol{ + Name: "`'", }, }, }, @@ -363,11 +405,14 @@ var _ = Describe("quoted strings", func() { &types.QuotedText{ Kind: types.SingleQuoteMonospace, Elements: []interface{}{ - &types.QuotedString{ - Kind: types.SingleQuote, - Elements: []interface{}{ - &types.StringElement{Content: "curly"}, - }, + &types.Symbol{ + Name: "'`", + }, + &types.StringElement{ + Content: "curly", + }, + &types.Symbol{ + Name: "`'", }, }, }, @@ -387,11 +432,14 @@ var _ = Describe("quoted strings", func() { &types.QuotedText{ Kind: types.SingleQuoteItalic, Elements: []interface{}{ - &types.QuotedString{ - Kind: types.SingleQuote, - Elements: []interface{}{ - &types.StringElement{Content: "curly"}, - }, + &types.Symbol{ + Name: "'`", + }, + &types.StringElement{ + Content: "curly", + }, + &types.Symbol{ + Name: "`'", }, }, }, @@ -411,11 +459,14 @@ var _ = Describe("quoted strings", func() { &types.QuotedText{ Kind: types.SingleQuoteBold, Elements: []interface{}{ - &types.QuotedString{ - Kind: types.SingleQuote, - Elements: []interface{}{ - &types.StringElement{Content: "curly"}, - }, + &types.Symbol{ + Name: "'`", + }, + &types.StringElement{ + Content: "curly", + }, + &types.Symbol{ + Name: "`'", }, }, }, @@ -439,13 +490,14 @@ var _ = Describe("quoted strings", func() { }, Attributes: types.Attributes{ types.AttrInlineLinkText: []interface{}{ - &types.QuotedString{ - Kind: types.SingleQuote, - Elements: []interface{}{ - &types.StringElement{ - Content: "example", - }, - }, + &types.Symbol{ + Name: "'`", + }, + &types.StringElement{ + Content: "example", + }, + &types.Symbol{ + Name: "`'", }, }, }, @@ -473,13 +525,14 @@ var _ = Describe("quoted strings", func() { &types.StringElement{ Content: "an ", }, - &types.QuotedString{ - Kind: types.SingleQuote, - Elements: []interface{}{ - &types.StringElement{ - Content: "example", - }, - }, + &types.Symbol{ + Name: "'`", + }, + &types.StringElement{ + Content: "example", + }, + &types.Symbol{ + Name: "`'", }, }, }, @@ -507,13 +560,14 @@ var _ = Describe("quoted strings", func() { &types.StringElement{ Content: "an ", }, - &types.QuotedString{ - Kind: types.SingleQuote, - Elements: []interface{}{ - &types.StringElement{ - Content: "example", - }, - }, + &types.Symbol{ + Name: "'`", + }, + &types.StringElement{ + Content: "example", + }, + &types.Symbol{ + Name: "`'", }, }, }, @@ -531,17 +585,20 @@ var _ = Describe("quoted strings", func() { Elements: []interface{}{ &types.Paragraph{ Elements: []interface{}{ - &types.QuotedString{ - Kind: types.SingleQuote, - Elements: []interface{}{ - &types.StringElement{Content: "a "}, - &types.InlineImage{ - Location: &types.Location{ - Path: "foo.png", - }, - }, + &types.Symbol{ + Name: "'`", + }, + &types.StringElement{ + Content: "a ", + }, + &types.InlineImage{ + Location: &types.Location{ + Path: "foo.png", }, }, + &types.Symbol{ + Name: "`'", + }, }, }, }, @@ -555,14 +612,17 @@ var _ = Describe("quoted strings", func() { Elements: []interface{}{ &types.Paragraph{ Elements: []interface{}{ - &types.QuotedString{ - Kind: types.SingleQuote, - Elements: []interface{}{ - &types.StringElement{Content: "a "}, - &types.Icon{ - Class: "note", - }, - }, + &types.Symbol{ + Name: "'`", + }, + &types.StringElement{ + Content: "a ", + }, + &types.Icon{ + Class: "note", + }, + &types.Symbol{ + Name: "`'", }, }, }, @@ -577,11 +637,14 @@ var _ = Describe("quoted strings", func() { Elements: []interface{}{ &types.Paragraph{ Elements: []interface{}{ - &types.QuotedString{ - Kind: types.DoubleQuote, - Elements: []interface{}{ - &types.StringElement{Content: "curly was single"}, - }, + &types.Symbol{ + Name: "\"`", + }, + &types.StringElement{ + Content: "curly was single", + }, + &types.Symbol{ + Name: "`\"", }, }, }, @@ -596,7 +659,15 @@ var _ = Describe("quoted strings", func() { Elements: []interface{}{ &types.Paragraph{ Elements: []interface{}{ - &types.StringElement{Content: "\"` curly was single `\""}, + &types.Symbol{ + Name: "\"`", + }, + &types.StringElement{ + Content: " curly was single ", + }, + &types.Symbol{ + Name: "`\"", + }, }, }, }, @@ -610,7 +681,15 @@ var _ = Describe("quoted strings", func() { Elements: []interface{}{ &types.Paragraph{ Elements: []interface{}{ - &types.StringElement{Content: "\"`curly was single `\""}, + &types.Symbol{ + Name: "\"`", + }, + &types.StringElement{ + Content: "curly was single ", + }, + &types.Symbol{ + Name: "`\"", + }, }, }, }, @@ -624,7 +703,15 @@ var _ = Describe("quoted strings", func() { Elements: []interface{}{ &types.Paragraph{ Elements: []interface{}{ - &types.StringElement{Content: "\"` curly was single`\""}, + &types.Symbol{ + Name: "\"`", + }, + &types.StringElement{ + Content: " curly was single", + }, + &types.Symbol{ + Name: "`\"", + }, }, }, }, @@ -638,19 +725,26 @@ var _ = Describe("quoted strings", func() { Elements: []interface{}{ &types.Paragraph{ Elements: []interface{}{ - &types.QuotedString{ - Kind: types.DoubleQuote, + &types.Symbol{ + Name: "\"`", + }, + &types.StringElement{ + Content: "curly ", + }, + &types.QuotedText{ + Kind: types.SingleQuoteBold, Elements: []interface{}{ - &types.StringElement{Content: "curly "}, - &types.QuotedText{ - Kind: types.SingleQuoteBold, - Elements: []interface{}{ - &types.StringElement{Content: "was"}, - }, + &types.StringElement{ + Content: "was", }, - &types.StringElement{Content: " single"}, }, }, + &types.StringElement{ + Content: " single", + }, + &types.Symbol{ + Name: "`\"", + }, }, }, }, @@ -664,19 +758,26 @@ var _ = Describe("quoted strings", func() { Elements: []interface{}{ &types.Paragraph{ Elements: []interface{}{ - &types.QuotedString{ - Kind: types.DoubleQuote, + &types.Symbol{ + Name: "\"`", + }, + &types.StringElement{ + Content: "curly ", + }, + &types.QuotedText{ + Kind: types.SingleQuoteItalic, Elements: []interface{}{ - &types.StringElement{Content: "curly "}, - &types.QuotedText{ - Kind: types.SingleQuoteItalic, - Elements: []interface{}{ - &types.StringElement{Content: "was"}, - }, + &types.StringElement{ + Content: "was", }, - &types.StringElement{Content: " single"}, }, }, + &types.StringElement{ + Content: " single", + }, + &types.Symbol{ + Name: "`\"", + }, }, }, }, @@ -690,36 +791,37 @@ var _ = Describe("quoted strings", func() { Elements: []interface{}{ &types.Paragraph{ Elements: []interface{}{ - &types.QuotedString{ - Kind: types.DoubleQuote, + &types.Symbol{ + Name: "\"`", + }, + &types.StringElement{ + Content: "curly ", + }, + &types.QuotedText{ + Kind: types.SingleQuoteMarked, + Attributes: types.Attributes{ + types.AttrRoles: types.Roles{"strikeout"}, + }, Elements: []interface{}{ &types.StringElement{ - Content: "curly ", - }, - &types.QuotedText{ - Kind: types.SingleQuoteMarked, - Attributes: types.Attributes{ - types.AttrRoles: types.Roles{"strikeout"}, - }, - Elements: []interface{}{ - &types.StringElement{ - Content: "was", - }, - }, - }, - &types.QuotedText{ - Kind: types.SingleQuoteItalic, - Elements: []interface{}{ - &types.StringElement{ - Content: "is", - }, - }, + Content: "was", }, + }, + }, + &types.QuotedText{ + Kind: types.SingleQuoteItalic, + Elements: []interface{}{ &types.StringElement{ - Content: " single", + Content: "is", }, }, }, + &types.StringElement{ + Content: " single", + }, + &types.Symbol{ + Name: "`\"", + }, }, }, }, @@ -733,19 +835,26 @@ var _ = Describe("quoted strings", func() { Elements: []interface{}{ &types.Paragraph{ Elements: []interface{}{ - &types.QuotedString{ - Kind: types.DoubleQuote, + &types.Symbol{ + Name: "\"`", + }, + &types.StringElement{ + Content: "curly ", + }, + &types.QuotedText{ + Kind: types.SingleQuoteMonospace, Elements: []interface{}{ - &types.StringElement{Content: "curly "}, - &types.QuotedText{ - Kind: types.SingleQuoteMonospace, - Elements: []interface{}{ - &types.StringElement{Content: "is"}, - }, + &types.StringElement{ + Content: "is", }, - &types.StringElement{Content: " single"}, }, }, + &types.StringElement{ + Content: " single", + }, + &types.Symbol{ + Name: "`\"", + }, }, }, }, @@ -759,17 +868,18 @@ var _ = Describe("quoted strings", func() { Elements: []interface{}{ &types.Paragraph{ Elements: []interface{}{ - &types.QuotedString{ - Kind: types.DoubleQuote, + &types.Symbol{ + Name: "\"`", + }, + &types.QuotedText{ + Kind: types.SingleQuoteMonospace, Elements: []interface{}{ - &types.QuotedText{ - Kind: types.SingleQuoteMonospace, - Elements: []interface{}{ - &types.StringElement{Content: "curly"}, - }, - }, + &types.StringElement{Content: "curly"}, }, }, + &types.Symbol{ + Name: "`\"", + }, }, }, }, @@ -783,17 +893,23 @@ var _ = Describe("quoted strings", func() { Elements: []interface{}{ &types.Paragraph{ Elements: []interface{}{ - &types.QuotedString{ - Kind: types.DoubleQuote, - Elements: []interface{}{ - &types.StringElement{Content: "double"}, - &types.QuotedString{ - Kind: types.SingleQuote, - Elements: []interface{}{ - &types.StringElement{Content: "single"}, - }, - }, - }, + &types.Symbol{ + Name: "\"`", + }, + &types.StringElement{ + Content: "double", + }, + &types.Symbol{ + Name: "'`", + }, + &types.StringElement{ + Content: "single", + }, + &types.Symbol{ + Name: "`'", + }, + &types.Symbol{ + Name: "`\"", }, }, }, @@ -811,11 +927,14 @@ var _ = Describe("quoted strings", func() { &types.QuotedText{ Kind: types.SingleQuoteMonospace, Elements: []interface{}{ - &types.QuotedString{ - Kind: types.DoubleQuote, - Elements: []interface{}{ - &types.StringElement{Content: "curly"}, - }, + &types.Symbol{ + Name: "\"`", + }, + &types.StringElement{ + Content: "curly", + }, + &types.Symbol{ + Name: "`\"", }, }, }, @@ -835,11 +954,14 @@ var _ = Describe("quoted strings", func() { &types.QuotedText{ Kind: types.SingleQuoteItalic, Elements: []interface{}{ - &types.QuotedString{ - Kind: types.DoubleQuote, - Elements: []interface{}{ - &types.StringElement{Content: "curly"}, - }, + &types.Symbol{ + Name: "\"`", + }, + &types.StringElement{ + Content: "curly", + }, + &types.Symbol{ + Name: "`\"", }, }, }, @@ -859,11 +981,14 @@ var _ = Describe("quoted strings", func() { &types.QuotedText{ Kind: types.SingleQuoteBold, Elements: []interface{}{ - &types.QuotedString{ - Kind: types.DoubleQuote, - Elements: []interface{}{ - &types.StringElement{Content: "curly"}, - }, + &types.Symbol{ + Name: "\"`", + }, + &types.StringElement{ + Content: "curly", + }, + &types.Symbol{ + Name: "`\"", }, }, }, @@ -889,13 +1014,14 @@ var _ = Describe("quoted strings", func() { }, Attributes: types.Attributes{ types.AttrInlineLinkText: []interface{}{ - &types.QuotedString{ - Kind: types.DoubleQuote, - Elements: []interface{}{ - &types.StringElement{ - Content: "example", - }, - }, + &types.Symbol{ + Name: "\"`", + }, + &types.StringElement{ + Content: "example", + }, + &types.Symbol{ + Name: "`\"", }, }, }, @@ -921,13 +1047,14 @@ var _ = Describe("quoted strings", func() { }, Attributes: types.Attributes{ types.AttrInlineLinkText: []interface{}{ - &types.QuotedString{ - Kind: types.DoubleQuote, - Elements: []interface{}{ - &types.StringElement{ - Content: "example", - }, - }, + &types.Symbol{ + Name: "\"`", + }, + &types.StringElement{ + Content: "example", + }, + &types.Symbol{ + Name: "`\"", }, }, }, @@ -953,13 +1080,14 @@ var _ = Describe("quoted strings", func() { }, Attributes: types.Attributes{ types.AttrInlineLinkText: []interface{}{ - &types.QuotedString{ - Kind: types.DoubleQuote, - Elements: []interface{}{ - &types.StringElement{ - Content: "example", - }, - }, + &types.Symbol{ + Name: "\"`", + }, + &types.StringElement{ + Content: "example", + }, + &types.Symbol{ + Name: "`\"", }, }, }, @@ -977,17 +1105,20 @@ var _ = Describe("quoted strings", func() { Elements: []interface{}{ &types.Paragraph{ Elements: []interface{}{ - &types.QuotedString{ - Kind: types.DoubleQuote, - Elements: []interface{}{ - &types.StringElement{Content: "a "}, - &types.InlineImage{ - Location: &types.Location{ - Path: "foo.png", - }, - }, + &types.Symbol{ + Name: "\"`", + }, + &types.StringElement{ + Content: "a ", + }, + &types.InlineImage{ + Location: &types.Location{ + Path: "foo.png", }, }, + &types.Symbol{ + Name: "`\"", + }, }, }, }, @@ -1001,14 +1132,17 @@ var _ = Describe("quoted strings", func() { Elements: []interface{}{ &types.Paragraph{ Elements: []interface{}{ - &types.QuotedString{ - Kind: types.DoubleQuote, - Elements: []interface{}{ - &types.StringElement{Content: "a "}, - &types.Icon{ - Class: "note", - }, - }, + &types.Symbol{ + Name: "\"`", + }, + &types.StringElement{ + Content: "a ", + }, + &types.Icon{ + Class: "note", + }, + &types.Symbol{ + Name: "`\"", }, }, }, @@ -1016,103 +1150,125 @@ var _ = Describe("quoted strings", func() { } Expect(ParseDocument(source)).To(MatchDocument(expected)) }) - }) - It("curly in title", func() { - source := "== a '`curly`' episode" - title := []interface{}{ - &types.StringElement{Content: "a "}, - &types.QuotedString{ - Kind: types.SingleQuote, - Elements: []interface{}{ - &types.StringElement{Content: "curly"}, + It("curly in title", func() { + source := "== a '`curly`' episode" + title := []interface{}{ + &types.StringElement{ + Content: "a ", }, - }, - &types.StringElement{Content: " episode"}, - } - expected := &types.Document{ - Elements: []interface{}{ - &types.Section{ - Level: 1, - Attributes: types.Attributes{ - types.AttrID: "_a_curly_episode", - }, - Title: title, + &types.Symbol{ + Name: "'`", + }, + &types.StringElement{ + Content: "curly", + }, + &types.Symbol{ + Name: "`'", + }, + &types.StringElement{ + Content: " episode", }, - }, - ElementReferences: types.ElementReferences{ - "_a_curly_episode": title, - }, - TableOfContents: &types.TableOfContents{ - MaxDepth: 2, - Sections: []*types.ToCSection{ - { - ID: "_a_curly_episode", + } + expected := &types.Document{ + Elements: []interface{}{ + &types.Section{ Level: 1, + Attributes: types.Attributes{ + types.AttrID: "_a_curly_episode", + }, + Title: title, }, }, - }, - } - Expect(ParseDocument(source)).To(MatchDocument(expected)) - }) + ElementReferences: types.ElementReferences{ + "_a_curly_episode": title, + }, + TableOfContents: &types.TableOfContents{ + MaxDepth: 2, + Sections: []*types.ToCSection{ + { + ID: "_a_curly_episode", + Level: 1, + }, + }, + }, + } + Expect(ParseDocument(source)).To(MatchDocument(expected)) + }) - It("curly in list element", func() { - source := "* a '`curly`' episode" - expected := &types.Document{ - Elements: []interface{}{ - &types.List{ - Kind: types.UnorderedListKind, - Elements: []types.ListElement{ - &types.UnorderedListElement{ - CheckStyle: types.NoCheck, - BulletStyle: types.OneAsterisk, - Elements: []interface{}{ - &types.Paragraph{ - Elements: []interface{}{ - &types.StringElement{Content: "a "}, - &types.QuotedString{ - Kind: types.SingleQuote, - Elements: []interface{}{ - &types.StringElement{Content: "curly"}, + It("curly in list element", func() { + source := "* a '`curly`' episode" + expected := &types.Document{ + Elements: []interface{}{ + &types.List{ + Kind: types.UnorderedListKind, + Elements: []types.ListElement{ + &types.UnorderedListElement{ + CheckStyle: types.NoCheck, + BulletStyle: types.OneAsterisk, + Elements: []interface{}{ + &types.Paragraph{ + Elements: []interface{}{ + &types.StringElement{ + Content: "a ", + }, + &types.Symbol{ + Name: "'`", + }, + &types.StringElement{ + Content: "curly", + }, + &types.Symbol{ + Name: "`'", + }, + &types.StringElement{ + Content: " episode", }, }, - &types.StringElement{Content: " episode"}, }, }, }, }, }, }, - }, - } - Expect(ParseDocument(source)).To(MatchDocument(expected)) - }) + } + Expect(ParseDocument(source)).To(MatchDocument(expected)) + }) - It("curly in labeled list", func() { - source := "'`term`':: something '`quoted`'" - expected := &types.Document{ - Elements: []interface{}{ - &types.List{ - Kind: types.LabeledListKind, - Elements: []types.ListElement{ - &types.LabeledListElement{ - Style: types.DoubleColons, - Term: []interface{}{ - &types.QuotedString{ - Kind: types.SingleQuote, - Elements: []interface{}{ - &types.StringElement{Content: "term"}, + It("curly in labeled list", func() { + source := "'`term`':: something '`quoted`'" + expected := &types.Document{ + Elements: []interface{}{ + &types.List{ + Kind: types.LabeledListKind, + Elements: []types.ListElement{ + &types.LabeledListElement{ + Style: types.DoubleColons, + Term: []interface{}{ + &types.Symbol{ + Name: "'`", + }, + &types.StringElement{ + Content: "term", + }, + &types.Symbol{ + Name: "`'", }, }, - }, - Elements: []interface{}{ - &types.Paragraph{ - Elements: []interface{}{ - &types.StringElement{Content: "something "}, - &types.QuotedString{ - Kind: types.SingleQuote, - Elements: []interface{}{ - &types.StringElement{Content: "quoted"}, + Elements: []interface{}{ + &types.Paragraph{ + Elements: []interface{}{ + &types.StringElement{ + Content: "something ", + }, + &types.Symbol{ + Name: "'`", + }, + &types.StringElement{ + Content: "quoted", + }, + &types.Symbol{ + Name: "`'", }, }, }, @@ -1121,76 +1277,89 @@ var _ = Describe("quoted strings", func() { }, }, }, - }, - } - Expect(ParseDocument(source)).To(MatchDocument(expected)) - }) + } + Expect(ParseDocument(source)).To(MatchDocument(expected)) + }) - It("double curly in title", func() { - source := "== a \"`curly`\" episode" - title := []interface{}{ - &types.StringElement{Content: "a "}, - &types.QuotedString{ - Kind: types.DoubleQuote, - Elements: []interface{}{ - &types.StringElement{Content: "curly"}, + It("double curly in title", func() { + source := "== a \"`curly`\" episode" + title := []interface{}{ + &types.StringElement{ + Content: "a ", }, - }, - &types.StringElement{Content: " episode"}, - } - expected := &types.Document{ - Elements: []interface{}{ - &types.Section{ - Level: 1, - Attributes: types.Attributes{ - types.AttrID: "_a_curly_episode", - }, - Title: title, + &types.Symbol{ + Name: "\"`", + }, + &types.StringElement{ + Content: "curly", }, - }, - ElementReferences: types.ElementReferences{ - "_a_curly_episode": title, - }, - TableOfContents: &types.TableOfContents{ - MaxDepth: 2, - Sections: []*types.ToCSection{ - { - ID: "_a_curly_episode", + &types.Symbol{ + Name: "`\"", + }, + &types.StringElement{ + Content: " episode", + }, + } + expected := &types.Document{ + Elements: []interface{}{ + &types.Section{ Level: 1, + Attributes: types.Attributes{ + types.AttrID: "_a_curly_episode", + }, + Title: title, }, }, - }, - } - Expect(ParseDocument(source)).To(MatchDocument(expected)) - }) + ElementReferences: types.ElementReferences{ + "_a_curly_episode": title, + }, + TableOfContents: &types.TableOfContents{ + MaxDepth: 2, + Sections: []*types.ToCSection{ + { + ID: "_a_curly_episode", + Level: 1, + }, + }, + }, + } + Expect(ParseDocument(source)).To(MatchDocument(expected)) + }) - It("double curly in labeled list", func() { - source := "\"`term`\":: something \"`quoted`\"" - expected := &types.Document{ - Elements: []interface{}{ - &types.List{ - Kind: types.LabeledListKind, - Elements: []types.ListElement{ - &types.LabeledListElement{ - Style: types.DoubleColons, - Term: []interface{}{ - &types.QuotedString{ - Kind: types.DoubleQuote, - Elements: []interface{}{ - &types.StringElement{ - Content: "term", - }, + It("double curly in labeled list", func() { + source := "\"`term`\":: something \"`quoted`\"" + expected := &types.Document{ + Elements: []interface{}{ + &types.List{ + Kind: types.LabeledListKind, + Elements: []types.ListElement{ + &types.LabeledListElement{ + Style: types.DoubleColons, + Term: []interface{}{ + &types.Symbol{ + Name: "\"`", + }, + &types.StringElement{ + Content: "term", + }, + &types.Symbol{ + Name: "`\"", }, }, - }, - Elements: []interface{}{ - &types.Paragraph{ - Elements: []interface{}{ - &types.StringElement{Content: "something "}, - &types.QuotedString{ - Kind: types.DoubleQuote, - Elements: []interface{}{ - &types.StringElement{Content: "quoted"}, + Elements: []interface{}{ + &types.Paragraph{ + Elements: []interface{}{ + &types.StringElement{ + Content: "something ", + }, + &types.Symbol{ + Name: "\"`", + }, + &types.StringElement{ + Content: "quoted", + }, + &types.Symbol{ + Name: "`\"", }, }, }, @@ -1199,41 +1368,125 @@ var _ = Describe("quoted strings", func() { }, }, }, - }, - } - Expect(ParseDocument(source)).To(MatchDocument(expected)) - }) + } + Expect(ParseDocument(source)).To(MatchDocument(expected)) + }) - It("double in list element", func() { - source := "* a \"`curly`\" episode" - expected := &types.Document{ - Elements: []interface{}{ - &types.List{ - Kind: types.UnorderedListKind, - Elements: []types.ListElement{ - &types.UnorderedListElement{ - CheckStyle: types.NoCheck, - BulletStyle: types.OneAsterisk, - Elements: []interface{}{ - &types.Paragraph{ - Elements: []interface{}{ - &types.StringElement{Content: "a "}, - &types.QuotedString{ - Kind: types.DoubleQuote, - Elements: []interface{}{ - &types.StringElement{Content: "curly"}, + It("double in list element", func() { + source := "* a \"`curly`\" episode" + expected := &types.Document{ + Elements: []interface{}{ + &types.List{ + Kind: types.UnorderedListKind, + Elements: []types.ListElement{ + &types.UnorderedListElement{ + CheckStyle: types.NoCheck, + BulletStyle: types.OneAsterisk, + Elements: []interface{}{ + &types.Paragraph{ + Elements: []interface{}{ + &types.StringElement{ + Content: "a ", + }, + &types.Symbol{ + Name: "\"`", + }, + &types.StringElement{ + Content: "curly", + }, + &types.Symbol{ + Name: "`\"", + }, + &types.StringElement{ + Content: " episode", }, }, - &types.StringElement{Content: " episode"}, }, }, }, }, }, }, - }, - } - Expect(ParseDocument(source)).To(MatchDocument(expected)) - }) + } + Expect(ParseDocument(source)).To(MatchDocument(expected)) + }) + Context("prevented substitution", func() { + + It("apostrophes and escaped quoted strings", func() { + source := "here`'s an escaped slash \\'`/\\`' and here`'s an escaped backslash \\'`\\\\`'." + expected := &types.Document{ + Elements: []interface{}{ + &types.Paragraph{ + Elements: []interface{}{ + &types.StringElement{ + Content: "here", + }, + &types.Symbol{ + Name: "`'", + }, + &types.StringElement{ + Content: "s an escaped slash '`/`' and here", + }, + &types.Symbol{ + Name: "`'", + }, + &types.StringElement{ + Content: "s an escaped backslash '`\\`'.", + }, + }, + }, + }, + } + Expect(ParseDocument(source)).To(MatchDocument(expected)) + }) + + It("unescaped single quoted string alone", func() { + source := "'`hello`'" + expected := &types.Document{ + Elements: []interface{}{ + &types.Paragraph{ + Elements: []interface{}{ + &types.Symbol{ + Name: "'`", + }, + &types.StringElement{ + Content: `hello`, + }, + &types.Symbol{ + Name: "`'", + }, + }, + }, + }, + } + Expect(ParseDocument(source)).To(MatchDocument(expected)) + }) + + It("unescaped single quoted strings in a sentence", func() { + source := "'`quoted content`' and \\'`escaped content\\`'." + expected := &types.Document{ + Elements: []interface{}{ + &types.Paragraph{ + Elements: []interface{}{ + &types.Symbol{ + Name: "'`", + }, + &types.StringElement{ + Content: "quoted content", + }, + &types.Symbol{ + Name: "`'", + }, + &types.StringElement{ + Content: " and '`escaped content`'.", + }, + }, + }, + }, + } + Expect(ParseDocument(source)).To(MatchDocument(expected)) + }) + }) + }) }) diff --git a/pkg/renderer/sgml/elements.go b/pkg/renderer/sgml/elements.go index 949b1921..9a7cb9b6 100644 --- a/pkg/renderer/sgml/elements.go +++ b/pkg/renderer/sgml/elements.go @@ -96,8 +96,6 @@ func (r *sgmlRenderer) renderElement(ctx *renderer.Context, element interface{}) return r.renderIndexTerm(ctx, e) case *types.ConcealedIndexTerm: return r.renderConcealedIndexTerm(e) - case *types.QuotedString: - return r.renderQuotedString(ctx, e) case *types.ThematicBreak: return r.renderThematicBreak() case *types.SpecialCharacter: @@ -145,10 +143,6 @@ func (r *sgmlRenderer) renderPlainText(ctx *renderer.Context, element interface{ return r.renderSymbol(e) case *types.StringElement: return e.Content, nil - case *types.QuotedString: - return r.renderQuotedString(ctx, e) - // case *types.Paragraph: - // return r.renderParagraph(ctx, element, withRenderer(r.renderPlainText)) case *types.FootnoteReference: // footnotes are rendered in HTML so they can appear as such in the table of contents return r.renderFootnoteReferencePlainText(e) diff --git a/pkg/renderer/sgml/html5/quoted_string_test.go b/pkg/renderer/sgml/html5/quoted_string_test.go index f5191921..8842f43e 100644 --- a/pkg/renderer/sgml/html5/quoted_string_test.go +++ b/pkg/renderer/sgml/html5/quoted_string_test.go @@ -37,7 +37,7 @@ var _ = Describe("quoted strings", func() { It("interior spaces with single quoted string", func() { source := "'` curly was single `' or so they say" expected := "
'` curly was single ’ or so they say
\n" + + "‘ curly was single ’ or so they say
\n" + "\"` curly was single `\"
\n" + + "“ curly was single ”
\n" + "'` curly was single ’ or so they say
\n" + + "‘ curly was single ’ or so they say
\n" + "\"` curly was single `\"
\n" + + "“ curly was single ”
\n" + "